Description
Our EuiTable component has a feature to include expanding rows. While testing this as part of the data grid expandable rows discussion #5638, I confirmed an issue @constancecchen noted where clicking a button to expand a row causes it to be removed from the screen reader cursor navigation flow.
Steps to reproduce
- Assume MacOS - Start Safari and navigate to our EuiTables - expanding rows section
- Start VoiceOver
- Expand a row by clicking on the
Expand button at the end of a row
- Navigate to the next row with
Ctrl + Opt + arrow key
- Try to navigate back to the previous row by pressing
Ctrl + Opt + UP_ARROW
- Confirm the row that triggered the new row is being skipped
Possible solution example
I mocked up a new direction based on Constance's feedback in the expandable rows discussion. My basic solution does not include React, just semantic HTML and basic CSS and JS to show how we could make expandable content into an accordion-like pattern in a single table cell: https://github.com/1Copenut/vanilla-accessibility-js/tree/main/table-expandable-content
Guidance
Description
Our
EuiTablecomponent has a feature to include expanding rows. While testing this as part of the data grid expandable rows discussion #5638, I confirmed an issue @constancecchen noted where clicking a button to expand a row causes it to be removed from the screen reader cursor navigation flow.Steps to reproduce
Expandbutton at the end of a rowCtrl + Opt + arrow keyCtrl + Opt + UP_ARROWPossible solution example
I mocked up a new direction based on Constance's feedback in the expandable rows discussion. My basic solution does not include React, just semantic HTML and basic CSS and JS to show how we could make expandable content into an accordion-like pattern in a single table cell: https://github.com/1Copenut/vanilla-accessibility-js/tree/main/table-expandable-content
Guidance