-
Notifications
You must be signed in to change notification settings - Fork 12
Jaws does not announce static text in a gridcell when it has a focusable element #928
Description
When a cell in a grid has an interactive element, the ARIA Authoring Practices spec recommends moving focus directly to that interactive element when the user navigates to the grid cell with arrow keys.
In the following line of code the focus goes to the "Delete" button.
<div role="gridcell">John Doe <button>Delete</button></div>
When focus is inside a grid, Jaws switches to forms mode (which is accurate).
But the problem is that, if a grid cell has an interactive element and static text, Jaws only reads the interactive element label.
In the code snippet above, Jaws says "Delete button" when you navigate to that cell, it should say "John Doe, delete button".
NVDA does.
Ideally people should not put text + interactive elements inside the same grid cell element, but in the real world a lot of folks do that. In those cases, a screen reader needs to be able to announce the static text.
In the attached file (if I manage to attach it this time), I added comments to the cells in the description column.
That cell has a categories dropdown that receives focus.
The first cell in the description column has the focusable item "Cash deposit" which is announced when you navigate to it, but the additional text, "My big Vegas winnings", is not announced.
If you force browse mode and use table navigation commands you will hear both.
The next cell in that column has the category "Downtown groceries" with the static text "satisfying my high end cheese cravings".
The third cell in the description column has mystery static text.
I would expect Jaws, in forms mode, to announce "Cash deposit" my big vegas winnings, when you navigate to the first cell in the description column, or vice versa.
The forced browse mode trick is a workaround, but in complex grids that scroll when you interact with them, you sometimes can't use browse mode.
Using Jaws (in auto forms mode), navigate to the Description column.
Notice how the static text outside the merchant name is not announced by Jaws, e.g. for the "Cash deposit" link, Jaws does not announce the text "my big Vegas winnings" even if it is in the same cell.
Or, in the second row, "Downtown grocery" is announced, but not the text "indulging my high-end cheese cravings".
It is true that, ideally, cells with focusable elements should have no other content, but a lot of grids do.
Jas should announce that extra text content of the cell when focus goes to the focusable element.
If you test the same example with NVDA it does read
"My big vegas winnings" when you focus "Cash deposit" and "Indulging my high-end cheese cravings" when you focus "Downtown grocery".