Problem Statement
In EuiBasicTable / EuiInMemoryTable, several table-provided controls create noisy / duplicated NVDA announcements:
- Header selection checkbox (“Select all rows” / “Deselect rows”) is rendered with both
aria-label and title set to the same text. With NVDA, this can result in the label being announced twice.
- Collapsed “All actions” button (overflow actions trigger) is wrapped in an
EuiToolTip whose content (“All actions”) overlaps with the button’s accessible name (e.g. “All actions, row N”), which can cause double announcement (button + tooltip).
- Pagination landmark label verbosity: NVDA announces a long navigation label like “Pagination for table: …” before reading the page links. A11y feedback indicates this extra line is not necessary (adds noise) for frequent table pagination usage.
Proposed Solution
- Header checkbox: remove the redundant
title attribute (or at least avoid setting title when it duplicates the accessible name).
- All actions button: prevent tooltip content from being announced by screen readers
Use Case
Plugins using EUI tables, like Ingest Pipelines, Index Management, and Snapshot and Restore:
Do alternatives or workarounds exist?
Yes, but they are not good:
- Consumers can re-implement selection/actions/pagination UI (higher maintenance and inconsistent across apps)
- Consumers can strip
title/ARIA post-render via DOM mutation (fragile, not recommended, and violates declarative a11y best practices)
Problem Statement
In
EuiBasicTable/EuiInMemoryTable, several table-provided controls create noisy / duplicated NVDA announcements:aria-labelandtitleset to the same text. With NVDA, this can result in the label being announced twice.EuiToolTipwhose content (“All actions”) overlaps with the button’s accessible name (e.g. “All actions, row N”), which can cause double announcement (button + tooltip).Proposed Solution
titleattribute (or at least avoid settingtitlewhen it duplicates the accessible name).Use Case
Plugins using EUI tables, like Ingest Pipelines, Index Management, and Snapshot and Restore:
Do alternatives or workarounds exist?
Yes, but they are not good:
title/ARIA post-render via DOM mutation (fragile, not recommended, and violates declarative a11y best practices)