Missing skip link
The issue
The skip link is an essential navigation mechanism for keyboard users. WCAG success criterion 2.4.1 requires a mechanism to bypass blocks of content that are repeated on multiple pages, such as navigation menus. Without this link, the user must traverse all navigation elements with Tab on every page change — which can represent dozens or even hundreds of Tab presses before reaching the content. Imagine a site with a header containing a logo, a main menu with 8 entries each with a 5-link submenu, plus login links and a language selector. That represents over 50 focusable elements before the main content. For a keyboard user, traversing those 50 elements on every page is a considerable waste of time. The skip link solves this problem with a single Tab press. The skip link is typically the very first focusable element on the page. It is visually hidden by default and appears when it receives keyboard focus (CSS sr-only + focus:not-sr-only technique). When clicked or activated by keyboard, it moves focus to the main content area identified by its id (usually #main-content or #content). The skip link must actually work. A link pointing to a nonexistent id or that does not move focus serves no purpose. It is important to test the actual functioning of the link with the keyboard.
Does your site have this issue?
106 RGAA criteria analyzed in 5 minutes by our AI.
Impact on users
For a keyboard user, the absence of a skip link turns every page visit into an obstacle course. On a site with 50 navigation elements, visiting 10 pages means 500 extra Tab presses just to traverse the navigation. This is a waste of time and energy that makes browsing tedious and tiring. People with motor disabilities who use a switch or breath control system are most impacted: each Tab press requires real physical effort. Multiplying this effort by the number of navigation links on every page can make a site effectively unusable. Screen reader users are also affected: they must listen to every navigation link announcement before reaching the content, considerably lengthening consultation time. Some screen readers offer shortcuts to jump to ARIA landmarks, but the skip link remains necessary because not all users use these advanced shortcuts.
Code example
<body>
<header>
<nav>
<a href="/">Home</a>
<a href="/products">Products</a>
<a href="/services">Services</a>
<a href="/about">About</a>
<a href="/contact">Contact</a>
</nav>
</header>
<main>
<h1>Welcome</h1>
<!-- Main content -->
</main>
</body><body>
<!-- Skip link: first focusable element -->
<a href="#main-content" class="sr-only focus:not-sr-only
focus:absolute focus:top-2 focus:left-2 focus:z-50
focus:px-4 focus:py-2 focus:bg-primary focus:text-white
focus:rounded-lg">
Skip to main content
</a>
<header>
<nav aria-label="Main navigation">
<a href="/">Home</a>
<a href="/products">Products</a>
<a href="/services">Services</a>
<a href="/about">About</a>
<a href="/contact">Contact</a>
</nav>
</header>
<main id="main-content">
<h1>Welcome</h1>
<!-- Main content -->
</main>
</body>Frequently Asked Questions
Must the skip link be permanently visible?
Which element should the skip link point to?
Is a skip link needed on every page?
Can I have multiple skip links?
Does your site have this issue?
Scrutia audits your site against WCAG 2.1 AA criteria in 5 minutes. Keyboard navigation, ARIA components, visible focus, contrasts, and much more.
Run a free audit