When content on the page changes dynamically, we want all users to understand what has occurred. A user who can not see the page will not be aware if content changes above their focus. If the dynamic change occurred because of something the user did they may also believe that what they were trying to accomplish didn't work. For these reasons we need to make sure that screen reader users are told of changes. This can be done by either announcing it or sending focus to it, depending on the situation.
- All dynamic changes are either announced or focus is sent to them.
- All interstitials are announced to the user.
- When content is toggled open or closed, expanded or collapsed respectively is announced to the user.
- When sorting or filtering, the user is told when the results have been updated.
- When a typeahead is opened the user is alerted that it is there and how many results there are.
- As a general rule of thumb, changes should be announced when we simply want the user to know that something has changed. Focus should be sent to the new content when it changed because of user interaction, the user is now expecting to be able to interact with it, and it doesn't immediately follow the current focus.