Accessibility Support
Out of the box, the Telerik and Kendo UI Menu provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.
The Menu 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.
Selector | Attribute | Usage |
---|---|---|
.k-menu:not(.k-context-menu) | role=menubar | Announces the Menu menubar role |
.k-menu.k-menu-vertical | aria-orientation=vertical | Announces the Menu orientation when vertical. |
.k-menu-item | role=menuitem | Announces the Menu item role. |
tabindex=0/-1 | The focused item has tabindex '0', the rest - '-1' | |
.k-menu-item[aria-expanded] | aria-haspopup=true | Indicates that there is a popup, associated with the item. Applicable to expandable items only. |
.k-menu-item[aria-haspopup] | aria-controls=ul.k-menu-group id | Indicates that there is a popup, associated with the item. Applicable to expandable items only. |
.k-menu-item[aria-haspopup] | aria-expanded=true/false | Indicates whether the item is expanded. |
.k-menu-item.k-disabled | aria-disabled=true | Informs assistive technologies that a Menu item is disabled. |
.k-menu-expand-arrow | aria-hidden=true | The Menu item expand arrow elements are hidden from the assistive technologies. |
.k-menu-popup .k-menu-group | role=menu | The role of the nested (not root-level) menu displayed in a popup. |
id | Each nested menu has a deterministic id attribute that is linked to the aria-controls attribute ot its parent. |
Managing the Focus
Roving tab index components strategy implemented. Meaning that only one node has tabindex in the menu. Interaction on a menuitem
should focus it.
Keyboard Shortcuts
Actions applied to the Horizontal Menu:
Shortcut | Behavior |
---|---|
Up Arrow |
|
Down Arrow |
|
Left Arrow |
|
Right Arrow |
|
Home | Focuses the first item. |
End | Focuses the last item. |
Enter | Selects the focused item. If the item has children, opens the item and focuses the first child. If the item does not have children and has a URL, navigates to the specified URL. |
Space | Selects the focused item. If the item has children, opens the item and focuses the first child. If the item does not have children and has a URL, navigates to the specified URL. |
Escape | (For child items) Closes and focuses the parent. |
Alphanumeric character | Focuses the next item with text starting with the character. |
If the Menu is vertical, the arrow keys perform the following actions:
Shortcut | Behavior |
---|---|
Up Arrow | Focuses the previous item. |
Down Arrow | Focuses the next item. |
Left Arrow |
|
Right Arrow | If the item has children, opens the item and focuses the first child. For child items without children, focuses and opens the next root item. |
Testing
The Menu has been extensively tested automatically with axe-core and manually with the most popular screen readers.
Screen Readers
The Menu has been tested with the following screen readers and browsers combinations:
Environment | Tool |
---|---|
Firefox | NVDA |
Chrome | JAWS |
Microsoft Edge | JAWS |