third_party/aria-practices/src/content/patterns/slider/examples/slider-temperature.html
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.
The following example is a vertically oriented temperature control that implements the Slider Pattern. The slider illustrates use of aria-orientation to specify vertical orientation and use of aria-valuetext to convey unit of measure for numeric values to assistive technology users by appending degrees Celsius to the current value.
Similar examples include:
aria-valuetext to make it easy for assistive technology users to understand the meaning of the current value chosen on a ten-point satisfaction scale.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.Temperature 25°C25°C
currentcolor value for the stroke property of the inline SVG rect element used to draw the focus ring border. To make the background of the rect match the high contrast background color, the fill-opacity attribute of the rect is set to zero. If specific colors were instead used to specify the stroke and fill properties, those colors would remain the same in high contrast mode, which could lead to insufficient contrast between the rail and the thumb or even make them invisible if their color matched the high contrast mode background.forced-color-adjust property set to auto for the currentcolor value to be updated in high contrast mode. Some browsers do not use auto for the default value.| 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 temperature slider value multiple steps. In this slider, jumps twenty steps (e.g. 2°C). |
| Page Down | Decreases temperature slider value multiple steps. In this slider, jumps twenty steps (e.g. 2°C). |
| Home | Sets slider to its minimum value. |
| End | Sets slider to its maximum value. |
| Role | Attribute | Element | Usage |
|---|---|---|---|
none | svg | ensures assistive technologies do not present the SVG element as an image or any other type of meaningful element. | |
slider | g |
g element that represents the movable thumb because it is the operable element that receives focus and conveys the value.|
| | tabindex="0" | g | Includes the slider thumb in the page tab sequence. |
| | aria-orientation | g | Indicates the slider is vertically oriented. |
| | aria-valuemax="NUMBER" | g | Specifies the numeric value that is the maximum allowed value of the slider. |
| | aria-valuemin="NUMBER" | g | Specifies the numeric value that is the minimum allowed value of the slider. |
| | aria-valuenow="NUMBER" | g | A numeric value that is the current value of the slider. |
| | aria-valuetext="STRING" | g | Provides a more user-friendly name for the current value of the slider by combining the current value with the string degrees Celsius. |
| | aria-labelledby="IDREF" | g | Refers to the element containing the name (e.g. label) of the slider. |
| | aria-hidden="true" | rect | Removes the SVG rect element from the accessibility tree to prevent screen readers from presenting it as a meaningful image. |
Learn how to interpret and use assistive technology support data
To copy the following HTML code, please open it in CodePen.