Write link text that says where the link goes
Write the link so its own words say where it goes. W3C lists H30 as sufficient for 2.4.4 Link Purpose (In Context), and the words in brackets settle most of the arguments people have about this. 2.4.4 lets the surrounding context finish the job, so read more sitting inside a paragraph that names the destination can pass, while the same two words alone in a list of links cannot. The stricter rule, where the link text has to work stripped of everything around it, is 2.4.9 Link Purpose (Link Only) at Level AAA, and W3C lists H30 as sufficient for that one too. A link that reads well on its own clears both. One that leans on its paragraph clears only the first. We write for the stricter version, because a links list is how these are actually read, and you should still know which rule you are being held to. Two smaller parts of the technique are easy to miss. Where an image is the whole of the link, the image's alt text becomes the link text and has to name the destination rather than describe the picture. And a bare URL used as link text is not descriptive, which is W3C's own position rather than a style preference.
How we find it in an audit
We pull the full link list off every audited page, which is the exact view a screen reader user navigates by, and read it cold with nothing around it. Every here, every read more, and every unnamed icon link comes out of that list. Then a person goes back to the page and decides whether the surrounding sentence rescues it, since that is the difference between a finding and a note. Each finding names the template that generated the link, because one component usually produced 40 of them.
How affected users experience it
Screen reader users routinely pull up every link on a page as a list and choose from that, which strips each link down to its own words. A good list reads like a site map. A bad one reads here, here, learn more, more. Every entry is a door with no sign, so the only way to find out where one goes is to walk through it and come back. The same list is what voice control users speak from, so a link with no words of its own leaves them nothing to say.
Passes vs. fails
Passes
<p>See <a href="/pricing">our audit pricing</a>.</p>
<a href="/annual-report.pdf">Download the 2025 annual report (PDF)</a>Fails
<p>Our pricing is on the pricing page. <a href="/pricing">Click here</a>.</p>
<a href="/annual-report.pdf">https://example.com/2025/annual-report.pdf</a>How this gets tested
The W3C publishes test rules that define what a checker looks for here.
- Element marked as decorative is not exposedA tool can check this
- Image accessible name is descriptiveA tool finds candidates, you decide
- Image button has non-empty accessible nameA tool can check this
- Image has non-empty accessible nameA tool can check this
- Link has non-empty accessible nameA tool can check this
- Object element rendering non-text content has non-empty accessible nameA tool can check this
- SVG element with explicit role has non-empty accessible nameA tool can check this
- Image not in the accessibility tree is decorativeA tool can check this
- Link in context is descriptiveA tool can check this
- Links with identical accessible names and same context serve equivalent purposeA tool finds candidates, you decide
- Link is descriptiveA tool can check this
- Links with identical accessible names have equivalent purposeA tool can check this
Other ways to satisfy this rule
39 guides on this site are filed under 1.1.1 Non-text Content. W3C lists this one as sufficient for that rule on its own. Implement it correctly, in a way your readers' software actually supports, and the rule is met.
- ARIA6sufficientName icon-only controls with aria-label
- ARIA9sufficientAssemble one label from several text pieces
- ARIA10sufficientName images and charts with aria-labelledby
- ARIA15sufficientLink complex images to longer descriptions
- C9sufficientPut decorative images in CSS backgrounds
- G68sufficientDescribe the purpose of live-only streams
This guide is our interpretation of W3C technique H30: Providing link text that describes the purpose of a link for anchor elements. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.