-
Notifications
You must be signed in to change notification settings - Fork 865
[EuiBasicTable] NVDA duplicate announcements in selection + overflow actions (All actions tooltip) and verbose pagination aria-label #9524
Copy link
Copy link
Open
Labels
⚠️ needs validationFor bugs that need confirmation as to whether they're reproducibleFor bugs that need confirmation as to whether they're reproducible
Description
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-labelandtitleset 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
EuiToolTipwhose 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
titleattribute (or at least avoid settingtitlewhen 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:
- [Platform:StackManagement:Ingest pipelines page]Duplicated announcement for table elements kibana#217818
- [Platform:StackManagement:Index Management page]Duplication of elements announcement in data streams table kibana#218764
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)
- Header checkbox: remove the redundant
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
⚠️ needs validationFor bugs that need confirmation as to whether they're reproducibleFor bugs that need confirmation as to whether they're reproducible
Type
Fields
Give feedbackNo fields configured for Bug.