Accessibility Wiki

Link text alone should describe the link’s purpose

Rule link-purpose-link-only · Deeper checks · impact minor · Static + live

↩ Back to the rules index · WCAG cross-reference

Why it matters

At Level AAA the purpose of every link must be identifiable from its link text ALONE. This is the key difference from Level A (2.4.4, covered by the name-quality rules): there, a generic link like "Read more" passes when the enclosing sentence or paragraph disambiguates it — here it warns even with perfectly clear surrounding context, because screen-reader users navigating a list of the page’s links hear only the link text, stripped of that context. Hidden links, non-link roles, and symbol-only names (covered by name-quality checks) are skipped.

How to fix

Rewrite the link text to name its destination or action ("Read more about the 2026 pricing changes", "Download the annual report (PDF)"). aria-label can extend the visible text, but keep the visible words inside it (2.5.3 Label in Name).

Example

✕ Fails
<p>Our pricing changed on 1 May. <a href="/pricing">Read more</a></p>
✓ Passes
<p>Our pricing changed on 1 May. <a href="/pricing">Read more about the 2026 pricing changes</a></p>

At Level A the sentence context makes the bad example pass; at AAA the link text alone must carry the purpose.

Example

✕ Fails
<p><a href="/annual-report.pdf">Click here</a> to download the annual report.</p>
✓ Passes
<p><a href="/annual-report.pdf">Download the 2025 annual report (PDF)</a></p>

WCAG success criteria

The purpose of each link must be identifiable from its link text alone — unlike Level A (2.4.4), surrounding sentence or paragraph context may not be relied on to disambiguate it.

Understanding 2.4.9

Standards

This rule contributes to the following standards:

WCAG AAA

References