Link text must describe where the link goes
Screen reader users often jump through a list of all links on a page. Ten links called "Read more" or "Shop now" sound identical, so they cannot tell which product, category or article each one leads to.
- Rule id
- vs-link-purpose
- Source
- Validiscan check
- Impact
- Moderate
- Fix tier
- ASSISTED
- on Shopify, Shopware, WooCommerce and Magento
- Status
- runs
What the check does
Flags ambiguous link texts in all supported languages, such as "read more", "click here", "mehr", "hier", "voir plus", "ver más" or "læs mere", and identical link texts that point to different destinations across the site (2.4.4).
On each page, the check reads every a[href] element that assistive technology can perceive, skipping links with another role such as role="button". It takes the accessible name, so aria-label or a linked image’s alt counts, lowercases it and turns punctuation, arrows and ellipses into spaces. Only names equal to one of 57 phrases in English, German, French, Spanish and Danish are reported, so “Read more about returns” passes. A link whose aria-describedby resolves to text also passes.
The second part uses each page’s visible links, at most 600, recorded at the first configured viewport, desktop by default. Same-name links on one page that lead to different destinations give one finding per name and page. Case, a trailing slash and relative spelling do not make a new destination, and /products/<slug> paths match by slug alone. Listed phrases and javascript: links are skipped here, and links on different pages are never compared.
The check does not judge whether a name is clear in context.
How to fix it
Make every link text say where it goes, for example "Read more about returns" or "Shop women's jackets". Where the design needs a short visible text, add the context as visually hidden text, or with an aria-label that starts with the visible words.
WCAG success criteria
- 2.4.4 Link Purpose (In Context), level A
EN 301 549 clauses
| WCAG criterion | Version 3.2.1 | Version 4.1.1 |
|---|---|---|
| 2.4.4 | 9.2.4.4 | 9.2.4.4 |
Start with a free check of your shop.
Send your shop’s address. Validiscan scans it and replies with every failure the scan can prove, with the page and the code.
Request a free checkOr write to info@validiscan.com.
What the free check covers, and what it leaves out- You send
- your shop’s address
- Pages scanned
- up to 15
- You get
- every failure the scan can prove, with the page and the code
- On your shop
- public pages only; no login, nothing bought, no forms sent
- What it is not
- a full audit