NEW 235068
AX: [macOS][Accessibility][VoiceOver] VoiceOver fails to announce selected state for rows within WAI-ARIA data grid
https://bugs.webkit.org/show_bug.cgi?id=235068
Summary AX: [macOS][Accessibility][VoiceOver] VoiceOver fails to announce selected st...
Michael Jordan
Reported 2022-01-11 07:53:07 PST
VoiceOver fails to adequately announce the selected state of a row in a WAI-ARIA data grid, both when navigating between rows and when toggling selection of a row. An example that reproduces the behavior can be found at https://codepen.io/majornista/pen/jOGxJxR (Debug Mode: https://cdpn.io/majornista/debug/jOGxJxR/mVMbGwPNBVer) To test, open https://cdpn.io/majornista/debug/jOGxJxR/mVMbGwPNBVer in Safari on macOS with VoiceOver running. 1. Use VoiceOver cursor to navigate to the table of Pokemon characters. 2. Press Tab key to move keyboard focus to the first row in the table, "Charizard". - Notice that despite being selected, the selected state for the row is not announced by VoiceOver. There is no way for a non-visusal user to distinguish between selected or not selected rows. 3. Press ArrowDown key to move keyboard focus to next selected row in the table, "Venusaur". - Notice again that despite being selected, the selected state for the row is not announced by VoiceOver. There is no way for a non-visusal user to distinguish between selected or not selected rows. 4. Press Space key to deselect the focused row, "Venusaur". - In Safari, VoiceOver will announce that the row has been "removed from selection" along with the number of selected rows remaining, however without being able to identify the selected rows when navigating the table, this is of limited utility. - In Chrome, VoiceOver fails to provide any indication of the selected state change. 5. Press ArrowUp key to move keyboard focus to remaining selected row in the table, "Charizard". - Notice again that despite being selected, the selected state for the row is not announced by VoiceOver. There is no way for a non-visusal user to distinguish between selected or not selected rows. 6. Press Space key to re-select the focused row, "Charizard". - In Safari, VoiceOver will announce the row content, but nothing to indicate the selected state. - In Chrome, VoiceOver fails to provide any indication of the selected state change. 7. You can navigate between cells in the table using ArrowRight, ArrowLeft, ArrowUp or ArrowDown. VoiceOver fails to provide any indication of the current selected state for the row containing focus. 8. Pressing Space to toggle selection of the current row with focus on a cell fails to consistently announce the selected state change for the parent row. 9. You can also navigate between cells using the VoiceOver cursor for table navigation. VoiceOver again fails to provide any indication of the current selected state for the row containing focus. 10. Pressing Control+Option+Space to toggle selection of the current row by clicking with the VoiceOver cursor focused on a cell fails to consistently announce the selected state change for the parent row. Expected behavior: 1. When navigating between rows in a WAI-ARIA grid, VoiceOver should announce the selected state for a row so that it is possible to distinguish between selected and unselected rows. 2. When navigating by cell within a column, it would be helpful to know the selected state for the parent row, by perhaps announcing “row selected.” 3. Toggling the selected state of a row should announce the state change regardless of whether additional rows are selected. This issue has been also reported as rdar://FB9833687 and rdar://87144833. I've opened it here as well for public reference.
Attachments
Sam Sneddon [:gsnedders]
Comment 1 2022-05-09 07:39:10 PDT
Note You need to log in before you can comment on or make changes to this bug.