Skip to content

PivotGrid - KBN - Open cell context menu from keyboard#34351

Open
aleksei-semikozov wants to merge 4 commits into
DevExpress:mainfrom
aleksei-semikozov:pivotgrid-kbn-cell-context-menu-main
Open

PivotGrid - KBN - Open cell context menu from keyboard#34351
aleksei-semikozov wants to merge 4 commits into
DevExpress:mainfrom
aleksei-semikozov:pivotgrid-kbn-cell-context-menu-main

Conversation

@aleksei-semikozov

Copy link
Copy Markdown
Contributor

No description provided.

@aleksei-semikozov aleksei-semikozov self-assigned this Jul 16, 2026
@aleksei-semikozov
aleksei-semikozov marked this pull request as ready for review July 16, 2026 16:18
@aleksei-semikozov
aleksei-semikozov requested a review from a team as a code owner July 16, 2026 16:18
Copilot AI review requested due to automatic review settings July 16, 2026 16:18
sjbur
sjbur previously approved these changes Jul 16, 2026

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

This PR enhances PivotGrid keyboard accessibility by introducing roving tabindex navigation for header cells and field areas, and enabling opening the cell context menu via keyboard (Shift+F10 / ContextMenu) with correct anchoring and focus return behavior.

Changes:

  • Added roving-tabindex-based keyboard navigation for row/column header cells (arrow navigation, focus preservation across re-renders/virtual scrolling).
  • Added roving tabindex + arrow navigation for PivotGrid/FieldChooser fields, updating Tab traversal expectations.
  • Added styling and extensive QUnit + TestCafe coverage for the new keyboard behavior (headers, fields, context menu).

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/testcafe-models/pivotGrid/rowsArea.ts Adds row/column-position cell access for new KBN tests.
packages/testcafe-models/pivotGrid/index.ts Exposes getColumnsArea() model API for new column header KBN tests.
packages/testcafe-models/pivotGrid/columnsArea.ts New TestCafe model for column header cells used by KBN tests.
packages/devextreme/testing/tests/DevExpress.ui.widgets.pivotGrid/pivotGrid.markup.tests.js Updates expected tabindex/aria-expanded markup for new roving tabindex behavior.
packages/devextreme/js/__internal/grids/pivot_grid/m_widget.ts Implements header-cell roving tabindex navigation, Shift+F10 context menu open, focus restore.
packages/devextreme/js/__internal/grids/pivot_grid/keyboard_navigation/roving_tab_index.ts Extends roving tabindex helper with stable item identity across re-renders.
packages/devextreme/js/__internal/grids/pivot_grid/keyboard_navigation/roving_tab_index.test.ts Adds unit tests for identity-based focus tracking behavior.
packages/devextreme/js/__internal/grids/pivot_grid/keyboard_navigation/const.ts New shared constants for header area and fake table class names.
packages/devextreme/js/__internal/grids/pivot_grid/headers_area/m_headers_area.ts Enables cell navigation for header areas and reuses shared constants.
packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser.ts Ensures field chooser updates roving tabindex after render.
packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts Adds roving tabindex + arrow navigation for fields, and identity tracking by field index.
packages/devextreme/js/__internal/grids/pivot_grid/area_item/m_area_item.ts Renders tabindex/aria-expanded for navigable header cells; ensures fake table is not tabbable.
packages/devextreme-scss/scss/widgets/base/pivotGrid/_index.scss Adds visible focus outline when header cells themselves receive focus.
e2e/testcafe-devextreme/tests/common/pivotGrid/kbn/rowHeaders.ts New E2E coverage for row header roving tabindex, arrow navigation, focus preservation.
e2e/testcafe-devextreme/tests/common/pivotGrid/kbn/fields.ts Updates E2E field navigation expectations to roving tabindex + arrow navigation.
e2e/testcafe-devextreme/tests/common/pivotGrid/kbn/expandIcon.ts Adjusts focus detection for expandable cells with updated markup/focus behavior.
e2e/testcafe-devextreme/tests/common/pivotGrid/kbn/contextMenu.ts New E2E coverage for Shift+F10 context menu open, anchoring, and focus return.
e2e/testcafe-devextreme/tests/common/pivotGrid/kbn/columnHeaders.ts New E2E coverage for column header roving tabindex, arrow navigation, focus preservation.

Comment thread packages/devextreme/js/__internal/grids/pivot_grid/m_widget.ts
Comment thread packages/testcafe-models/pivotGrid/columnsArea.ts
Comment thread packages/testcafe-models/pivotGrid/rowsArea.ts
…context-menu-main

# Conflicts:
#	packages/devextreme/js/__internal/grids/pivot_grid/m_widget.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants