Skip to main content

🎉 Lumtera Pro Introductory Offer — 50% OFF! ✨ Go Pro for half the price. Limited time! 🚀

Offer ends in 0d 00h 00m

Get Lumtera Pro

Links & buttons

In-page link goes nowhere

WCAG 2.2 success criterion 2.4.4 Link Purpose (In Context) (Level A)

WCAG 2.2
2.4.4 Link Purpose (In Context)
Level
A
Default severity
Error
Available in
Free

Updated for Lumtera 1.2.2 and Lumtera Pro 1.1.1.

Why does it matter?

A "jump to section" link — a table of contents, a "Back to top" or a "See the prices below" — only works if the section it points at has a matching anchor. When the anchor is missing, nothing happens: keyboard and screen reader users stay where they were, with no hint why. It usually breaks when a heading is reworded or a block is copied and its HTML anchor is lost.

Who it affects: Screen reader users who browse by a list of links, keyboard users, and people using voice control who say a link's words to click it.

What does Lumtera flag?

Links whose address starts with # when no element in the content has that ID (or name). Each missing anchor is reported once. Targets the theme normally provides outside the content — such as #top, #main, #content, #comments and #respond — are skipped, as are links that open menus, tabs, modals, popups or lightboxes, and links that belong to a menu, tree, tab list or other scripted widget. When a heading has text matching the anchor, a table-of-contents plugin may add the ID when the page is shown, so the item becomes a warning asking you to test the link on the live page.

Check ID link-anchor-missing — use it to filter the content report or with wp lumtera issues --rule.

How do I fix it in WordPress?

Give the section the link should jump to a matching HTML anchor: select its block (usually a heading) and fill in Advanced > HTML anchor with the text after the # in the link, spelled exactly the same. Or change the link to point at an anchor that exists.

Example

Flagged
<a href="#opening-hours">Opening hours</a>
…
<h2>Opening hours</h2>
Fixed
<a href="#opening-hours">Opening hours</a>
…
<h2 id="opening-hours">Opening hours</h2>

How do I check the fix?

  1. Update the post. The issue disappears from the Lumtera Accessibility sidebar on the next check, and from the site report on the next scan.
  2. Press Tab through the page. Every link and button should receive visible focus, and its text should make sense read on its own.

Find this issue across your whole site

Lumtera runs this check in the block editor sidebar as you write, in the Elementor panel, in Review mode on the live page, and across the whole site in the content report and with wp lumtera scan. You can change its severity or turn it off in Lumtera → Settings.

All checks

Start with the free plugin today

All 69 content checks and 33 whole-page checks, fixes you approve with undo, and the site report — free, with no account and no page limits.