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

EN 301 549 clauses

The EN 301 549 clause of each criterion, by version of the standard
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 check

Or 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

Write to Validiscan

For a free check, give the address of your shop and its platform.

Validiscan uses what you send to answer you. Privacy notice