Skip to content

Commit 9854f69

Browse files
MsDev88mportuga
authored andcommitted
fix(a11y): keyboard navigation changes of expand and selection buttons (#7048)
* added key down events for expand buttons - Added key down event function for expand all and expand tree buttons. To enable expand button for Enter and Space Keys. * added key-down event for row header button * formatting changes * added key down event for expand all button * updated key down event for selection button * added tab index to enable navigation * added tab index for keyboard navigation
1 parent 29c4fb1 commit 9854f69

File tree

6 files changed

+18
-2
lines changed

6 files changed

+18
-2
lines changed

Diff for: packages/selection/src/js/selection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,7 @@
788788
}
789789

790790
function selectButtonKeyDown(row, evt) {
791-
if (evt.keyCode === 32) {
791+
if (evt.keyCode === 32 || evt.keyCode === 13) {
792792
evt.preventDefault();
793793
selectButtonClick(row, evt);
794794
}

Diff for: packages/selection/src/templates/selectionRowHeaderButtons.html

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<div
22
class="ui-grid-selection-row-header-buttons ui-grid-icon-ok clickable"
33
ng-class="{'ui-grid-row-selected': row.isSelected}"
4+
tabindex="0"
45
ng-click="selectButtonClick(row, $event)"
56
ng-keydown="selectButtonKeyDown(row, $event)"
67
role="checkbox"

Diff for: packages/selection/src/templates/selectionSelectAllButtons.html

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<div
22
role="button"
3+
tabindex="0"
34
class="ui-grid-selection-row-header-buttons ui-grid-icon-ok"
45
ng-class="{'ui-grid-all-selected': grid.selection.selectAll}"
56
ng-click="headerButtonClick($event)"

Diff for: packages/tree-base/src/js/tree-base.js

+10
Original file line numberDiff line numberDiff line change
@@ -1609,6 +1609,11 @@
16091609
evt.stopPropagation();
16101610
uiGridTreeBaseService.toggleRowTreeState(self, row, evt);
16111611
};
1612+
$scope.treeButtonKeyDown = function (row, evt) {
1613+
if (evt.keyCode === 32 || evt.keyCode === 13) {
1614+
$scope.treeButtonClick(row, evt);
1615+
}
1616+
};
16121617
}
16131618
};
16141619
}]);
@@ -1645,6 +1650,11 @@
16451650
uiGridTreeBaseService.expandAllRows(self, evt);
16461651
}
16471652
};
1653+
$scope.headerButtonKeyDown = function (evt) {
1654+
if (evt.keyCode === 32 || evt.keyCode === 13) {
1655+
$scope.headerButtonClick(self, evt);
1656+
}
1657+
};
16481658
}
16491659
};
16501660
}]);
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<div
22
class="ui-grid-tree-base-row-header-buttons"
3+
tabindex="0"
34
ng-class="headerButtonClass()"
4-
ng-click="headerButtonClick($event)">
5+
ng-click="headerButtonClick($event)"
6+
ng-keydown="headerButtonKeyDown($event)">
57
</div>

Diff for: packages/tree-base/src/templates/treeBaseRowHeaderButtons.html

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<div
22
class="ui-grid-tree-base-row-header-buttons"
33
ng-class="{'ui-grid-tree-base-header': row.treeLevel > -1 }"
4+
tabindex="0"
5+
ng-keydown="treeButtonKeyDown(row, $event)"
46
ng-click="treeButtonClick(row, $event)">
57
<i
68
ng-class="treeButtonClass(row)"

0 commit comments

Comments
 (0)