Free community resource
WCAG 2.4.1

Skip Links

WCAG criteria

A skip link is an anchor link placed as the very first focusable element on a
page that allows keyboard and screen reader users to bypass repeated navigation
and jump directly to the main content. Without a skip link, keyboard users must
Tab through every navigation item on every page load.
[1]


Why it matters

Consider a site with a navigation menu containing 30 links. Without a skip link,
a keyboard user must press Tab 30 times before reaching any page content. This
is not hypothetical — it is the daily experience of many keyboard and screen
reader users on sites that omit this simple feature.
[2]


Implementation

A skip link is an anchor that points to the id of the main content element:

In the HTML, as the very first element inside body:

  • a href="#main-content" class="skip-link" — Skip to main content — /a
  • Then later: main id="main-content" tabindex="-1"

The tabindex="-1" on main is required so that browsers move focus to the
element when the skip link is activated, not just scroll to it.
[1]


Visually hidden until focused

Skip links are typically hidden off-screen and revealed only when they receive
keyboard focus. This keeps the design clean while remaining fully functional:

  • Position off-screen by default using a visually-hidden CSS class
  • On :focus, bring the link back into view with position: static or absolute

The link must become visible on focus — a skip link that is permanently hidden
(display: none or visibility: hidden) is inaccessible to sighted keyboard users.
[3]


Common failures

Skip link exists but does not move focus. The href target must exist in the
DOM and the target element must accept focus. Add tabindex="-1" to main if
it does not naturally receive focus.

Skip link is permanently invisible. Using display: none removes the link
from the accessibility tree entirely. Use off-screen CSS positioning instead.

Skip link is not the first focusable element. If any other element receives
focus before the skip link, it defeats the purpose. Verify by pressing Tab
immediately on page load — the skip link should be the first thing focused.


Multiple skip links

On complex pages, multiple skip links may be appropriate:

  • Skip to main content
  • Skip to search
  • Skip to navigation

If multiple skip links are used, group them and ensure each points to a
correctly labelled landmark region.


References

  1. W3C Web Accessibility Initiative. Understanding Success Criterion 2.4.1: Bypass Blocks. https://www.w3.org/WAI/WCAG22/Understanding/bypass-blocks.html
  2. WebAIM. Skip Navigation Links. https://webaim.org/techniques/skipnav/
  3. W3C. Technique G1: Adding a link at the top of each page that goes directly to the main content area. https://www.w3.org/WAI/WCAG22/Techniques/general/G1

Last edited Apr 5, 2026, 7:16 PM · P**** J****