@progress/wct-a11y-spec
Version:
Contains accessibility and keyboard navigation specification of Telerik and Kendo web components.
110 lines (60 loc) • 5.01 kB
Markdown
Out of the box, the Kendo UI for Angular SmartBox provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.
The SmartBox is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#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.
### SmartBox Component
The SmartBox is an AI-enhanced input component that provides intelligent suggestions and autocomplete functionality. It extends the standard input component with a popup suggestion list and optional prefix/suffix elements.
| Selector | Attribute | Usage |
| -------- | --------- | ----- |
| `.k-smart-box .k-input-inner` | `role=combobox` | Announces the combobox role for the SmartBox input. |
| | `aria-label` or `aria-labelledby` | Provides an accessible label for the SmartBox (e.g., 'AI-powered search'). |
| | `aria-expanded=true/false` | Indicates whether the suggestion popup is currently visible. |
| | `aria-haspopup=listbox` | Indicates that the SmartBox has a popup listbox with suggestions. |
| | `aria-controls` | References the ID of the popup listbox element when the popup is open. |
| | `aria-autocomplete` | Indicates the autocomplete behavior of the input field. |
| | `aria-activedescendant` | When the popup is open and keyboard navigation is active, references the ID of the currently focused list item. |
### Prefix and Suffix Elements
The SmartBox supports prefix and suffix areas for icons and buttons (e.g., AI sparkles icon, microphone button, send button).
| Selector | Attribute | Usage |
| -------- | --------- | ----- |
| `.k-smart-box .k-input-prefix .k-icon` | `aria-hidden=true` | Decorative icons in the prefix area are hidden from screen readers. |
| `.k-smart-box .k-input-suffix .k-button` | `aria-label` | Suffix buttons must have accessible labels describing their function (e.g., 'Start voice input', 'Send prompt'). |
### Send Button
The primary action button for submitting the input or stopping processing.
| Selector | Attribute | Usage |
| -------- | --------- | ----- |
| `.k-smart-box-send` | `aria-label` | The send button must be labelled to indicate its current action (e.g., 'Send' or 'Stop processing'). |
| `.k-smart-box-send.k-disabled` | `disabled` or `aria-disabled=true` | Indicates the button is disabled when there is no input or processing is not active. |
| `.k-smart-box-send.k-processing` | `aria-pressed=true` | Indicates that processing is in progress. The button changes function to stop processing. |
### Live Region Announcements
When suggestions are loaded or processing completes, screen readers should be notified.
| Selector | Attribute | Usage |
| -------- | --------- | ----- |
| `[data-suggestions-status]` | `aria-live=polite` | Use a visually hidden live region to announce status changes (e.g., 'X suggestions available', 'Processing complete'). |
| | `aria-atomic=true` | Determines whether the entire region is announced on updates. |
### Speech-to-Text Button
[Speech-to-Text Button accessibility specification]({{speechtotextbutton_a11y_link}})
### Popup List
The suggestion popup follows the List accessibility specification. When open, the popup renders a listbox with option items.
[List accessibility specification]({{list_a11y_link}})
[Popup accessibility specification]({{popup_a11y_link}})
### Segmented Control
When present in the popup, the segmented control follows the Segmented Control accessibility specification.
[Segmented Control accessibility specification]({{segmentedcontrol_a11y_link}})
### Button Component
[Button accessibility specification]({{button_a11y_link}})
## Resources
[ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/patterns/)
[ARIA Authoring Practices: Combobox Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/combobox/)
## Section 508
The SmartBox is fully compliant with the [Section 508 requirements](http://www.section508.gov/).
## Testing
The SmartBox has been extensively tested automatically with [axe-core](https://github.com/dequelabs/axe-core) and manually with the most popular screen readers.
> To report any accessibility issues, contact the team through the [Telerik Support System](https://www.telerik.com/account/support-center).
### Screen Readers
The SmartBox has been tested with the following screen readers and browsers combinations:
| Environment | Tool |
| ----------- | ---- |
| Firefox | NVDA |
| Chrome | JAWS |
| Microsoft Edge | JAWS |