Skip to content

Color Viewer Slider Example

Color Viewer Slider Example

Read This First

The code in this example is not intended for production environments. Before using it for any purpose, read this to understand why.

This is an illustrative example of one way of using ARIA that conforms with the ARIA specification.

About This Example

Warning!

Some users of touch-based assistive technologies may experience difficulty utilizing widgets that implement this slider pattern because the gestures their assistive technology provides for operating sliders may not yet generate the necessary output. To change the slider value, touch-based assistive technologies need to respond to user gestures for increasing and decreasing the value by synthesizing key events. This is a new convention that may not be fully implemented by some assistive technologies. Authors should fully test slider widgets using assistive technologies on devices where touch is a primary input mechanism before considering incorporation into production systems.

Following is an example of a color viewer that demonstrates the Slider Pattern. Change the background of the color view box by adjusting the sliders for red, green, and blue values. The HEX and RGB values of the chosen color are displayed by the color view box.

Similar examples include:

  • Rating Radio Group Example: Radio group that provides input for a five-star rating scale.
  • Color Viewer Slider Example: Basic horizontal sliders that illustrate setting numeric values for a color picker.
  • Vertical Temperature Slider Example: Demonstrates using aria-orientation to specify vertical orientation and aria-valuetext to communicate unit of measure for a temperature input.
  • Media Seek Slider Example: Horizontal slider that demonstrates using aria-valuetext to communicate current and maximum values of time in media to make the values easy to understand for assistive technology users by converting the total number of seconds to minutes and seconds.
  • Horizontal Multi-Thumb Slider Example: Demonstrates using sliders with two thumbs to provide inputs for numeric ranges, such as for searching in a price range.

Example

Color Viewer

Red
Green
Blue

Color View Box

Accessibility Features

  • To help assistive technology users understand that the color viewer is made of a group of three sliders, the sliders are wrapped in a group labeled by the heading that labels the color viewer.
  • The placement of the slider value above the thumb makes it easier for users with low vision to see the current value while dragging the thumb.
  • To highlight the interactive nature of the thumb, the focus ring is drawn around the thumb and the value.
  • To ensure the borders of the slider rail, thumb and focus ring have sufficient contrast with the background when high contrast settings invert colors, the CSS currentcolor value for the stroke property is used for the SVG rect elements to synchronize the border color with text content. If specific colors were used to specify the stroke property, the color of these elements would remain the same in high contrast mode, which could lead to insufficient contrast between them and their background or even make them invisible if their color were to match the high contrast mode background. NOTE: The SVG elements need to be inline to use currentcolor.

Keyboard Support

Key Function
Right Arrow Increases slider value one step.
Up Arrow Increases slider value one step.
Left Arrow Decreases slider value one step.
Down Arrow Decreases slider value one step.
Page Up Increases slider value multiple steps. In this slider, jumps ten steps.
Page Down Decreases slider value multiple steps. In this slider, jumps ten steps.
Home Sets slider to its minimum value.
End Sets slider to its maximum value.

Role, Property, State, and Tabindex Attributes

Role Attribute Element Usage
group div
  • Identifies the div as a group.
  • The group and its accessible name inform assistive technology users that the three sliders are related to one another and serve the purpose of choosing a color.
aria-labelledby="IDREF" div Refers to the heading element that provides the accessible name for the group.
slider div
  • Identifies the element as a slider.
  • Set on the div that represents the movable thumb because it is the operable element that controls the slider value.
tabindex="0" div Includes the slider thumb in the page tab sequence.
aria-valuemax="255" div Specifies the maximum value of the slider.
aria-valuemin="0" div Specifies the minimum value of the slider.
aria-valuenow="NUMBER" div Indicates the current value of the slider.
aria-labelledby="IDREF" div Refers to the element containing the name of the slider.
aria-hidden="true" svg Removes the SVG elements from the accessibility tree. Some assistive technologies will describe the SVG elements, unless they are explicitly hidden.

Assistive Technology Support

JavaScript and CSS Source Code

HTML Source Code

Back to Top