WCAG 2.4.4 requires that the purpose of every link can be worked out from its link text alone, or from that text together with its sentence, paragraph, list item, table cell or the heading just before it. It is Level A, and vague links like Read more and Here are the usual failures.
This guide explains which context counts, who benefits, code that fails and passes, a ranked list of failures, a link review routine and how the rule compares with its AAA sibling. For the wider testing picture, see accessibility testing.
Quick facts
Level
AAdded in
WCAG 2.0Principle
Operable, guideline 2.4 NavigableContext allowed
Sentence, paragraph, list item, table cell, preceding headingAAA version
2.4.9 Link purpose (link only)Fast test
Read the screen reader links list with no context
Twelve links all called Read more
Screen reader users often skim a page by pulling up a list of its links, the way a sighted person scans for underlined words. On a blog index that list can read: Read more, Read more, Read more, nine more times. Each one goes to a different article, and nothing in the list says which. The user has to leave the list, hunt down each link inside the page and hear the words around it. Multiply that by every page on the site and the cost is huge.
What WCAG 2.4.4 counts as context
The rule is lenient. A link passes if its own words explain where it goes, or if those words plus its programmatically determined context do, which means context that assistive technology can reach from the link. Allowed context includes:
| Context | Example |
|---|---|
| The same sentence | Our refund policy explains the 30 day limit. |
| The same paragraph | A short paragraph about the event, ending in a Register link |
| The same list item | Annual report, PDF, Download |
| The same table cell, or its header cells | A Download link in the row headed Annual report |
| The heading just before the link | A card heading followed by a Read more link |
The exception is a link whose purpose would be unclear to everyone, such as a mystery link in a game. That is rare on business sites.
Passing on context is allowed, but it is the minimum. Descriptive link text helps far more people and also meets the stricter AAA rule.
Who benefits from clear link text
- Screen reader users who navigate by a list of links, or Tab from link to link, hear the text without its surroundings.
- Voice control users say the link text to activate it; "click Read more" matches a dozen targets.
- People with cognitive disabilities decide faster when the link names its destination.
- People using high zoom view only a slice of the page and may miss the sentence around a link.
- Everyone scanning a page, including search engines, gets a better summary of where links lead.
Read more links: failing and passing code
Fails when the cards have no heading or context tying each link to its article: every link says the same thing.
<div class="card">
<p>New rules for public sector apps.</p>
<a href="/news/apps/">Read more</a>
</div>Passes and helps more: hidden text completes the link for assistive technology while the visible words stay short.
<div class="card">
<h3>New rules for public sector apps</h3>
<a href="/news/apps/">Read more
<span class="visually-hidden">about new rules for apps</span></a>
</div>The heading alone would let the first version pass 2.4.4 if it came right before the link. The hidden text makes the link clear even out of context. If you use aria-label instead, put the visible words first, "Read more about new rules for apps", so voice users can still say what they see; that requirement comes from label in name.
Link purpose wcag failures, ranked by how often we log them
| Failure | Why it fails | Fix |
|---|---|---|
| Here, More, Details, Read more with no context | Destination unknown out of context | Rewrite the link text, or add hidden text |
| Linked logo or image with empty or missing alt | Link has no name at all | Write alt that names where it leads ("Home page") |
| Icon link, such as a social or download icon, with no name | Announced as "link" only | Add an accessible name that says where it goes |
| Raw URL as the link text | Long and hard to listen to | Use the page title as the link text |
| Same text, different destinations | Users cannot tell them apart | Make the text unique or give each a distinct context |
| Link opens a PDF or new window with no warning | Purpose incomplete | Add the file type or new window note in the link text |
Checking links against wcag 2.4.4
A checker can flag empty links and common vague phrases, but it cannot judge context. Do this pass by hand on each template.
- Pull up every link. Open the links list of a screen reader, or use a browser extension that lists all links with their text.
- Read each link cold. Go down the list and mark every link whose text alone does not say where it goes, such as More, Here, Details or a bare URL.
- Check the surrounding context. For each marked link, see whether the same sentence, paragraph, list item, table cell or the heading just before it explains the destination.
- Check image and icon links. Confirm that linked images and icons have alt text or a name describing the destination, not the picture.
- Compare duplicates. Where two links share the same text, confirm they go to the same place, or that their context tells them apart.
The fastest win on most sites is the blog or news listing template. Fix its Read more links once and hundreds of pages improve.
From context to link only: 2.4.4, 2.4.9 and others
2.4.9 (AAA) drops the context allowance: the link text alone must say where the link goes. Teams that write descriptive links from the start meet both.
1.1.1 applies when an image is used as a link, since its alt text becomes the link text; see non-text content.
2.5.3 matters whenever you add an aria-label to a link, because the label must include the visible words.
3.2.4 Consistent identification asks that links with the same function across pages share the same name.
For the official reasoning and techniques, read Understanding Link Purpose (In Context). If you write link text for social posts or emails, the same thinking applies; our accessible design guide has more on writing for the web.
Questions people ask
What does 2.4.4 wcag mean by link purpose?
Link purpose is where the link goes or what it does. Under 2.4.4, people must be able to tell that from the link text, or from the link text plus its surrounding sentence, paragraph, list item, table cell or preceding heading. It is Level A.
Are Read more links a link purpose wcag failure?
Not always. They pass 2.4.4 if the surrounding context, such as the card heading right before them, makes the destination clear. They fail when that context is missing, and the AAA rule 2.4.9 never accepts them.
Can I use aria-label to fix vague links?
Yes, but include the visible words at the start of the label, so the link still matches what voice control users see. Visually hidden text inside the link is often simpler and translates better.
Does a link to a PDF need to say PDF?
It is good practice and many auditors expect it, because opening a file is a different purpose from opening a page. Add the format and, if it is large, the size to the link text.
What is the difference between 2.4.4 and 2.4.9?
2.4.4 (Level A) lets the context explain the link. 2.4.9 (Level AAA) requires the link text alone to be enough. Descriptive link text meets both.
Is the word here always a failure?
Not if the sentence around it makes the destination clear, but it is weak practice. Rewrite the sentence so the meaningful words become the link.