Skip to main content

2.4.4 Link Purpose (In Context): what it requires and how to test it

People should be able to tell where a link goes from its text, or from the text programmatically around it.

Level A · Added in WCAG 2.0 · Last reviewed October 18, 2026

What 2.4.4 requires

The purpose of each link must be determinable from the link text alone, or from the link text together with its programmatically determined context: the sentence, paragraph, list item or table cell it's in, or the heading for that section. This is a plain-language summary. The normative text, including every exception, is in the W3C Recommendation, with the W3C's explanation in Understanding 2.4.4 (opens in a new tab) [1][2].

Exceptions and scope:

  • Where the link's purpose would be ambiguous to users in general (for example, a link whose destination isn't known to anyone until they follow it).

Why it matters

Screen-reader users often pull up a list of all links on a page, where "Read more", "Click here" and "Learn more" appear ten times with nothing to tell them apart. And a link with no text at all (an icon or image with no name) is announced as just "link". Empty links were detected on 46.3% of the top million home pages in WebAIM's 2026 analysis [4].

Common failures

An icon or image link with no accessible name.

<!-- Fails -->
<a href="/cart"><i class="icon-cart"></i></a>

<!-- Better -->
<a href="/cart"><i class="icon-cart" aria-hidden="true"></i><span class="sr-only">Cart</span></a>

Repeated generic text with no context

Several "Read more" links in cards whose context isn't programmatically tied to the link.

<!-- Fails -->
<a href="/p/1">Read more</a>

<!-- Better -->
<a href="/p/1">Read more<span class="sr-only"> about wool coat care</span></a>

The alt says what's in the image, not where the link goes.

<!-- Fails -->
<a href="/"><img alt="blue bird logo"></a>

<!-- Better -->
<a href="/"><img alt="Acme home"></a>

Can automated testing check 2.4.4?

Partly. Automation finds links with no name at all. It can't judge whether a name is clear.

axe-core 4.13.0 ruleWhat it checks
link-namelinks have discernible text
area-altimage-map <area> elements have alternative text

What automation can't decide: Whether "Read more" is clear in its context, whether two links with the same text go to different places (axe-core's identical-links-same-purpose rule maps to AAA 2.4.9, not 2.4.4), and whether an image link's alt describes its destination.

A clean automated result is never proof that 2.4.4 is met. See why sites pass axe-core but fail real screen reader users.

How to test it by hand

  1. With a screen reader, open the links list (for example NVDA+F7, or the VoiceOver rotor) and read it on its own.
  2. For each ambiguous link, check whether its sentence, list item, table cell or heading makes the purpose clear when you navigate to it.
  3. Check icon and image links: what's announced? The destination or action, or nothing?
  4. Check links that open new windows or download files and say so in the link text or an accessible hint.

New to screen readers? Start with how to test a website with a screen reader and how to test keyboard-only navigation.

How Accessible helps (and where it stops)

Scanning runs link-name and area-alt on every URL on a paid plan, so empty links are found sitewide. The assistant tools screen reader transcript lists every link's accessible name in reading order, which makes a quick human review of ambiguous names much faster. In journeys, a link the task depends on that announces nothing is reported at the step where it blocked progress.

Where it stops: Deciding whether a link name is clear enough in context is a human call. Accessible shows you what's announced, not whether it's well written. No automated tool, ours included, can certify that a criterion is met.

Sources

  1. Understanding Success Criterion 2.4.4: Link Purpose (In Context) (opens in a new tab). W3C Web Accessibility Initiative. Accessed October 18, 2026.
  2. Web Content Accessibility Guidelines (WCAG) 2.2, Success Criterion 2.4.4 (opens in a new tab). W3C Recommendation. Accessed October 18, 2026.
  3. axe-core rule descriptions (opens in a new tab). Deque Systems, axe-core 4.13.0. Accessed October 18, 2026.
  4. The WebAIM Million: The 2026 report on the accessibility of the top 1,000,000 home pages (opens in a new tab). WebAIM, 2026. WAVE-detected errors on home pages only. Accessed October 18, 2026.

Meeting a success criterion is not the same as legal compliance, which depends on the rules that apply to you. No automated tool can certify conformance.

Frequently asked questions

Is "Read more" always a failure?

No. At Level A, it passes if the purpose is clear from programmatically determined context, such as the same sentence or list item. Level AAA 2.4.9 asks for the link text alone to be clear, and repeated "Read more" links are a poor experience either way.

Does the title attribute fix a vague link?

Not reliably. title isn't consistently announced and isn't shown to keyboard or touch users. Put the purpose in the link text or visually hidden text.

Do buttons fall under 2.4.4?

No. 2.4.4 is about links. Buttons need an accessible name under 4.1.2 Name, Role, Value.

See every link the way a screen reader lists them.

Check one page free, no account. Empty links are found on every page on a paid plan.