Skip to content

PivotGrid A11y and KBN - Scrollable region must have keyboard access (axe issue) (KBN)#34235

Merged
bit-byte0 merged 3 commits into
DevExpress:mainfrom
bit-byte0:fix/pivotgrid-a11y-data-area-scrollable-focus
Jul 9, 2026
Merged

PivotGrid A11y and KBN - Scrollable region must have keyboard access (axe issue) (KBN)#34235
bit-byte0 merged 3 commits into
DevExpress:mainfrom
bit-byte0:fix/pivotgrid-a11y-data-area-scrollable-focus

Conversation

@bit-byte0

@bit-byte0 bit-byte0 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What

Fixed the axe accessibility error "Scrollable region must have keyboard access" in PivotGrid. The scrollable data area had nothing focusable inside, so keyboard users could not reach or scroll it

How

The first cell of the data area now gets tabindex="0" (set in m_data_area.ts via the shared setTabIndex utility), so the Tab key can move focus into the scrollable region. The scroll containers themselves stay non-focusable, so screen readers keep announcing meaningful content instead of an unnamed scrollable element

@bit-byte0 bit-byte0 self-assigned this Jul 8, 2026
Copilot AI review requested due to automatic review settings July 8, 2026 11:31
@bit-byte0 bit-byte0 requested a review from a team as a code owner July 8, 2026 11:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves PivotGrid accessibility by ensuring the scrollable data area can be reached via keyboard navigation (addressing an axe “scrollable region must have keyboard access” issue), and adds coverage to prevent regressions.

Changes:

  • Makes the first PivotGrid data-area cell focusable after render to provide a keyboard entry point into the scrollable region.
  • Updates existing QUnit markup expectations to assert the new focusability behavior.
  • Adds a Jest unit test covering initial render, re-render, and empty-data scenarios for the DataArea focusability behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
packages/devextreme/testing/tests/DevExpress.ui.widgets.pivotGrid/pivotGrid.markup.tests.js Updates markup test to assert the first data cell is tabbable (tabindex="0") for keyboard access.
packages/devextreme/js/__internal/grids/pivot_grid/data_area/m_data_area.ts Sets tabindex on the first data cell after render via shared accessibility helper.
packages/devextreme/js/__internal/grids/pivot_grid/data_area/m_data_area.test.ts Adds Jest coverage ensuring only the first data cell becomes focusable and remains so after re-render.

Copilot AI review requested due to automatic review settings July 8, 2026 18:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

@bit-byte0 bit-byte0 added this pull request to the merge queue Jul 9, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 9, 2026
@bit-byte0 bit-byte0 added this pull request to the merge queue Jul 9, 2026
Merged via the queue into DevExpress:main with commit 9b3ea26 Jul 9, 2026
122 of 124 checks passed
@bit-byte0 bit-byte0 deleted the fix/pivotgrid-a11y-data-area-scrollable-focus branch July 9, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants