Skip to content

Commit e363608

Browse files
TreeView: localize selectAll aria-label (T1299342) (DevExpress#30911)
1 parent 02833d2 commit e363608

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

packages/devextreme/js/__internal/ui/tree_view/m_tree_view.base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1288,7 +1288,7 @@ class TreeViewBase extends HierarchicalCollectionWidget<TreeViewBaseProperties>
12881288
const value = this._dataAdapter.isAllSelected();
12891289
this._createComponent(this._$selectAllItem, CheckBox, {
12901290
value,
1291-
elementAttr: { 'aria-label': 'Select All' },
1291+
elementAttr: { 'aria-label': messageLocalization.format('dxList-selectAll') },
12921292
text: selectAllText,
12931293
focusStateEnabled,
12941294
onValueChanged: this._onSelectAllCheckboxValueChanged.bind(this),

packages/devextreme/testing/tests/DevExpress.ui.widgets/treeView.markup.tests.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ QUnit.testStart(function() {
99

1010
import 'ui/tree_view';
1111
import { EXPANDER_ICON_STUB_CLASS } from '__internal/ui/tree_view/m_tree_view.base';
12+
import localization from 'localization';
1213

1314
const WIDGET_CLASS = 'dx-treeview';
1415
const NODE_CONTAINER_CLASS = 'dx-treeview-node-container';
@@ -75,6 +76,30 @@ QUnit.module('aria accessibility', {
7576
assert.equal($node2.attr('aria-label'), 'Item 11', 'label for 2nd ite is correct');
7677
});
7778

79+
QUnit.test('aria-label for selectAll checkbox should be localized (T1299342)', function(assert) {
80+
assert.expect(1);
81+
82+
const defaultLocale = localization.locale();
83+
const localizedSelectAllText = 'Alles auswählen';
84+
85+
try {
86+
localization.loadMessages({
87+
'de': { 'dxList-selectAll': localizedSelectAllText }
88+
});
89+
localization.locale('de');
90+
91+
this.instance.option({ showCheckBoxesMode: 'selectAll' });
92+
93+
const $selectAllItem = this.$element.find(`.${SELECT_ALL_ITEM_CLASS}`);
94+
95+
assert.strictEqual($selectAllItem.attr('aria-label'), localizedSelectAllText, 'selectAll checkbox aria-label is localized');
96+
} finally {
97+
localization.locale(defaultLocale);
98+
}
99+
100+
101+
});
102+
78103
QUnit.test('aria role for item levels', function(assert) {
79104
const $node = this.$element.find('.' + NODE_CONTAINER_CLASS);
80105
assert.equal($node.attr('role'), 'group', 'role is correct');

0 commit comments

Comments
 (0)