What does this mean?

Webpages should provide a way to skip to the main content of the page. There are several ways to accomplish this.

The most common solution is a "Skip to content" link:

<a href="#main">Skip to main content</a>
...
<div id="main">
<h1>Welcome to this page</h1>

This link is usually hidden from users unless selected, so it doesn't need to compromise the look of your page.

Alternatively, you can use the <main> HTML landmark:

<main>
<h1>Welcome to this page</h1>

or an ARIA role of main:

<div role="main">
<h1>Welcome to this page</h1>

Generally best practice is to combine these approaches, using <main> landmark with a link pointing to it:

<a href="#main">Skip to main content</a>
...
<main id="main">
<h1>Welcome to this page</h1>

This approach will be most widely supported by screen readers and understood by the highest number of users.

Justification

Many users of assistive technology are only able to experience content sequentially - that is, they must step through each part of the page, one part at a time. Often this is a slow process, potentially hampered by a physical impediment.

Most web pages have a header containing branding and navigation on every page. Stepping through this repetitive part of the page can be hugely frustrating for users of assistive technology. For example, a blind user may have to listen to hundreds of navigation links before they can reach the content on a page.

Adding a means to skip directly to the page content massively enhances the experience for these users.

Skip to content links do not need to be visible to everyone. A common implementation means they are only experienced by users via the tab key or other assistive technology (see skipping to navigation links from WebAIM).

Methodology

It is not sufficient to include a "skip to content" link. The link must work, and it must appear early enough in the page to be useful.

  • If the page has less than 500 visible characters, it does not require a "skip to content" link.
  • If the page has a main landmark (e.g. <main> or role="main") it does not require a "skip to content" link.
  • Silktide looks for a link with a fragment (e.g. #main) pointing to a lower part of the page. The link must not be adjacent to other text nodes.
  • The fragment must point to an ID that exists, or this check will raise an error.
  • The link must appear before 500 visible characters of text in the page, or this check will raise an error.

The text inside the link is not considered, as this test must support a wide range of languages.

Learn more

More about skipping to navigation links from WebAIM and see W3C's recommended technique.



0.8% done

How close this website is to fixing this issue.

More results from Buckinghamshire Healthcare NHS Trust