I’m developing a web application with strict accessibility standards. In some instances, the screen reader (VO) behaves unexpectedly (for example, skipping certain elements).
To determine if the issue lies with the screen reader, my application code, the browser, or another factor, I first need to understand the expected behavior.
Given some HTML that includes ARIA attributes, what are all the specifications that dictate how exactly a screen reader should interact with it?
Is this behavior fully specified, and how much discretion is left to the screen reader’s implementer?
I’ve always felt the basic expectation of a screenreader is a simple 3 part process
- Screenreader must go to all elements on the screen in the natural top-to-bottom, left-to-right reading order and announce them as is. If the elements are interactable and have followup actions, that needs to be communicated to the screenreader user.
- Any interaction with the elements on the screen needs to be announced or indicated so the user understands intuitively that they performed/triggered an action.
- Any changes on the screen needs to be announced to the user and the focus needs to be shifted to the respective change depending on the context.