Skip to content

[EuiBasicTable] NVDA duplicate announcements in selection + overflow actions (All actions tooltip) and verbose pagination aria-label #9524

@SoniaSanzV

Description

@SoniaSanzV

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)

Metadata

Metadata

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions