The problem
Screen reader users often pull up a list of every link on a page to navigate quickly—and in that list, ten links all reading “click here” or “read more” are useless. Vague link text (WCAG 2.4.4) forces users to hunt for context they can’t easily reach, and it hurts SEO too, since search engines use anchor text to understand the destination. Descriptive links help everyone, especially on mobile and for users with cognitive disabilities.
The fix
<a href="/pricing">Click here</a>
<a href="/blog/wcag-guide">Read more</a>
<a href="https://example.com">www.example.com</a><a href="/pricing">View pricing plans</a>
<a href="/blog/wcag-guide">Read our WCAG 2.2 compliance guide</a>
<a href="https://example.com">Example website <span class="sr-only">(opens in new tab)</span></a>Step by step
- Replace generic phrases ("click here", "learn more", "read more") with descriptive text.
- The link text should make sense when read alone, out of context.
- For links that open in a new tab, add visually-hidden text '(opens in new tab)' or an aria-label.
- For icon-only links, add aria-label to the
<a>element.
Common mistakes
- Repeating “Read more” / “Learn more” / “Click here” across many links.
- Using a raw URL as link text (screen readers read it character by character).
- Opening a link in a new tab with no warning.
- Linking an image that has no alt text and no aria-label.
How to test for it
- List all links in a screen reader (Insert+F7 in NVDA) and check each makes sense alone.
- Read your link text out of context—does it still describe where it goes?
- Run an automated scan for generic or ambiguous link text.
In your framework
<!-- Visually hidden helper class -->
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }Questions
What about "Learn more" in a card?
Either change the text or use aria-label: <a href="..." aria-label="Learn more about color contrast">Learn more</a>
Find it on your site.
Scan a page and see every place this issue appears, with the element and the fix.
Scan your site