Pager

Pagers are UI elements that divide a large amount of data into multiple pages and navigate the users through them.

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.

SelectorAttributeUsage
.k-pagerrole=applicationIndicates that the pager element has its own keyboard navigation implemented.
aria-roledescription=pagerClarifies the role of the Pager.
aria-keyshortcuts=Enter ArrowRight ArrowLeftAnnounces the available keyboard shortcuts while the pager element is focused.
aria-labelAnnounces the currently selected page and the number of available pages.
aria-controlsPoints to the id of the element that is being controlled, for example, a Grid.
.k-pager-navrole=button or nodeName=buttonSpecifies the role of the element.
aria-disabled=trueThe 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.
titleSpecifies the purpose of each button.
.k-pager-numbers>.k-linkrole=button or nodeName=buttonSpecifies the role of the element.
aria-label or titleSpecifies the purpose of each link, for example, Page 6.
aria-current=pageThe attribute must be present on the currently selected page element.
.k-pager-sizes>.k-dropdownlistaria-labelThe element requires an aria-label to specify its purpose.
.k-pager-numbers-wrap>.k-dropdownaria-labelThe element requires an aria-label to specify its purpose.
.k-pager-input>.k-input>.k-input-inneraria-labelThe 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.

ShortcutBehavior
HomeLoads the first page of data if the current page is not the first one.
EndLoads 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.

ShortcutBehavior
EnterActivates the inner Pager navigation.
TabNavigates to the next focusable element on the page.
Shift + TabNavigates to the previous focusable element on the page.
Left ArrowLoads the previous page of data, if any.
Right ArrowLoads the next page of data, if any.
Page UpLoads the previous page of data, if any.
Page DownLoads 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.

ShortcutBehavior
EscMoves the focus back to the wrapper element. Deactivates the inner Pager navigation.
TabNavigates 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 + TabNavigates 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.
EnterFor 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:

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS

Resources