Skip to content

Table: rowIndexStart/rowCount props for aria-rowindex/aria-rowcount across pagination #425

Description

@czarandy

Feature

A paginated Table currently announces only the rows on the current page — screen-reader users have no way to know they're looking at rows 51–100 of 1,200. The Table has no dataset-position concept (src/components/Table/Table.tsx:53-129; no aria-rowindex/aria-rowcount anywhere in src/components/Table/).

Add opt-in props:

  • rowCount: total rows in the full dataset → aria-rowcount on the table element.
  • rowIndexStart: index of the first rendered row within the full dataset → per-row aria-rowindex (header row counted per the ARIA grid/table spec).

Tables setting neither prop are byte-for-byte unchanged.

Notes

  • Must compose with existing plugins (row expansion, tree data) — expansion child rows need a defined indexing story (simplest: only support flat data initially and document it).
  • Tests asserting emitted attributes across a simulated page change; Storybook example wired to Pagination.

Metadata

Metadata

Assignees

No one assigned

    Labels

    a11yAccessibilityenhancementNew feature or requestmediumApproximately medium amount of work

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions