In one paragraph
Skip to content link missing means this heuristic did not recognise the first source fragment link as the kind of bypass it expects. A warning can miss a valid mechanism, while a pass can accept a broken one. Provide a useful keyboard route past repeated material, test the real target and focus behaviour, and assess the broader bypass requirement separately from the scanner's wording match.
Why it matters
A skip link can save many repeated keyboard stops before the main task. It is particularly useful when a header or menu precedes each related page. Landmark and heading navigation also help, but different users and user agents have different mechanisms available.
WCAG 2.4.1 does not require one exact English label or class name. The intended result is an effective supported bypass mechanism. A localised link can be entirely useful even if an English keyword detector fails to recognise it.
Conversely, a first Jump to recipe link or a class containing skip does not prove every repeated block is appropriately bypassed. The destination, supported behaviour, context, and actual task still matter.
How WebAuditOS evaluates this finding
The supplied custom check reads served HTML and examines the first anchor whose href starts with a hash. If its text or class includes skip or jump case-insensitively, it passes; otherwise it warns informationally. Unparseable responses are not graded.
It can miss later, absolute, or runtime-created skip links and non-English wording without a matching class. It does not verify destination existence, focus movement, placement, or visibility. These are recognition limits rather than the complete accessibility requirement.
How to fix it
- Review the repeated content and intended landing point on each template. Choose a meaningful start of the main task rather than an arbitrary empty anchor above another long block.
- Add the link early in keyboard navigation with a matching unique target. For example:
<a class="skip-link" href="#main-content">Skip to main content</a>
<main id="main-content" tabindex="-1"><h1>Delivery information</h1></main>
The destination must contain the real content. Negative tabindex on this target is for programmatic or fragment focus handling, not a request for another ordinary tab stop.
- Keep the link visible or reveal it clearly when focused. Do not hide it with display:none or leave it behind a fixed banner. An always-visible link can be simpler and fully appropriate.
- Test activation with a keyboard in supported browsers. Confirm focus or the subsequent navigation position reaches the intended content rather than merely scrolling the page while Tab resumes in the old menu.
- Preserve visible focus at the link and destination as appropriate. Account for sticky headers and zoom so the landing section or first required control is not concealed.
- Localise human wording accurately. A stable useful class can help a narrow detector, but it is not a substitute for understandable text or real behaviour. Do not rewrite a valid local-language label into English just to pass.
- Review initial source order and scripts intercepting fragments. An earlier menu toggle with href=# can affect the scanner result and can also deserve its own semantic repair to a real button.
- Rescan and maintain manual tests through responsive navigation, overlays, route changes, and different main-content templates. A heuristic pass should confirm recognition, not close all bypass review.
What the fix can break
An incorrect or duplicate target can direct people to the wrong area. Keep shared template and destination IDs coordinated.
Client-side routing can replace or intercept fragment navigation. Test direct loading and in-app transitions rather than only a static sample.
Do not hide a useful link visually until it is impossible to locate at focus. A polished appearance is not a reason to remove the actual bypass route.
Questions
Does missing this detector mean no valid bypass exists?
No. It inspects a narrow first-link pattern, not every supported mechanism.
Must the link say Skip in English?
No. Use the page's language. The detector's keyword limits are not a WCAG language requirement.
Does a matching class prove the link works?
No. Verify its target and actual keyboard continuation.
Which related checks help?
Review bypass mechanisms, heading structure, and the automation limits guide.