Color area

Version 3.0.0

A color area allows users to visually select two properties of a color simultaneously. It's commonly used together with a color slider or color wheel.

An example of color area as part of a color picker being used to set a fill color along with a color gradient slider, transparency slider, and text field for manual color entry.An example of color area as part of a color picker being used to set a fill color along with a color gradient slider, transparency slider, and text field for manual color entry.
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 area, including its area and handle.

Options#

Key example showing two color areas: one demonstrating use for selecting saturation on the horizontal axis and brightness on the vertical axis, the other demonstrating use for selecting hue on the horizontal axis and brightness on the vertical axis.

Background#

The background of the color area is a visual representation of the range of values that a user can select from. This can represent color properties such as hues or color channel values (such as RGB or CMYK levels). 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 color area demonstrating use for selecting saturation and brightness. X value 0, x min value 0, x max value 100, y value 90, y min value 0, y max value 100, step 1.

X and y values, min values, max values, step#

The x and y values are the numbers selected within the color area’s horizontal and vertical axes, respectively.

The x/y min and max values also can be customized appropriately for what the color area is being used for. 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 of color area with the width annotated with customizable.

Width#

A color area’s width can be customized appropriately for its context. By default, the width is size-2400 (192 px on desktop and 240 px on mobile).

Key example of color area with height annotated with customizable.

Height#

A color area’s height can be customized appropriately for its context. By default, the height is size-2400 (192 px on desktop and 240 px on mobile).

Example of a color area in a disabled state, showing no color or input available.

Disabled#

A color area 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 the area 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.
x valuenumber (from x min to x max)x min valuenumber0x max valuenumber100y valuenumber (from y min to y max)y min valuenumber0y max valuenumber100stepnumber1widthnumbersize-2400heightnumbersize-2400is disabledyes / nono

Behaviors#

Example of a color area in a keyboard focus state, with the handle enlarged to show the selected color.

Keyboard focus#

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

Key example of two color areas demonstrating the handle at different positions.

Handle behavior#

The color area’s handle can slide all the way over the edge of the area. It always displays the selected color inside the handle and never gets cut off by the border or any container.

Key example of color area with width and height annotated with its minimum dimensions, size-800.

Minimum width and height#

A color area’s minimum width and height is size-800 (64 px on desktop, 80 px on mobile).

Usage guidelines#

Display color selection#

When using color areas, it’s important to clearly display the color selection in real time. This can be in a color swatch, directly on the canvas, or both.

do
A key example of a color swatch above color area, color slider, and transparency slider components correctly representing their combined values.

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 mouse, 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
A key example of the color loupe component showing a selected color from the color area that would otherwise be hidden by the cursor on down/touch state.

Keyboard interactions#

KeyInteractionTabPlaces focus on the handle. If the handle is already in focus, moves focus to the next element in the page tab sequence.Shift + TabPlaces focus on the 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 x/y value, min and max values, step options
  • Added width option
  • Added height 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).

check

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

N/A

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.

N/A

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.