Color slider

Version 3.0.0

A color slider lets users visually change an individual channel of a color.

Image illustrating three variations of a color slider selecting in red, green, and blue color channels.
DateVersionSpectrumApr 06, 20223.0.0DownloadMay 13, 20202.0.0DownloadMar 26, 20201.0.1DownloadApr 20, 20191.0.0Download

Anatomy#

Image illustrating through labels the component parts of a color slider, including its track and handle.

Options#

Key example showing three horizontal color sliders demonstrating use for selecting hue, brightness, and opacity.

Background#

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.

Key example showing 2 horizontal color sliders demonstrating use for selecting and opacity. Hue example has a value of 306, min value 0, max value 360, step 1. Opacity example has a value of 50, min value 0, max value 100, step 1.

Value, min value, max value, step#

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.

Key example showing two color sliders. Horizontal color slider with annotated values from 0 (left) to 1 (right). Vertical color slider with annotated values from 0 (bottom) to 1 (top).

Orientation#

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.

Key example showing horizontal color slider length annotated with customizable length.

Length#

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).

Key example showing horizontal color slider in its disabled state where both the track and handle are grays.

Disabled#

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.

Table of options#

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.

PropertyValuesDefault Valuebackground
This will vary depending on implementation.
valuenumber (from min to max)min valuenumber0max valuenumber100stepnumber1orientationhorizontal / verticalhorizontallengthnumbersize-2400is disabledyes / nono

Behaviors#

Example of a color slider in a keyboard focus state for a blue color channel, with the handle enlarged to show the selected color.

Keyboard focus#

A color slider can be navigated using a keyboard. The keyboard focus state enlarges the handle to be twice as large.

Key example showing three horizontal sliders with the handle either at the first or last position, with the slider demonstrating color hue, channel, or transparency.

Handle behavior#

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.

Examples of horizontally and vertically oriented color sliders, both in the minimum length of size-1000.

Minimum length#

A color slider’s minimum length is size-1000 (80 px on desktop, 100 px on mobile).

Usage guidelines#

Include labels#

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.)

do
Key example of three color sliders correctly being used with labels and text fields.
dont
Key example of three color sliders incorrectly being used without labels but with text fields.

Display color selection#

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.

do
Key example of a color swatch above three color sliders being used to select values for red, green, and blue color channels and one color slider for transparency.

Color loupe on down/touch state#

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.

do
Example of a color loupe used with a color slider for a blue color channel, showing the selected color that would otherwise be covered by a cursor on the down/touch state.

Keyboard interactions#

KeyInteractionTabPlaces 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 + TabPlaces focus on the previous handle or previous element in the page tab sequence.Up, Down, Left, or Right ArrowMoves the handle up/down/left/right.

Changelog#

DateNumberNotesApr 06, 20223.0.0
  • Updated all colors to 6.0.0
May 13, 20202.0.0
  • Removed color loupe (separated into its own component)
  • Added background option
  • Added value, min and max values, step options
  • Added length option
Mar 26, 20201.0.1
  • Updated handle border transparency to meet minimum contrast ratio
Apr 20, 20191.0.0
  • This component has been included to the website.

Design checklist#

check

All interactive states

Includes all interactive states that are applicable (hover, down, focus, keyboard focus, disabled).

check

All color themes

Works properly across all four color themes (lightest, light, dark, darkest).

check

All platform scales

Includes a desktop scale (UWP, macOS, web desktop) and a mobile scale (iOS, Android, web mobile).

N/A

Accessible use of color

Color is not used as the only visual means of conveying information (WCAG 2.0 1.4.1).

N/A

Accessible contrast for text

Text has a contrast ratio of at least 4.5:1 for small text and at least 3:1 for large text (WCAG 2.0 1.4.3).

unchecked

Accessible contrast for UI components

Visual information required to identify components and states (except inactive components) has a contrast ratio of at least 3:1 (WCAG 2.1 1.4.11).

check

Content design

UI language and information design considerations have been incorporated into component design.

check

Defined options

Includes relevant options (variant, style, size, orientation, optional iconography, decorations, selection, error state, etc.)

check

Defined behaviors

Includes guidelines for keyboard focus, layout (wrapping, truncation, overflow), animation, interactions, etc.

check

Usage guidelines

Includes a list of dos and don'ts that highlight best practices and common mistakes.

check

Writing guidelines

Includes content standards or usage guidelines for how to write or format in-product content for the component.

N/A

Internationalization guidelines

Works properly across various locales and includes guidelines for bi-directionality (RTL).

check

Keyboard interactions

Follows WCAG 2.0 standards for keyboard accessibility guidelines and includes a description of the keyboard interactions.

check

Design tokens

All design attributes (color, typography, layout, animation, etc.) are available as design tokens.

check

UI kit

Includes a downloadable XD file that shows multiple options, states, color themes, and platform scales.

check

Generated UI kit

Includes a downloadable XD file, generated by code using design tokens defined in Spectrum DNA, and shows multiple options, states, color themes, and platform scales.

check

In Spectrum for Adobe XD plugin

Component is included in the Spectrum for Adobe XD plugin.