Skip to content

Keyboard & focus

The Skip Link Points to Something That Isn't There

Keyboard users press "Skip to main content", but nothing happens, so they must tab through the whole menu on every page.

skip-linkBest practiceBest practice — not a WCAG requirement, but it helps people all the same.

Status
ModerateModerate — An annoyance, with a workaround.CurrentScanners run this rule today.
Owner
DesignDevTest
Audit
Automated+ManualA scanner finds it; a person confirms the fix.
Save as PDF (opens in a new tab)

Why it matters

A skip link is usually the first link on a page. It lets people jump past the header and menu, straight to the content.

If its target is missing or misnamed, the link does nothing. People who use a keyboard or switch must press Tab dozens of times on every page.

Who it affects

Who it affects, and how much
WhoWhat they experienceImpact
Keyboard-only usersThey press the skip link and land back in the menu, with dozens of Tab presses still ahead.High impact
Motor and dexteritySwitch users pay for every extra step, so a dead skip link costs real time and effort.High impact
Screen reader usersThey hear "Skip to main content, link", but it goes nowhere; most can still jump by headings instead.Partial impact
Low-vision users (magnification)Magnifier users who tab around lose their place when the skip link fails to move them.Partial impact
Cognitive and neurodivergent usersA link that does nothing is confusing and makes people doubt the rest of the site.Partial impact
Voice control usersSaying "click Skip to main content" does nothing useful, so they must scroll or name other links.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalThis rule is a best practice, not a WCAG failure on its own. But WCAG 2.2 AA asks for a way to skip repeated content, and a broken skip link doesn't give one.Moderate impact
ConversionLong menus on every page slow keyboard users down, and some give up before checkout.Moderate impact
SEOSearch engines don't care about skip links — no real benefit.Low impact
Brand trustA broken skip link is often the first thing keyboard users try, so it sets the tone.Moderate impact
Cost to fixUsually a one-line fix in the shared page template.High impact

Fixing it in code

Link and target names don't match

Don't

<a href="#main" class="skip-link">Skip to main content</a>
…
<main id="content">

A screen reader says: “Skip to main content, link — then the next Tab goes to the first menu link”

Do

<a href="#main" class="skip-link">Skip to main content</a>
…
<main id="main" tabindex="-1">

A screen reader says: “Skip to main content, link — then focus moves to the main content”

The href must match an id that exists on the page.

Target hidden from the page

Don't

<a href="#main">Skip to main content</a>
…
<main id="main" hidden>

A screen reader says: “Skip to main content, link — and nothing moves”

Do

<a href="#main">Skip to main content</a>
…
<main id="main" tabindex="-1">

A screen reader says: “Skip to main content, link — then focus lands in the main content”

A hidden target can't receive focus, so the link has nowhere to go.

Designer's handoff note

Show the skip link when it gets keyboard focus. Keep it hidden until then if you like.

Design how it looks on focus: clear text, strong contrast, top left of the page.

Quick test

Tool

The keyboard alone

Checklist

Pass
Focus lands on the first link or control inside the main content.
Fail
Focus goes to the first menu link, or nothing seems to happen.

What a green scan still misses

A scanner checks that the target exists. It can't tell whether the skip link is visible on focus, comes first, or lands somewhere sensible.

Reference

Rule ID
skip-link
Raised by
  • axe-core: “The skip-link target should exist and be focusable”
WCAG
Best practice — not a WCAG requirement
Other standards
RGAA 12.7.1
Last reviewed
14 October 2026