UNPKG

@progress/wct-a11y-spec

Version:

Contains accessibility and keyboard navigation specification of Telerik and Kendo web components.

86 lines (48 loc) 3.93 kB
Out of the box, the Kendo React Prompt Box provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. The Prompt Box 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. ### Prompt Box Component The Prompt Box is an input component designed for AI-assisted interactions. It supports single-line and multi-line text input modes, and integrates with the Speech-to-Text Button component. ### Input Field #### Single-line Input | Selector | Attribute | Usage | | -------- | --------- | ----- | | `.k-prompt-box-singleline .k-prompt-box-input` | `nodeName=input` | Ensures the input field has the proper textbox role. | | | `aria-label` or `aria-labelledby` | Provides an accessible label for the input. Use `aria-label` or associate with a visible label via `aria-labelledby`. | | | `placeholder` | Provides a short hint to the user about the expected input. Should not replace proper labeling. | #### Multi-line Textarea | Selector | Attribute | Usage | | -------- | --------- | ----- | | `.k-prompt-box-multiline .k-prompt-box-textarea` | `nodeName=textarea` | Ensures the textarea has the proper textbox role. | | | `aria-label` or `aria-labelledby` | Provides an accessible label for the textarea. Use `aria-label` or associate with a visible label via `aria-labelledby`. | | | `placeholder` | Provides a short hint to the user about the expected input. Should not replace proper labeling. | | | `aria-multiline=true` | Indicates the textarea supports multiple lines of text. | ### Prompt Box Affixes The Prompt Box can have prefix and suffix elements containing buttons and icons. | Selector | Attribute | Usage | | -------- | --------- | ----- | | `.k-prompt-box-affix .k-button` | `role=button` or `nodeName=button` | Buttons in affixes must have appropriate role. | | | `aria-label` | Affix buttons must be properly labelled to describe their function. | ### Send/Submit Button The primary action button for submitting the prompt or stopping generation. | Selector | Attribute | Usage | | -------- | --------- | ----- | | `.k-prompt-box-affix .k-button:has(.k-svg-i-arrow-up-outline), .k-prompt-box-affix .k-button:has(.k-svg-i-stop-sm)` | `aria-live=polite` | The send button renders the aria-live attribute to announce the change in status. | | | `aria-label` | The send button is labelled to indicate its current action (e.g., 'Send prompt' or 'Stop generating'). | ### Speech-to-Text Button [Speech-to-Text Button accessibility specification]({{speechtotextbutton_a11y_link}}) ## Resources [ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/patterns/) ## Section 508 The Prompt Box is fully compliant with the [Section 508 requirements](http://www.section508.gov/). ## Testing The Prompt Box 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 Prompt Box has been tested with the following screen readers and browsers combinations: | Environment | Tool | | ----------- | ---- | | Firefox | NVDA | | Chrome | JAWS | | Microsoft Edge | JAWS |