ColorGradient

The ColorGradient component enables intuitive color selection through canvas, sliders, or manual input of specific color values.

Accessibility Support

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

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

ColorGradient Wrapping Element

SelectorAttributeUsage
.k-colorgradientrole=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-colorgradient.k-disabledaria-disabled=trueAttribute is rendered only when the ColorPalette is disabled.

Drag handles

All the k-draghandle elements implement the Slider specification.

Apart from that the HSV draghandle must also cover the following additional requirements:

SelectorAttributeUsage
.k-hsv-draghandlearia-orientation=undefinedThe implicit orientation for the role="slider" must be removed.
aria-labelMust provide information about the purpose of the slider (for example: "Color well with two-dimensional slider for selecting saturation and lightness") and the currently selected color (for example: "X: 142, Y: 93").
aria-valuetextMust specify the values on both X and Y axis.

NumericTextBoxes

The Numeric inputs must implement the NumericTextBox specification.

Here is one additional requirement for those numerics as their visible labels have only a single letter as a tex:

SelectorAttributeUsage
.k-numerictextbox>.k-input-inneraria-labelMust provide information about the numeric input purpose - the name of the chanel it is aimed at (red chanel, green chanel, blue chanel, or alpha chanel).

Managing the Focus

The ColorGradient 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 ColorGradient 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 ColorGradient navigation.
TabNavigates to the next focusable element in the ColorGradient. 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 ColorGradient. If current focus is on the first element, moves focus to the last focusable item in the component.
EnterFor button items, ColorGradient executes the currently focused button action.

Inner elements shortcuts

The inner elements implement the shortcuts for their component type. There are k-draghandle (Slider) elements and k-numerictextbox (NumericTextBox) elements.

k-hsv-draghandle

Apart from the default implementation, there is a two-dimensional Slider element (k-hsv-draghandle) implementing the following arrow keys shortcuts:

ShortcutBehavior
Arrow UpMoves slider up by large step.
Arrow DownMoves slider down by large step.
Arrow LeftMoves slider left by large step.
Arrow RightMoves slider right by large step.
Shift + Arrow UpMoves slider up by small step.
Shift + Arrow DownMoves slider down by small step.
Shift + Arrow LeftMoves slider left by small step.
Shift + Arrow RightMoves slider right by small step.

Testing

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

Screen Readers

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

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS