FlatColorPicker

The FlatColorPicker provides intuitive color selection from a wide spectrum or a predefined palette for precise customization and flexibility.

Accessibility Support

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

The FlatColorPicker 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.

The FlatColorPicker contains in itself ColorGradient, ColorPalette, a UI to switch between them, Cancel, Apply, and a button to reset its value. All the containing elements must implement their own specification apart from the ColorGradient element where some changes are required.

FlatColorPicker Wrapping Element

SelectorAttributeUsage
.k-flatcolorpickerrole=textboxThe focusable wrapper of the component should be considered a textbox. That signifies it has a value that could be submitted.
aria-label or aria-labelledbyThe component needs an accessible name to be assigned to it. Must also include the currently selected value in the component.
aria-invalid=trueAttribute is rendered only when the selected value in the component is not valid against the current validation rules.
tabindex=0The element must be focusable.
.k-flatcolorpicker.k-disabledaria-disabled=trueAttribute is rendered only when the ColorPalette is disabled.

ColorGradient

SelectorAttributeUsage
.k-colorgradientrole=none/The ColorGradient element must have its role removed.
aria-labelThe ColorGradient element must have its aria-label attribute removed.
tabindex=-1/The ColorGradient must be removed from the page tab sequence.

Managing the Focus

The FlatColorPicker is a single-tab-stop component. Its inner navigation is activated by pressing the Enter key. In that case the focus remains trapped within the component elements. The user returns to page navigation by pressing Esc.

Keyboard Shortcuts

When wrapper is focused

ShortcutBehavior
EnterActivates inner FlatColorPicker navigation.
TabNavigates to the next focusable element on the page.
Shift + TabNavigates to the previous focusable element on the page.

When inner navigation is activated

ShortcutBehavior
EscMoves focus back to wrapper element. Deactivates inner FlatColorPicker navigation.
TabNavigates to the next focusable element in the FlatColorPicker. If current focus is on the last element, moves focus to the first focusable item in the component.
Shift + TabNavigates to the previous focusable element in the FlatColorPicker. If current focus is on the first element, moves focus to the last focusable item in the component.
EnterFor button items, FlatColorPicker executes the currently focused button action.

Inner elements shortcuts

The inner elements implement the shortcuts for their component type. There are ColorGradient, ColorPalette, and Button elements. Note that the ColorGradient must expose directly its inner navigation when used in a FlatColorPicker (the wrapper must not be focusable itself).

Testing

The FlatColorPicker has been extensively tested automatically with axe-core and manually with the most popular screen readers.

Screen Readers

The FlatColorPicker has been tested with the following screen readers and browsers combinations:

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS