2.4.9 Link Purpose (Link Only)
Level AAA · added in WCAG 2.0
The text of each link should tell you where it goes on its own, without reading the surrounding sentence or card. This is the stricter, level AAA version of 2.4.4.
Who it helps
Screen reader users often pull up a list of all links on a page, where each link appears without its context. People with cognitive disabilities and people using voice control also benefit from links that say exactly what they do.
How to meet it
- Write link text that names the destination, such as "Download the 2026 annual report" instead of "Download".
- If a design needs short visible text like "Read more", add visually hidden text so the full link text is specific.
- Give links to files their type and size, such as "(PDF, 2 MB)".
- Make links with the same text go to the same place, or change the text so they differ.
- Know the exception: a link may stay ambiguous when its purpose would be unclear to everyone, such as a "Mystery prize" link in a game.
- Level AAA isn't required by most laws or policies, which point to AA. It's still worth meeting, since clear links help every visitor.
Examples
<p>The 2026 annual report is now available.
<a href="/reports/2026.pdf">Download</a>
</p><article>
<h2>New pricing for teams</h2>
<a href="/blog/team-pricing/">Read more</a>
</article><p>
<a href="/reports/2026.pdf">Download the 2026 annual report (PDF, 2 MB)</a>
</p><article>
<h2>New pricing for teams</h2>
<a href="/blog/team-pricing/">
Read more<span class="visually-hidden"> about new pricing for teams</span>
</a>
</article>Can a scanner detect this?
No
axe-core has no rule for this criterion. Its link-name rule only checks that a link has some name, not that the name is specific. You need to read each link's text out of context and judge whether it makes sense.
No automated rule tests this criterion. Check it by hand.
Common mistakes
- Assuming a link passes because a nearby heading explains it; that context counts for 2.4.4, not 2.4.9.
- Using "Click here", "More" or "Learn more" as the full link text.
- Adding an aria-label that drops the visible text, which then fails 2.5.3 Label in Name.
- Linking a bare URL that tells people nothing about the page behind it.
Related criteria
Check your own page
See which automated WCAG checks your page fails, with the failing elements and how to fix them.
Reviewed November 2, 2026