Accessibility Support
Out of the box, the Telerik and Kendo UI Pager provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.
The Pager is compliant with the Web Content Accessibility Guidelines (WCAG) 2.2 standards and Section 508 requirements, follows the Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA) best practices for implementing the keyboard navigation for its component
role, provides options for managing its focus and is tested against the most popular screen readers.
WAI-ARIA
This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any.
The PageSize
select must be implemented either as a DropDownList component with no filtering or through a native <select>
element.
The Page
select, which is present for mobile devices and smaller screens with kimited space for page links, must be a native <select>
element.
Selector | Attribute | Usage |
---|---|---|
.k-pager | role=application | Indicates that the pager element has its own keyboard navigation implemented. |
aria-roledescription=pager | Clarifies the role of the Pager. | |
aria-keyshortcuts=Enter ArrowRight ArrowLeft | Announces the available keyboard shortcuts while the pager element is focused. | |
aria-label | Announces the currently selected page and the number of available pages. | |
aria-controls | Points to the id of the element that is being controlled, for example, a Grid. | |
.k-pager-nav | role=button or nodeName=button | Specifies the role of the element. |
aria-disabled=true | The attribute is present when the the Arrow button is disabled, for example, present on the Previous button when the current page is the first one. | |
title | Specifies the purpose of each button. | |
.k-pager-numbers>.k-link | role=button or nodeName=button | Specifies the role of the element. |
aria-label or title | Specifies the purpose of each link, for example, Page 6 . | |
aria-current=page | The attribute must be present on the currently selected page element. | |
.k-pager-sizes>.k-dropdownlist | aria-label | The element requires an aria-label to specify its purpose. |
.k-pager-numbers-wrap>.k-dropdown | aria-label | The element requires an aria-label to specify its purpose. |
.k-pager-input>.k-input>.k-input-inner | aria-label | The element requires an aria-label to specify its purpose. |
Managing the Focus
The Pager wrapper element is part of the page tab sequence. When focused, it allows the user to press Enter
to activate its inner navigation. The inner navigation in the component also relies on Tab
. When the focus is inside the Pager, it is trapped.
Each specific implementation of the Pager component may offer a configuration option that allows you to change the default behavior of the component that is described in this section. The purpose of such alternative behavior may be to include all Pager elements directly in the document tab sequence or to implement Arrow
-based navigation among the inner Pager elements.
Important notes:
- All buttons in the Pager, including the disabled ones, are always focusable.
- In scenarios when the currently focused button disappears from the Pager upon user interaction, for example, the More pages button, you must move the focus to the button representing the currently selected page.
Keyboard Shortcuts
The following sections describe the keyboard navigation of the Pager according to the specific use-case scenario.
All Scenarios
The following table lists the keyboard combinations supported by the Pager and valid for all scenarios.
Shortcut | Behavior |
---|---|
Home | Loads the first page of data if the current page is not the first one. |
End | Loads the last page of data if the current page is not the last one. |
Focused Wrapper
The following table lists the keyboard combinations supported by the Pager when its wrapper element is focused.
Shortcut | Behavior |
---|---|
Enter | Activates the inner Pager navigation. |
Tab | Navigates to the next focusable element on the page. |
Shift + Tab | Navigates to the previous focusable element on the page. |
Left Arrow | Loads the previous page of data, if any. |
Right Arrow | Loads the next page of data, if any. |
Page Up | Loads the previous page of data, if any. |
Page Down | Loads the next page of data, if any. |
Activated Inner Navigation
The following table lists the keyboard combinations supported by the Pager when its inner navigatin is activated.
Shortcut | Behavior |
---|---|
Esc | Moves the focus back to the wrapper element. Deactivates the inner Pager navigation. |
Tab | Navigates to the next focusable element in the Pager. If the current focus is on the last element, moves the focus to the first focusable item in the component. |
Shift + Tab | Navigates to the previous focusable element in the Pager. If the current focus is on the first element, moves the focus to the last focusable item in the component. |
Enter | For button items, and Pager input executes the currently focused action (page change). |
Testing
The Pager has been extensively tested automatically with axe-core and manually with the most popular screen readers.
Screen Readers
The Pager has been tested with the following screen readers and browsers combinations:
Environment | Tool |
---|---|
Firefox | NVDA |
Chrome | JAWS |
Microsoft Edge | JAWS |