Accessibility in Blazor Pivot Table Component

17 Dec 202224 minutes to read

Accessibility is achieved in the pivot table component through WAI-ARIA standard and keyboard navigation. The pivot table features can be effectively accessed through assistive technologies such as screen readers.

WAI-ARIA

WAI-ARIA (Accessibility Initiative – Accessible Rich Internet Applications) defines a way to increase the accessibility of web pages, dynamic content, and user interface components developed with Ajax, HTML, JavaScript,and related technologies. ARIA provides additional semantics to describe the role, state, and functionality of web components.

The following ARIA attributes are used in the pivot table:

  • grid (role)
  • row (role)
  • gridcell (role)
  • aria-selected (attribute)
  • aria-expanded (attribute)
  • aria-sort (attribute)
  • aria-busy (attribute)
  • aria-invalid (attribute)
  • aria-grabbed (attribute)
  • aria-owns (attribute)
  • aria-label (attribute)

Keyboard Navigation

All the pivot table actions can be controlled via keyboard keys. The applicable key combinations and their relative functionalities are listed below for the appropriate UI features available in the component.

Pivot Table

Interaction Keys Description
Tab Moves the cell focus right side. If no cells are focused, it moves to the next active element in the browser page.
Shift + Tab Moves the cell focus left side. If no cells are focused, it moves to the previous active element in the browser page.
DownArrow Moves the cell focus downwards. If the selection is enabled in the pivot table, then it will move downwards to select next row or column or individual cell.
UpArrow Moves the cell focus upwards. If the selection is enabled in the pivot table, then it will move upwards to select previous row or column or individual cell.
LeftArrow Moves the cell focus left side. If the selection is enabled in the pivot table, then it will move left side to select previous row or column or individual cell.
RightArrow Moves the cell focus right side. If the selection is enabled in the pivot table, then it will move right side to select next row or column or individual cell.
Shift + DownArrow Extends the cell selection downwards.
Shift + UpArrow Extends the cell selection selection upwards.
Shift + LeftArrow Extends the cell selection to the left side.
Shift + RightArrow Extends the cell selection to the right side.
Ctrl + A Selects all cells.
Esc Deselects all cells. If the current active element is a context menu, then the context menu popup will be closed.
Home Goes to the first cell in the current row.
End Goes to the last cell in the current row.
Ctrl + Home Goes to the first cell in the table.
Ctrl + End Goes to the last cell in the table.
Enter If the current cell is an expand/collapse cell, it performs expand/collapse operation (drill operation). If the current row/column header is in value sort state, it performs value sorting. If the current cell is in selection state, it moves to the next row, column or individual cell. If drill-through or editing is enabled in the pivot table, the drill-through dialog will be opened based on the selected value cell. If the current active element is a context menu popup, menu selection will be performed.
Shift + Enter If value sorting is enabled in the pivot table and the current cell is a header with respect to its value axis, it performs value sorting to either ascending or descending order. If the current cell is in selection state, it moves to the previous row, column or individual cell.
Ctrl + Enter If hyperlink is enabled in the current cell, it performs hyperlink selection.
Shift + F10 or Menu If context menu is enabled in the pivot table, the context menu popup will be opened in the current cell.

Field List

Interaction Keys Description
Shift + Ctrl + F If the popup field list is enabled in either the pivot table or the pivot chart, the field list dialog will be opened.
Tab Moves to the next active element in the field list. If no active elements are present, it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active element in the field list. If no active elements are present, it moves to the previous active element in the browser page.
Shift + F If the current active element is a field’s button and if it has a filter icon, the filter dialog will open to perform filtering.
Shift + S If the current active element is a field’s button and if it has a sort icon, the sorting will be performed to the selected field.
Shift + E If the current active element is a calculated field’s button and if it has an edit icon, the calculated field dialog will be opened to edit the selected calculated field.
Enter Performs the selection operation of the current active element. If the current active element is a field’s button and it has a dropdown icon, the aggregation menu will open to perform calculations using aggregation options to the selected value field.
Delete If the current active element is a field’s button, the selected field will be removed from the current report.
DownArrow If the current active element is a tree node, it moves to the next node.
UpArrow If the current active element is a tree node, it moves to the previous node.
LeftArrow If the current active element is a tree node, it collapses the current node.
RightArrow If the current active element is a tree node, it expands the current node.
Home If the current active element is a tree node, it goes to the first node.
End If the current active element is a tree node, it goes to the last node.
Space If the current active element is a tree node or a checkbox element, it will be either checked or unchecked.
Esc or Escape Closes the popup field list dialog.

Grouping Bar

Interaction Keys Description
Tab Moves to the next active element (field’s button) in the grouping bar. If no active elements are present, it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active element (field’s button) in the grouping bar. If no active elements are present, it moves to the previous active element in the browser page.
Shift + F If the current active element is a field’s button and if it has a filter icon, the filter dialog will be opened to perform filtering.
Shift + S If the current active element is a field’s button and if it has a sort icon, the sorting will be performed to the selected field.
Shift + E If the current active element is a calculated field’s button and if it has an edit icon, the calculated field dialog will be opened to perform editing the selected calculated field.
Enter Performs the selection operation of the current active element. If the current active element is a field’s button and if it has a dropdown icon, the aggregation menu will be opened to perform calculations using aggregation options to the selected value field.
Delete If the current active element is a field’s button, the selected field will be removed from the current report.
DownArrow If the current active element is a dropdown list, the next item will be selected.
UpArrow If the current active element is a dropdown list, the previous item will be selected.
Home If the current active element is a dropdown list, the first item will be selected.
End If the current active element is a dropdown list, the last item will be selected.
Alt + Down If the current active element is a dropdown list, the popup will be opened.
Alt + Down If the current active element is a dropdown list, the popup will be closed.
Esc or Escape Closes the dropdown list.

