A skip link must be a single, real link
Rule
bypass-block-quality· Document, language & navigation · impact moderate · Static + live
Why it matters
A skip link only helps if it is the first thing a keyboard user meets and it does exactly one thing. Duplicated skip links make the user press Tab through the same choice twice, and a skip control built from a <div> or a <button> is not announced as a link and does not move screen-reader focus the way a same-page link does.
How to fix
Ship one skip link per target as an <a href="#main">, first in the tab order, pointing at a real element on the page.
Example
<div onclick="go()">Skip to content</div>
<a href="#main">Skip to content</a>
Example
<a href="#main">Skip to content</a><a href="#main">Skip to content</a>
<a href="#main">Skip to content</a>
WCAG success criteria
2.4.1 Bypass Blocks — Level A
Provide a way (skip link, landmarks, headings) to bypass repeated blocks like navigation.
Standards
This rule contributes to the following standards:
WCAG A EN 301 549
| Standard | Criteria |
|---|---|
| EN 301 549 | 9.2.4.1 |