DropDownList Accessibility

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

The DropDownList is compliant with the Web Content Accessibility Guidelines (WCAG) 2.1 AA standards](https://www.w3.org/TR/WCAG21/) 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

The following table lists the selectors, attributes, and behavior patterns supported by the DropDownList component:

DropDownList wrapper

SelectorAttributeUsage
.k-dropdownlistrole=comboboxAnnounces the button dropdown element.
label for or aria-label or aria-labelledbyThe input needs an accessible name to be assigned to it.
aria-haspopup=listboxIndicates the presence of a listbox popup.
aria-expanded=true/falseAnnounces the state of the visibility of the popup.
aria-controls=.k-list-ul idPoints to the listbox element. Signifies that the combobox element controls the listbox.
aria-describedby=.k-input-inner idAnnounces the selected value of the dropdown.
aria-activedescendant=.k-list-item.k-focus idPoints to the focused item in the popup. The focused item is changed via keyboard navigation. If the popup is not visible, the attribute should not point to any element or should be removed.
aria-readonly=trueAttribute is rendered only when the dropdown is readonly.
aria-busy=trueAttribute is rendered only when the dropdown is loading data.
tabindex=0The element should be focusable.
.k-invalid .k-input-inner,.ng-invalid .k-input-inneraria-invalid=trueAttribute is rendered only when the dropdown is in form and announces the valid state of the component.
.k-dropdownlist.k-disabledaria-disabled=trueAttribute is rendered only when the dropdown is disabled.
.k-input-buttonrole=button or nodeName=buttonThe element should either be a <button> element or should have role="button" assigned.
aria-labelThe button needs an accessible name to be assigned to it.
tabindex=-1Button element should not be focusable.

Popup

SelectorAttributeUsage
.k-list-filter>.k-searchbox>.k-input-innerrole=searchboxAnnounces the searchbox capability of the input.
aria-labelPoints to search label.
aria-activedescendant=.k-list-item.k-focus idPoints to the focused item. Either an item from the popup.
aria-autocomplete=listIndicates the list filtering capabilities of the select.
aria-controls=.k-list-ul idPoints to the popup element. Builds relationship between the input and the popup.
aria-haspopup=listboxIndicates the presence of a listbox popup.
.k-list-ularia-live=polite/offAssures the live updates on the selected value of the popup.

The ListBox placed in the Popup element of the component should implement the specification for a Popup List component.

SelectorAttributeUsage
.k-animation-containerrole=regionWhen 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-labelledbyProvides a label when the container has a region role assigned.
.k-list-ulrole=listboxIdentifies the ul element as a listbox.
aria-label or aria-labelledbyProvides a label for the listbox of the combobox.
.k-list-itemrole=optionIdentifies the li element as a listbox option.
.k-list-item.k-selectedaria-selected=trueIndicates the selected state of the item.

Resources

ARIA practices: Select-Only Combobox Example

Section 508

The DropDownList is fully compliant with the Section 508 requirements.

Testing

The DropDownList has been extensively tested automatically with static code analyzers and manually with the most popular screen readers.

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

Screen Readers

The following table lists the screen readers supported by the DropDownList:

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS

See Also