Skip to content

Conversation

@Raushen
Copy link
Contributor

@Raushen Raushen commented Jan 29, 2026

No description provided.

@Raushen Raushen self-assigned this Jan 29, 2026
@Raushen Raushen requested a review from a team as a code owner January 29, 2026 17:20
Copilot AI review requested due to automatic review settings January 29, 2026 17:20
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes an accessibility (Axe) violation in DataGrid when it renders with no data by ensuring the grid container still receives the proper ARIA role, and updates e2e a11y coverage/dependencies accordingly.

Changes:

  • Always set the grid ARIA role on the RowsView content element, even when the grid is empty.
  • Add/adjust DataGrid accessibility e2e coverage for “no data” scenarios.
  • Bump axe-core used by TestCafe a11y tests from 4.10.3 to 4.11.1 (and update lockfile).

Reviewed changes

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

File Description
packages/devextreme/js/__internal/grids/grid_core/views/m_rows_view.ts Ensures the grid role is applied regardless of data presence to prevent ARIA parent/child role violations.
e2e/testcafe-devextreme/tests/accessibility/dataGrid/common.ts Adds a new “empty grid” a11y test case and adjusts the Axe config selection logic.
e2e/testcafe-devextreme/package.json Updates axe-core dev dependency to 4.11.1.
pnpm-lock.yaml Lockfile updates corresponding to the axe-core bump.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment on lines +15 to +16
const a11yCheckConfig = isFluent() ? {} : { runOnly: 'color-contrast' };

Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

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

a11yCheckConfig logic changed from isMaterialBased() ? { runOnly: 'color-contrast' } : {} to isFluent() ? {} : { runOnly: 'color-contrast' }. This means non-Fluent runs (e.g., --theme generic.light when running the dataGrid folder) will now only execute the color-contrast rule and skip the rest of the Axe checks, which is a significant reduction in a11y coverage compared to the previous behavior. If the intent is only to keep the Material theme limited to color-contrast, consider keying this condition off isMaterial() (or otherwise preserving full checks for non-material themes) while still enabling full checks for Fluent.

Copilot generated this review using guidance from repository custom instructions.
"@testcafe-community/axe": "3.5.0",
"@types/jquery": "catalog:",
"axe-core": "4.10.3",
"axe-core": "4.11.1",
Copy link
Contributor

Choose a reason for hiding this comment

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

please, update axe-core version in other packages as well
actually, we can add it to catalog to keep in always in sync

Copilot AI review requested due to automatic review settings January 30, 2026 12:50
Copy link
Contributor

Copilot AI left a comment

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 8 out of 9 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

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.

2 participants