Calendar Accessibility

Out of the box, the Kendo React Calendar provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.

The Calendar is compliant with the Web Content Accessibility Guidelines (WCAG) 2.2 AA 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.

Calendar Grid Element

The Calendar Grid should follow the requirements for the grid role (https://www.w3.org/TR/wai-aria-1.2/#grid). It is a single-tab-stop component. All the button actions available for mouse users are also available via keyboard shortcuts.

SelectorAttributeUsage
.k-calendar:not(.k-calendar-infinite):not(.k-calendar-range) .k-calendar-tablerole=gridSpecifies the role of the Calendar dates table.
aria-labelledby=.k-nav-fast idPointing to the current view label (e.g. March 2022 or 2020-2029).
aria-activedescendant=.k-calendar-td.k-focus idPointing to the currently active (focused) date/month/year/decade in the table.
tabindex=0Makes the grid focusable.
.k-calendar-theadrole=rowgroupThere must be <thead> element or an element with role="rowgroup". That group of rows must contain the header row of cells.
.k-calendar-tbodyrole=rowgroupThere must be <tbody> element or an element with role="rowgroup". That group of rows must contain the rows with date/month/tear/decade cells.
.k-calendar-trrole=rowThe thead and the tbody elements must contain <tr> elements or elements with role="row".
.k-content:nth-child(1) .k-calendar-thscope=colSpecifies that the header is applied to a column.
aria-labelSpecifies the full name of the day of the week (the column header).
role=columnheader or nodeName=thThe row in the <thead> must contain <th> elements or elements with role="columnheader".
.k-calendar-tdrole=gridcellThe rows in the <tbody> must contain <td> elements or elements with role="gridcell".
.k-calendar-td.k-selectedaria-selected=trueSpecifies whether the date is selected or not.
.k-calendar-td.k-disabledaria-disabled=trueWhen a date is not available for selection, its gridcell element must have the attribute set to true.
.k-year .k-calendar-tdaria-labelApplicable in year view - for better context contains the full name of the month. May also be applied in month view to specify the full text for a date.
SelectorAttributeUsage
.k-nav-next,.k-nav-prevrole=button or nodeName=buttonPrevious / Next buttons must either be <button> elements or have the appropriate role.
aria-label or titlePrevious and Next buttons must have descriptive text set as they contain only an icon (no text).
tabindex=-1The buttons must not be focusable.
.k-nav-next.k-disabled,.k-nav-prev.k-disabledaria-disabled=trueWhen navigation is not allowed outside the current month/year/decade the Previous and Next buttons should have this attribute set to true.
.k-nav-fastrole=button or nodeName=buttonGo to parent view button must either be a <button> element or must have the appropriate role.
aria-label or titleGo to parent view button must have descriptive text set explaining its purpose.
tabindex=-1The buttons must not be focusable.
.k-nav-fast.k-disabledaria-disabledWhen navigation is not allowed outside the current view the button should have this attribute set to true.
.k-nav-todayrole=link or nodeName=aToday link must either be <a> element or must have the appropriate role.
tabindex=-1The link must not be focusable.

Resources

ARIA practices Date Picker Dialog Example

Section 508

The Calendar is fully compliant with the Section 508 requirements.

Testing

The Calendar has been extensively tested automatically with axe-core and manually with the most popular screen readers.

To report any accessibility issues, contact the team through the Telerik Support System.

Screen Readers

The Calendar has been tested with the following screen readers and browsers combinations:

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS

See Also