Accessibility Support
Out of the box, the Telerik and Kendo UI MultiSelectTree provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.
The MultiSelectTree 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.
MultiSelectTree Wrapping Element
Selector | Attribute | Usage |
---|---|---|
.k-multiselecttree | role=combobox | Announces the presence of a combobox as inner element of the multiselect used for filtering. |
label for or aria-label or aria-labelledby | The input needs an accessible name to be assigned to it. | |
aria-haspopup=tree | Indicates the presence of a tree popup. | |
aria-expanded=true/false | Announces the state of the visibility of the popup. | |
aria-controls=.k-treeview id | Points to the treeview element. Signifies that the combobox element controls the treeview . | |
aria-autocomplete=list | Attribute is rendered and value is set to list when filtering feature is enabled. | |
aria-describedby=.k-chip-list id | Points to the taglist element that contains the selected items. | |
aria-readonly=true | Attribute is rendered only when the multiselect is readonly. | |
aria-invalid=true | Attribute is rendered only when the multiselect is in form and announces the valid state of the component. | |
aria-busy=true | Attribute is rendered only when the multiselect is loading data. | |
tabindex=0 | The element should be focusable. | |
.k-multiselecttree.k-disabled | aria-disabled=true | Attribute is rendered only when the multiselect is disabled. |
.k-input-button | role=button | The element should either be a <button> element or should have role="button" assigned. |
aria-label | The button needs an accessible name to be assigned to it. | |
tabindex=-1 | Button element should not be focusable. |
Popup
Selector | Attribute | Usage |
---|---|---|
.k-animation-container | role=region | When the component container is appended to the <body> element of the document, it needs a landmark role to be assigned to it. Otherwise, it should be appended to an element with an appropriate landmark role. |
aria-label or aria-labelledby | Provides a label when the container has a region role assigned. |
TreeView
The Tree placed in the Popup element of the component should implement the specification for a TreeView component.
Keyboard Shortcuts
Shortcut | Behavior |
---|---|
Down Arrow | Selects the next available item. |
Up Arrow | Selects the previous available item. |
Alt/Opt(Mac) Down | Opens pop up |
Alt/Opt(Mac) Up or Esc | `Closes popup |
Enter | Selects and confirm the focused item. |
Space | Selects and confirm the focused item. |
printable characters | Typing "M" or any other printable character should select the next or first item in the list |
Esc | Clears the value when the popup is not open. |
The TreeView element inside the Popup should implement the KB specification for a TreeView component.
The items in the TreeView should not be selectable when used in the MultiSelectTreeView. Hence, when clicking (or pressing Enter/Space) on an item, it should not receive the .k-selected
class.
Testing
The MultiSelectTree has been extensively tested automatically with axe-core and manually with the most popular screen readers.
Screen Readers
The MultiSelectTree has been tested with the following screen readers and browsers combinations:
Environment | Tool |
---|---|
Firefox | NVDA |
Chrome | JAWS |
Microsoft Edge | JAWS |