-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Open
Labels
issue: bugDescribes why the code or behaviour is wrongDescribes why the code or behaviour is wrong
Description
Check for duplicates
- I have searched for similar issues before opening a new one.
Description
Screen readers behave differently when it comes to announcing content in aria-live regions. This is a review of the toast and 'move mode' announcements as of commit 74a36d7, so includes the change to make the move mode live region assertive. We can test VoiceOver, NVDA, JAWS and ChromeVox, so these are reviewed below, and we are happy to test changes going forward. It will be important to check the live region behaviour against any other screen reader that is being targeted.
Summary
As things stand:
- ChromeVox performs perfectly with the current implementation and the best out of those tested
- JAWS and NVDA perform well announcing move mode but do not announce toast messages or repeated message
- VoiceOver performs the worst having some issues dropping move mode announcements while block labels are being announced (this is a regression from changing the live region to assertive)
NVDA
- When inserting a block from the toolbox, move mode is correctly announced
- Move mode generally works, however:
- If the text in the aria-live region is the same as the previous text, the message is not announced (this is a known issue with screen readers)
- Move announcements correctly interrupt themselves while moving a block around
- If a move is triggered while the block aria-label is being readout, move mode announcement correctly interrupts
- On accepting a move, the move announcement is truncated
- Toast messages are not announced at all
JAWS
Behaviour matches that of NVDA except for:
- When a block on the workspace is put into move mode, the block label is announced before move mode as opposed to NVDA which just announces the move
ChromeVox
- When inserting a block from the toolbox, move mode is correctly announced. If a toast message is shown at this point, the toast is announced before move mode. It might be preferable to have the move mode message first.
- If the text in the aria-live region is the same as the previous text, the message is correctly announced
- Move announcements correctly interrupt themselves while moving a block around. Toast messages and move mode messages also correctly interrupt each other.
- If a move is triggered while the block aria-label is being readout, move mode announcement correctly interrupts the block readout
- On accepting a move, the move announcement continues to be read out in full
- Toast messages are correctly announced, however, the readout includes the toast close button which seems irrelevant. The role of “Status” is also announced, which I don’t think adds anything.
VoiceOver
- When inserting a block from the toolbox, move mode is not announced. Note that it is announced after the block readout when the live region is set to “polite”.
- Move mode generally works, however:
- If the text in the aria-live region is the same as the previous text, the message is not announced (this is a known issue with screen readers)
- If a move is triggered while the block aria-label is being readout, move mode is not announced. Note that it is announced after the block readout when the live region is set to “polite”.
- Move announcements correctly interrupt themselves while moving a block around
- On accepting a move, the move announcement continues to be read out in full
- Toast messages are not announced at all
Next steps
We have looked at this issue in some detail, and will document the changes we have tried and the outcomes in additional comments below.
Reproduction steps
No response
Priority
No response
Stack trace
Screenshots
No response
Browsers
No response
Metadata
Metadata
Assignees
Labels
issue: bugDescribes why the code or behaviour is wrongDescribes why the code or behaviour is wrong
Type
Projects
Status
In Progress