Powered by
Keyboard & focus
The Page Has No Way to Skip Repeated Content
Keyboard and screen reader users must move through the whole header and menu on every page before they reach the main content.
bypassWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.
- Status
- SeriousSerious — Significant friction, or information that is lost.CurrentScanners run this rule today.
- Owner
- DesignDevTestProduct
- Audit
- Automated+ManualA scanner finds it; a person confirms the fix.
Why it matters
Most sites repeat the same logo, menu and search box on every page. A mouse user just clicks past them. A keyboard user has to press Tab through every link, every time.
A "Skip to main content" link, a main landmark or a clear heading lets people jump straight to the content. Without one, every page costs them dozens of extra key presses.
Who it affects
| Who | What they experience | Impact |
|---|---|---|
| Screen reader users | They hear the whole menu again on each page unless they can jump to a landmark or heading. | High impact |
| Keyboard-only users | They press Tab through every menu link on every page before reaching the content. | High impact |
| Motor and dexterity | Switch and mouth-stick users pay for each extra step with real effort and time. | High impact |
| Low-vision users (magnification) | Magnifier users lose their place hunting for where the content starts. | Partial impact |
| Cognitive and neurodivergent users | Long, repeated menus are tiring and make it harder to find the point of the page. | Partial impact |
| Voice control users | They can usually say a link's name directly, so they're only slightly slowed. | Partial impact |
Business & product impact
| Area | Why | Impact |
|---|---|---|
| Legal | Bypassing repeated blocks is a WCAG 2.2 Level A requirement, the minimum. Australia's Disability Discrimination Act complaints and EN 301 549 both point to it. | High impact |
| Conversion | People who must tab through 40 links on every page often give up before checkout. | Moderate impact |
| SEO | Landmarks add little or nothing to search ranking. Don't sell it as an SEO win. | Low impact |
| Brand trust | A missing skip link is one of the first things keyboard users notice. | Moderate impact |
| Cost to fix | Cheap to fix once in the shared page template, and it applies everywhere. | High impact |
Fixing it in code
Add a skip link and a main landmark
Don't
<body>
<nav>…40 links…</nav>
<div class="content">
<h1>Our services</h1>
</div>
</body>A screen reader says: “Home, link. About, link. Services, link… (and 37 more)”
Do
<body>
<a class="skip-link" href="#main">Skip to main content</a>
<nav>…40 links…</nav>
<main id="main" tabindex="-1">
<h1>Our services</h1>
</main>
</body>A screen reader says: “Skip to main content, link. Then: main, Our services, heading level 1”
The skip link jumps past the menu, and main lets screen reader users jump there too.
Show the skip link when it gets focus
Don't
.skip-link { display: none; }A screen reader says: “Nothing — the link can never be reached.”
Do
.skip-link { position: absolute; left: -999px; }
.skip-link:focus { left: 1rem; top: 1rem; }A screen reader says: “Skip to main content, link”
Hidden off-screen, it still gets focus and appears when someone tabs to it.
Designer's handoff note
Design how the skip link looks when it appears on the first Tab press. Make it clear and high contrast.
Mark the header, menu, main content and footer as regions in your designs so developers add the right landmarks.
Quick test
Tool
The keyboard alone
Checklist
- Pass
- A skip link appears first, and the next Tab lands inside the main content.
- Fail
- No skip link appears, or the next Tab goes back into the menu.
What a green scan still misses
A scanner passes the page if it finds a landmark, heading or skip link. It can't tell whether the skip link is visible on focus or actually moves focus to the content.
Reference
- Rule ID
bypass- Raised by
- axe-core: “Page must have means to bypass repeated blocks”
- WCAG
- 2.4.1 Bypass Blocks (opens in a new tab) · Level A · since WCAG 2.0
- Other standards
- EN 301 549 9.2.4.1 · RGAA 12.7.1
- Last reviewed
- 14 October 2026