Skip to content
SilktideHelp

Links with different destinations

Silktide finds links on a page that share the same text but point to different destinations. When two identical-looking links lead to different places, people cannot tell them apart without following each one.

<!-- Two "News" links that go to different pages -->
<p>Learn the latest about our products: <a href="\/products\/news">News</a></p>
<p>Learn the latest about our services: <a href="\/company\/news">News</a></p>

Why this matters

People using a often pull up a list of every link on the page, out of context. Two links that both announce as "News" but go to different pages are indistinguishable in that list, so the user must open each one to find out where it leads. The same ambiguity affects speech-recognition users, who select links by saying their name aloud.

How to fix it

  1. Give each link distinct visible text that describes its destination, such as "Product news" and "Company news".
  2. If the design cannot change, add an label to distinguish the links without altering what sighted users see:
<!-- The aria-label becomes the name screen readers announce -->
<a href="\/products\/news" aria-label="Product news">News</a>
<a href="\/company\/news" aria-label="Company news">News</a>
  1. Alternatively, include extra text inside the link that is visually hidden but read by screen readers (for example a <span> styled with a screen-reader-only CSS class).
  2. If the links are functionally equivalent for the user - for example they redirect to the same page - the finding.

How Silktide tests this

  1. Find every link on the page, skipping any elements you have excluded from checking.
  2. Work out each link's - the text announces, which includes ARIA labels and image , not just the visible text.
  3. Normalise each link's destination for comparison: fragments (the part after #), query strings (the part after ?), the URL scheme, and trailing slashes are ignored.
  4. When links with the same accessible name point to more than one distinct destination, flag all of them.

Troubleshooting

Because fragments are ignored when comparing destinations, links like \/guide#intro and \/guide#pricing count as the same destination. This is intentional: both lead to the same page.

Query strings are ignored when comparing destinations, so \/offers?src=header and \/offers?src=footer count as the same page rather than different destinations.

Learn more

Last updated

Was this page helpful?

Links with different destinations | Silktide Help