A color slider lets users visually change an individual channel of a color.
The background of the color slider is a visual representation of the range of values a user can select from. This can represent color properties such as hues, color channel values (such as RGB or CMYK levels), or opacity. The exact format this background property takes will depend on what implementation you are working with. Some examples of the format include image, canvas, and gradient.
The value is the number selected within the color slider’s range, from the min value to max value.
The min and max values also can be customized appropriately for what the color slider is being used for (such as 0 to 360 for hue). By default, the min value starts at 0 and max value is set to 100.
The step refers to the increment by which these values increase or decrease. A step value of 1 (default) allows a user to only select whole numbers within the min and max range.
Color sliders can be either in horizontal or vertical orientation. By default, a color slider is horizontal and should be used when vertical space is more limited. The vertical orientation is used when horizontal space is more limited.
The length of a color slider is size-2400 (192 px on desktop, 240 px on mobile) by default, but can be customized appropriately for its context. It has a fixed thickness of size-300 (24 px on desktop, 30 px on mobile).
A color slider in a disabled state shows that an input exists, but is not available in that circumstance. This can be used to maintain layout continuity and communicate that a slider may become available later.
From the design point of view, each component has a number of options. These options and their names are platform agnostic, and each implementation should adapt these to fit into their framework.
Property | Values | Default Value |
---|---|---|
background | – This will vary depending on implementation. | – |
value | number (from min to max) | – |
min value | number | 0 |
max value | number | 100 |
step | number | 1 |
orientation | horizontal / vertical | horizontal |
length | number | size-2400 |
is disabled | yes / no | no |
A color slider can be navigated using a keyboard. The keyboard focus state enlarges the handle to be twice as large.
Unlike the slider itself, the color slider’s handle can slide all the way to the edge of the track. It always displays the selected color inside the handle and never gets cut off by the track or any container.
A color slider’s minimum length is size-1000 (80 px on desktop, 100 px on mobile).
Color sliders should be labeled and, when applicable, be accompanied by text fields. In a context when labeling each individual slider may be redundant, make sure to still label the group of sliders (e.g., “RGB,” “HSB,” etc.)
When using color sliders, it’s important to clearly display the color selection in real time. It can be in a color swatch, directly on the canvas, or both.
The color loupe component can be used above the handle to show the selected color that would otherwise be covered by a cursor, stylus, or finger on the down/touch state. This can be customized to appear only on finger-input, or always appear regardless of input type.
Key | Interaction |
---|---|
Tab | Places focus on the handle. If the handle is already in focus, moves focus to the next handle or next element in the page tab sequence. |
Shift + Tab | Places focus on the previous handle or previous element in the page tab sequence. |
Up, Down, Left, or Right Arrow | Moves the handle up/down/left/right. |
Date | Number | Notes |
---|---|---|
May 13, 2020 | 2.0.0 |
|
Mar 26, 2020 | 1.0.1 |
|
Apr 20, 2019 | 1.0.0 |
|
Includes all interactive states that are applicable (hover, down, focus, keyboard focus, disabled).
Includes relevant options (variant, style, size, orientation, optional iconography, decorations, selection, error state, etc.)
Works properly across all four color themes (lightest, light, dark, darkest).
Includes a desktop scale (UWP, macOS, web desktop) and a mobile scale (iOS, Android, web mobile).
Includes guidelines for layout (wrapping, truncation, overflow), animation, interactions, etc.
Includes a list of dos and don’ts that highlight best practices and common mistakes.
Follows WCAG 2.0 standards for contrast (AA).
Works properly across various locales and includes guidelines for bi-directionality (RTL).
Follows WCAG 2.0 standards for keyboard accessibility guidelines and includes a description of the keyboard interactions.
All design attributes (color, typography, layout, animation, etc.) are included in Spectrum DNA.
Includes a downloadable XD file that has been generated by code and shows multiple variations, states, color themes, and scales.
Component is included in the Spectrum for Adobe XD plugin.