Filter Dialog

Interaction Keys Description
Shift + F If the current active element is a field’s button and if it has a filter icon in either the field list or grouping bar UI, the filter dialog will be opened to perform filtering.
Tab Moves to the next active element in the filter dialog. If no active elements present, it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active element in the filter dialog. If no active elements present, it moves to the previous active element in the browser page.
DownArrow If the current active element is a tree node, it moves to the next node.
UpArrow If the current active element is a tree node, it moves to the previous node.
LeftArrow If the current active element is a tree node, it collapses the current node. If the current active element is a tab, it moves focus to the previous tab element.
RightArrow If the current active element is a tree node, it expands the current node. If the current active element is a tab, it moves focus to the next tab element.
Home If the current active element is a tree node, it goes to the first node.
End If the current active element is a tree node, it goes to the last node.
Space If the current active element is a tree node or a checkbox element, it will be either checked or unchecked.
Alt + Down If the current active element is a DropDownList or DatePicker or DateTimePicker, the popup will be opened.
Alt + Up If the current active element is a DropDownList or DatePicker or DateTimePicker, the popup will be closed.
Enter Performs the selection operation of the current active element. If the current active element is a tab, the current tab element will be selected. If the current active element is a tree node, the current node will be either checked or unchecked. If the current active element is DropDownList, the focus item will be selected, and the popup list will close when it is open. Otherwise, toggles the popup list.
Esc or Escape Closes the filter dialog.

Calculated Field Dialog

Interaction Keys Description
Shift + E If the current active element is a field’s button and if it has an edit icon in either the field list or grouping bar UI, the calculated field dialog will be opened to perform editing the selected calculated field.
Tab Moves to the next active element in the calculated field dialog. If no active elements present, it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active element in the calculated field dialog. If no active elements present, it moves to the previous active element in the browser page.
DownArrow If the current active element is a tree node, it moves to the next node.
UpArrow If the current active element is a tree node, it moves to the previous node.
LeftArrow If the current active element is a tree node, it collapses the current node.
RightArrow If the current active element is a tree node, it expands the current node. If the current active element is a tree node and has a menu icon, the aggregation menu will be opened to select appropriate aggregation type to the selected field.
Home If the current active element is a tree node, it goes to the first node.
End If the current active element is a tree node, it goes to the last node.
Enter Performs the selection operation of the current active element. If the current active element is a tree node, it copies the selected field name/formula to the formula text area to perform calculations.
Esc or Escape Closes the calculated field dialog.

Formatting Dialog

Interaction Keys Description
Tab Moves to the next active element in the formatting dialog. If no active elements present, it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active element in the formatting dialog. If no active elements present, it moves to the previous active element in the browser page.
DownArrow If the current active element is a DropDownList, the next item will be selected.
UpArrow If the current active element is a DropDownList, the previous item will be selected.
Home If the current active element is a DropDownList, the first item will be selected.
End If the current active element is a DropDownList, the last item will be selected.
Alt + Down If the current active element is a DropDownList or ColorPicker, the popup will be opened.
Alt + Down If the current active element is a DropDownList or ColorPicker, the popup will be closed.
Enter Performs the selection operation of the current active element.
Esc or Escape Closes the formatting dialog.

Toolbar

Interaction Keys Description
Tab Moves to the next active option in the toolbar. If no active elements present, it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active option in the toolbar. If no active elements present, it moves to the previous active element in the browser page.
Enter Performs the selection operation of the current active element.

Drill-Through Dialog

Interaction Keys Description
Tab Moves to the next active element in the drill-through dialog. If the current active element is a Grid cell, it moves the cell focus to right side. If no active elements present, then it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active element in the drill-through dialog. If the current active element is a Grid cell, it moves the cell focus to left side. If no active elements present, then it moves to the previous active element in the browser page.
DownArrow Moves the row/cell focus downwards.
UpArrow Moves the row/cell focus upwards.
LeftArrow Moves the cell focus left side.
RightArrow Moves the cell focus right side.
Home Goes to the first cell in the current row.
End Goes to the last cell in the current row.
Ctrl + Home Goes to the first cell in the table.
Ctrl + End Goes to the last cell in the table.
Enter Performs the selection operation of the current active element.
Esc or Escape If the cell is in selected state, then it deselects all rows/cells. If the row/cell is in edit state, it cancels the current entries in the row/cell. If the current active element is not a row/cell, it closes the drill-through dialog.
F2 Initiate editing a row/cell in the data grid.
Insert Adds a new row/cell in the data grid.
Delete Removes the selected row in the data grid.

Some commonly used applicable key combinations and their relative functionalities in all dialogs are listed below.

Interaction Keys Description
Tab Moves to the next active element in the dialog. If either no active elements present in the dialog or an overlay is not present in the dialog, it moves to the next active element in the browser page.
Shift + Tab Moves to the previous active element in the dialog. If either no active elements present in the dialog or an overlay is not present in the dialog, it moves to the previous active element in the browser page.
Space If the current active element is a tree node or a checkbox element, it will be either checked or unchecked.
Enter When the Dialog button or any input (except text area) is in focus state, when pressing the Enter key, the click event associated with the primary button or button will be triggered. The Enter key will not be worked, when the dialog content contains any text area with initial focus.
Esc or Escape Closes the dialog.

NOTE

You can refer to the Blazor Pivot Table feature tour page for its groundbreaking feature representations. You can also explore the Blazor Pivot Table example to know how to render and configure the pivot table.