What 2.4.1 requires
A mechanism must be available to bypass blocks of content that are repeated on multiple pages. W3C's sufficient techniques include a skip link at the top of the page, ARIA landmarks (or the HTML elements that create them, like <main> and <nav>), and headings at the start of each section. This is a plain-language summary. The normative text, including every exception, is in the W3C Recommendation, with the W3C's explanation in Understanding 2.4.1 (opens in a new tab) [1][2].
Exceptions and scope:
- Applies to blocks repeated across pages, typically headers, navigation, filters and sidebars. A one-off page with no repeated content has nothing to bypass.
- Any sufficient mechanism counts. W3C lists skip links, landmarks and headings among the techniques. Many teams provide both a skip link (for sighted keyboard users) and landmarks (for screen-reader users).
Why it matters
A keyboard user who has to Tab through 40 navigation links on every page before reaching the content is doing that work on every visit. Screen-reader users can jump by landmark or heading if those exist. Sighted keyboard users usually can't, which is why a visible skip link matters. WebAIM's 2026 analysis found a skip link on 17.1% of home pages, and about one in ten of those were broken: hidden in a way that made them inaccessible, or pointing to a target that wasn't on the page [4].
Common failures
No skip link and no landmarks
<!-- Fails -->
<div class="header">…</div><div class="content">…</div>
<!-- Better -->
<a class="skip" href="#main">Skip to main content</a>
<header>…</header>
<main id="main" tabindex="-1">…</main>Skip link whose target doesn't exist
The link points to an id that was renamed.
<!-- Fails -->
<a href="#content">Skip to content</a> … <main id="main">
<!-- Better -->
<a href="#main">Skip to content</a> … <main id="main" tabindex="-1">Skip link hidden from everyone
It's hidden with display: none, so keyboard users can't reach it either.
/* Fails */
.skip { display: none; }
/* Better */
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: 1rem; }Long filter sidebar before results
Every search result page repeats 30 filter controls before the products.
<!-- Fails -->
<aside>…30 filters…</aside><section>…results…</section>
<!-- Better -->
<a href="#results">Skip to results</a> <aside aria-label="Filters">…</aside> <section id="results" aria-label="Results">…</section>Can automated testing check 2.4.1?
Partly. axe-core can check that some bypass mechanism exists. It can't tell whether it works or bypasses the right thing.
| axe-core 4.13.0 rule | What it checks |
|---|---|
bypass | the page has at least one mechanism to bypass navigation and jump to the content (often reported as needs review) |
What automation can't decide: Whether the skip link is reachable and visible on focus, whether it lands in the right place, whether repeated blocks other than the main navigation can be skipped, and whether landmarks are used meaningfully. The related skip-link, region and landmark-one-main rules are axe-core best practices, not mapped to 2.4.1.
A clean automated result is never proof that 2.4.1 is met. See why sites pass axe-core but fail real screen reader users.
How to test it by hand
- Load the page and press Tab once. Does a skip link appear, and is it visible?
- Activate it. Does focus (not just the scroll position) move to the start of the main content, so the next Tab continues from there?
- With a screen reader, list the landmarks and headings. Is there a
mainlandmark, and can you jump past the navigation? - Check pages with long repeated blocks (filters, mega-menus, sidebars) and test whether those can be skipped too.
New to screen readers? Start with how to test a website with a screen reader and how to test keyboard-only navigation.
How Accessible helps (and where it stops)
Scanning runs the bypass rule, plus the related landmark best-practice rules, on every URL on a paid plan. Journeys move by heading, landmark, role and tab order, the way a screen-reader user would, so missing structure makes the path to the task longer and shows up in the step-by-step record (journey testing). The assistant tools' keyboard walkthrough lists every Tab stop from the top of the page, so you can see how many stops come before the content.
Where it stops: Whether a skip link works and is visible to sighted keyboard users needs a quick manual check on each template. No automated tool, ours included, can certify that a criterion is met.
Related criteria
Sources
- Understanding Success Criterion 2.4.1: Bypass Blocks (opens in a new tab). W3C Web Accessibility Initiative. Accessed October 18, 2026.
- Web Content Accessibility Guidelines (WCAG) 2.2, Success Criterion 2.4.1 (opens in a new tab). W3C Recommendation. Accessed October 18, 2026.
- axe-core rule descriptions (opens in a new tab). Deque Systems, axe-core 4.13.0. Accessed October 18, 2026.
- The WebAIM Million: The 2026 report on the accessibility of the top 1,000,000 home pages (opens in a new tab). WebAIM, 2026. WAVE-detected errors on home pages only. Accessed October 18, 2026.
Meeting a success criterion is not the same as legal compliance, which depends on the rules that apply to you. No automated tool can certify conformance.