When using a screen reader, it's difficult to navigate between answers on question pages

I'm wondering if there is any way that each answer could be marked as a heading to make it easier to skip between them?

I believe you can use aria roles and attributes to define a heading to avoid using an h tag, which will impact layout. I've not tried this with my screen reader, VoiceOver, so I'm only assuming that works.

I also realise the problem with my suggestion is that there isn't much of a natural place to put the heading. It should be before the answer text. I was going to suggest the date/time the answer was posted, but this is at the bottom of the question so doesn't quite work so well.

If it was up to me, I'd probably flip it and put "Answered by xx on yy" as a heading in front of the answer and then move things like saving the answer, viewing the timeline etc to the end. But, obviously, I think it's a bit optimistic if I ask you to redesign the entire site on my behalf!

The other thing that occurred to me was "Answer 3" or something as a heading, and then hide it from visual users.

I found a similar question asked 8 years ago and the response was to use some custom JavaScript or something to modify the DOM. Which is OK as a short-term solution but I would hope the site could be accessible by default. Hopefully things have changed since then.

Background: How I normally navigate a page

I love Stack Overflow. I'm also a screen reader user (usually VoiceOver on the Mac0. My main way to navigate a page is to jump through the headings.

This is how I normally use Stack Overflow:

Jump to first heading. Press VO+right to move to next element 19 times to skip over all the voting/modified/who created it/etc then I can read the the actual question.

Then jump to next heading. This is where the answers start, so I might hear "3 Answers". I then need to press sVO+right 12 times to get the first answer.

But then there is no obvious way for me to jump to the next answer. So I need to press VO+right past all the comments, then past all the header stuff for each question until I get to the next one.

A bug in Safari makes this more difficult

There is also a bug in Safari which means after I've read the first answer, it will often move the focus back to the question and I need to start all over again. Or skip down to the Your Answer heading ande move back up again.

Navigating the login and signup pages is also difficult. Headings would also help on those pages.

One similar request, headings would be useful when logging in or signing up for an account as it would make it easier to find where the forms are.

  • If it works for you, you can turn on the "Enable keyboard shortcuts" setting in your user preferences, which will enable single-key shortcuts for navigating around the page. These include the "J" key, which will select the next post, and "K" key, which will select the previous post. I don't know if these will interact well with a screen reader.
    – Makyen
    Jan 27 at 16:26
  • 1
    While I'm not saying this shouldn't be done, there are significant complications. One of those is that the Markdown in the post can use any heading level, level 1 through level 6. If a heading was used for each answer outside of the post Markdown, semantically those should, at most, be level 2 headings (the question title being level 1). That may result in additional confusion when posts use level 1 and level 2 headers, which are not all that uncommon.
    – Makyen
    Jan 27 at 16:33
  • 1
    In 2015 I wrote a userscript to add these headers meta.stackexchange.com/questions/265889/… but I might need to revisit that script and don't know if userscripts work in combination with screenreaders. Let me know if you can/want to test this and I'm happy to go back and forth on this with you.
    – rene
    Jan 27 at 17:54
  • 1
    Worth nothing this comment: meta.stackexchange.com/questions/265889/…
    – rene
    Jan 27 at 17:56


You must log in to answer this question.

Browse other questions tagged .