From 141f4f6c168affaa68f84a72f2f597b3249c725c Mon Sep 17 00:00:00 2001 From: Aleksey Semikozov Date: Mon, 16 Feb 2026 11:24:27 -0300 Subject: [PATCH 1/5] =?UTF-8?q?PivotGrid=20-=20=E2=99=BF=EF=B8=8F=20Handle?= =?UTF-8?q?=20Accessibility=20restrictions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pivot_grid/field_chooser/m_field_chooser_base.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts index f9a98f4830b4..c3b99f3286c6 100644 --- a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts +++ b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts @@ -121,6 +121,17 @@ export class FieldChooserBase extends mixinWidget { }; } + protected _setAriaSortAttribute(column, ariaSortState, $rootElement) { + $rootElement.removeAttr('aria-roledescription'); + + if (column.isGrouped && isDefined(column.sortOrder)) { + const description = column.sortOrder === 'asc' + ? this.localize('dxDataGrid-ariaSortedAscendingColumn') + : this.localize('dxDataGrid-ariaSortedDescendingColumn'); + this.setAria('roledescription', description, $rootElement); + } + } + _init() { super._init(); this._headerFilterView = new HeaderFilterView(this); From de61d352a7070ec2ca99ef355cc0ee023413d5bd Mon Sep 17 00:00:00 2001 From: Aleksey Semikozov Date: Mon, 16 Feb 2026 12:01:31 -0300 Subject: [PATCH 2/5] Remove unnecessary ARIA attributes from PivotGrid ignored rules --- apps/demos/testing/common.test.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps/demos/testing/common.test.ts b/apps/demos/testing/common.test.ts index 1cca54907b6d..22650163014e 100644 --- a/apps/demos/testing/common.test.ts +++ b/apps/demos/testing/common.test.ts @@ -80,12 +80,6 @@ const getIgnoredRules = (testName) => { 'FileManager-Overview': ['aria-command-name', 'empty-table-header', 'label'], 'FileManager-UICustomization': ['aria-command-name', 'empty-table-header', 'label'], - 'PivotGrid-SummaryDisplayModes': ['aria-allowed-attr'], - 'PivotGrid-StatePersistence': ['aria-allowed-attr'], - 'PivotGrid-StandaloneFieldChooser': ['aria-allowed-attr'], - 'PivotGrid-FieldPanel': ['aria-allowed-attr'], - 'PivotGrid-ExcelJsHeaderAndFooter': ['aria-allowed-attr'], - 'Gantt-Appearance': ['aria-toggle-field-name'], 'Gantt-ExportToPDF': ['aria-toggle-field-name'], 'Gantt-StripLines': ['aria-required-parent', 'aria-valid-attr-value'], From ec6f2a9ce6f29e4f041495cbb3d63c475cddd363 Mon Sep 17 00:00:00 2001 From: Aleksey Semikozov Date: Mon, 16 Feb 2026 14:54:46 -0300 Subject: [PATCH 3/5] =?UTF-8?q?Revert=20"PivotGrid=20-=20=E2=99=BF?= =?UTF-8?q?=EF=B8=8F=20Handle=20Accessibility=20restrictions"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 141f4f6c168affaa68f84a72f2f597b3249c725c. --- .../pivot_grid/field_chooser/m_field_chooser_base.ts | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts index c3b99f3286c6..f9a98f4830b4 100644 --- a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts +++ b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts @@ -121,17 +121,6 @@ export class FieldChooserBase extends mixinWidget { }; } - protected _setAriaSortAttribute(column, ariaSortState, $rootElement) { - $rootElement.removeAttr('aria-roledescription'); - - if (column.isGrouped && isDefined(column.sortOrder)) { - const description = column.sortOrder === 'asc' - ? this.localize('dxDataGrid-ariaSortedAscendingColumn') - : this.localize('dxDataGrid-ariaSortedDescendingColumn'); - this.setAria('roledescription', description, $rootElement); - } - } - _init() { super._init(); this._headerFilterView = new HeaderFilterView(this); From c472c77a2807639d43cfab108d1dfa987b69d47c Mon Sep 17 00:00:00 2001 From: Aleksey Semikozov Date: Mon, 16 Feb 2026 15:15:25 -0300 Subject: [PATCH 4/5] =?UTF-8?q?Revert=20"Revert=20"PivotGrid=20-=20?= =?UTF-8?q?=E2=99=BF=EF=B8=8F=20Handle=20Accessibility=20restrictions""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit ec6f2a9ce6f29e4f041495cbb3d63c475cddd363. --- .../pivot_grid/field_chooser/m_field_chooser_base.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts index f9a98f4830b4..c3b99f3286c6 100644 --- a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts +++ b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts @@ -121,6 +121,17 @@ export class FieldChooserBase extends mixinWidget { }; } + protected _setAriaSortAttribute(column, ariaSortState, $rootElement) { + $rootElement.removeAttr('aria-roledescription'); + + if (column.isGrouped && isDefined(column.sortOrder)) { + const description = column.sortOrder === 'asc' + ? this.localize('dxDataGrid-ariaSortedAscendingColumn') + : this.localize('dxDataGrid-ariaSortedDescendingColumn'); + this.setAria('roledescription', description, $rootElement); + } + } + _init() { super._init(); this._headerFilterView = new HeaderFilterView(this); From f6532bd6cc0f287b2eedbcc4083f1995218a9401 Mon Sep 17 00:00:00 2001 From: Aleksey Semikozov Date: Wed, 18 Feb 2026 06:52:45 -0300 Subject: [PATCH 5/5] fix after review --- .../pivot_grid/field_chooser/m_field_chooser_base.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts index c3b99f3286c6..986f55b88016 100644 --- a/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts +++ b/packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts @@ -121,16 +121,8 @@ export class FieldChooserBase extends mixinWidget { }; } - protected _setAriaSortAttribute(column, ariaSortState, $rootElement) { - $rootElement.removeAttr('aria-roledescription'); - - if (column.isGrouped && isDefined(column.sortOrder)) { - const description = column.sortOrder === 'asc' - ? this.localize('dxDataGrid-ariaSortedAscendingColumn') - : this.localize('dxDataGrid-ariaSortedDescendingColumn'); - this.setAria('roledescription', description, $rootElement); - } - } + // eslint-disable-next-line @typescript-eslint/no-unused-vars + protected _setAriaSortAttribute(_column, _ariaSortState, _$rootElement) { } _init() { super._init();