Web accessibility guidelines stipulate that links need to provide context for meaning; but they also stipulate that link text needs to be unique when it leads to a new resource. Under Success Criterion 2.4.4, a read more link after an excerpt of the post would be meaningful, because the context provides information about what the link does.

But when generating a list of links, “read more” links produce a long series of links with the same text and different destinations, making those links useless. Bummer.

The common solution, and the specific solution required in the WordPress theme review guidelines for Accessibility is to insert the post title into the read more link. This ensures that the links list produces a list of links that have value to a screen reader user. Hiding the text from sighted users means that this redundant text isn’t distracting to those users.

But it also means that when the user is navigating through the page, there will be some serious duplication, since the title of the post will be announced so many times. So: is this the best solution? Is there another way we can do this that provides a better experience?

I’m not convinced in any particular direction at this point; but I feel there should be another solution that would work better. A few things that I’ve considered:

  1. Make “read more” links into buttons. This takes the links out of the link list – as a result, you can leave them with plain read more text, but the redundant link doesn’t show up over and over in links lists. But it depends on mis-using the button element, which shouldn’t be used for sending a user to a new location.
  2. Use JavaScript to either a) remove the screen reader text on :focus or b) attach aria-hidden on :focus I’m not sure there’s any actual pluses to this: it doesn’t necessarily help when the screen reader user is just reading the text; and means that the link list is different from the links actually arrived at when tabbing through the links on a page, which could be quite disorienting.
  3. Abbreviate the post title for use in the read more link Could help avoid redundancy and make the navigation process more efficient, but increases cognitive burden in making certain the link references the same article as the title did. It could also increase the labor burden, as automated abbreviations of post titles are unlikely to be reliable.

I like the idea of pulling the read more links out of link lists, as long as there is a link to the post with the title elsewhere — and in the WordPress sphere, that’s almost always available through the post heading. But we still need a contextual means to navigate from the end of the excerpt to the full post; I don’t think it’s fair to expect screen reader users to need to navigate backwards to the title link in order to read further.

I’m not sure that any of these would be a better solution; but since I’m dissatisfied with the solution we have, I want to consider other possibilities. These are just a few concepts, and I’d love to hear any other ideas available.

For now, I’m going to continue to recommend the same thing I have for years; but I’d love to change my mind.

Does anybody have any other thoughts on ways to supplement read more links? Does anybody have anything they particularly love? Something they particularly hate? A dream within a dream?