Accessibility Support
Out of the box, the Telerik and Kendo UI AutoComplete provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.
The AutoComplete 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.
AutoComplete Wrapping Element
The following table summarizes the selectors and attributes supported by the AutoComplete wrapper element:
| Selector | Attribute | Usage | 
|---|---|---|
| .k-input-inner | role=combobox | Announces the presence of an AutoComplete as the inner element of the AutoComplete that is used for filtering. | 
| label fororaria-labeloraria-labelledby | The input needs an accessible name that will be assigned to it. | |
| aria-haspopup=listbox | Indicates that the component has a listbox popup. | |
| aria-expanded=true/false | Announces the state of the popup visibility. | |
| aria-controls=.k-list-ul id | Points to the listboxelement. Signifies that thecomboboxelement controls thelistboxone. | |
| aria-activedescendant=.k-list-item.k-focus id | Points to the focused item in the popup. The focused item is changed with keyboard navigation. If the popup is not visible, the attribute must not point to any element or must be removed. | |
| aria-autocomplete=list | The attribute is rendered and the value is set to listwhen the filtering feature is enabled. | |
| aria-autocomplete=both | The attribute is rendered and the value is set to bothwhen both the filtering and suggest features are enabled. | |
| aria-autocomplete=inline | The attribute is rendered and the value is set to onlywhen the suggest feature is enabled. | |
| readonlyoraria-readonly | The attribute is rendered only when the AutoComplete is read-only. | |
| aria-busy=true | The attribute is rendered only when the AutoComplete is loading data. | |
| tabindex=0 | The element must be focusable. | |
| .k-invalid .k-input-inner,.ng-invalid .k-input-inner | aria-invalid=true | The attribute is rendered only when the AutoComplete is in a form and announces the valid state of the component. | 
| .k-disabled .k-input-inner | disabled=disabledoraria-disabled=true | The attribute is rendered only when the AutoComplete is disabled. | 
Popup Listbox
The popup element of the AutoComplete has to implement the WAI-ARIA specification for a Popup List component. The following table summarizes the selectors and attributes supported by the listbox popup of the AutoComplete:
| Selector | Attribute | Usage | 
|---|---|---|
| .k-animation-container | role=region | When the component container is appended to the <body>element of the document, it requires you to assing alandmarkrole to it. Otherwise, append it to an element with an appropriatelandmarkrole. | 
| aria-labeloraria-labelledby | When the container has a regionrole assigned, povides a label. | |
| .k-list .k-no-data | aria-live=polite | Identifies the element as a live region in the politestate, meaning assistive technology users are informed about changes to the region at the next available opportunity. | 
| .k-list-ul | role=listbox | Identifies the ulelement as a listbox. | 
| aria-labeloraria-labelledby | Provides a label for the listbox of the ComboBox. | |
| .k-list-item | role=option | Identifies the lielement as a listbox option. | 
| id | When grouped, the list items must have an idattribute specified, so that thearia-ownsattribute of their group header elements (withrole=group) point to that ids. | |
| aria-describedby | When grouped, the list items must have an aria-describedbyattribute pointing to the id of thek-list-item-textelement in theirk-list-group-item. | |
| .k-list-item.k-selected | aria-selected=true | Indicates the selected state of the item. | 
| .k-list-group-item | role=group | The group elements in the popup list must be have role=group. | 
| aria-owns | The group elements in the popup list must own the list items belonging to their group. | |
| .k-list-group-item>.k-list-item-text | id | The k-list-item-textelements of thek-list-group-itemmust have an id specified. Thearia-labelledbyattribute of the list items in the group must point to that id. | 
Adaptive Mode
When the component is in adaptive mode, the popup element follows the specifications of the ActionSheet component.
Keyboard Shortcuts
This section lists the keyboard shortcuts supported by the AutoComplete composite elements.
AutoComplete Wrapping Element
The following table summarizes the keyboard combinations and input behavior supported by the AutoComplete wrapper element:
| Shortcut | Behavior | 
|---|---|
| Typing in the input | Focuses the matched item. | 
| Alt(orOpton Mac) +Down Arrow | Opens the popup. | 
| Alt(orOpton Mac) +Up ArroworEsc | Closes the popup. | 
| Esc | Resets the value in the input when the popup is closed. | 
| Enter | Triggers the changeevent. | 
Listbox Popup
The popup element of the AutoComplete has to implement the keyboard navigation specification for a Popup List component.
| Shortcut | Behavior | 
|---|---|
| Down Arrow | Moves the focus to the next item. | 
| Up Arrow | Moves the focus to the previous item. | 
| Alt(orOpton Mac) +Up ArroworEsc | Closes the popup. | 
| Home | Moves the focus to the first item. Applicable only when the currently focused element is not an input. When an input is the focused element, the HomeandEndkeys are used for the cursor position. | 
| End | Moves the focus to the last item. Applicable only when the currently focused element is not an input. When an input is the focused element, the HomeandEndkeys are used for the cursor position. | 
| Enter | Initiates item click. | 
| Page Up | Scrolls the popup list up. | 
| Page Down | Scrolls the popup list down. | 
| Tab | Closes the popup and focuses the next focusable element. | 
ActionSheet Popup
In adaptive mode, the popup element of the AutoComplete has to implement the keyboard navigation specification for an ActionSheet component.
Testing
The AutoComplete has been extensively tested automatically with axe-core and manually with the most popular screen readers.
Screen Readers
The AutoComplete has been tested with the following screen readers and browsers combinations:
| Environment | Tool | 
|---|---|
| Firefox | NVDA | 
| Chrome | JAWS | 
| Microsoft Edge | JAWS | 
Resources
- WAI-ARIA Authoring Practices: Editable Combobox With Both List and Inline Autocomplete Example
- WAI-ARIA Authoring Practices: Editable Combobox With List Autocomplete Example
- WAI-ARIA Authoring Practices: Combobox Pattern
- WAI-ARIA Authoring Practices: Editable Combobox With List Autocomplete
- WAI-ARIA Authoring Practices: Listbox Pattern