Skip to content

Accessibility

How to add a skip to content link

Anyone navigating by keyboard or screen reader has to tab through every navigation link on every page before reaching the content. A skip link is one anchor as the first focusable element, and it is the cheapest fix in this group. It is also WCAG 2.4.1, a Level A criterion. One pointing at an id that does not exist is worse than none.

What 13x checks

This is rule accessibility.skip-link in the public registry: A skip link bypasses the navigation. It runs on every audit, against the pages we actually fetched, and its result is derived from the response rather than estimated.

Surface
Accessibility
Score weight
4 of the readiness score
Scope
Reported as skipped when the page renders only with JavaScript
Applies
Only where the market or the page shape makes it relevant

Registry version 2026-07-30. Every rule is published, and the audit is deterministic — the same page produces the same finding every time.

The fix

The same text the audit hands you when this check fails on your own site.

Add a skip link as the first focusable element on the page.

html code
<body>
  <a class="skip-link" href="#main">Skip to content</a>
  <header><!-- navigation --></header>
  <main id="main" tabindex="-1">
    <!-- content -->
  </main>
</body>
css code
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  padding: 0.75rem 1rem;
  background: #fff;
  color: #000;
  z-index: 999;
}

/* Visible only while focused — this is the whole mechanism. */
.skip-link:focus {
  left: 0;
}

Three details that decide whether it actually works:

- Never hide it with `display: none` or `visibility: hidden`. Both remove it from the focus order, so it can never be reached. Move it off-screen instead, as above. - `tabindex="-1"` on the target. Without it, several browsers move the visual viewport but leave keyboard focus where it was, so the next Tab returns to the navigation. - It must be first. A skip link after the navigation skips nothing.

Test it by loading the page and pressing Tab once. It should appear.

Does your site have this problem?

13x checks this and 112 others against your live URL in about 30 seconds. No account, and every finding comes with the fix for your framework.

No signup. Results in 30 seconds.

More accessibility checks