Version 2.0.0

Color area

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.

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 Value
background
This will vary depending on implementation.
x value
number (from x min to x max)
x min value
number
0
x max value
number
100
y value
number (from y min to y max)
y min value
number
0
y max value
number
100
step
number
1
width
number
size-2400
height
number
size-2400
is disabled
yes / no
no

Behaviors#


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.

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.

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.

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#


KeyInteraction
TabPlaces 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#


DateNumberNotes
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#


All interactive states

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

N/A

Multiple options

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

All color themes

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

All platform scales

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

Defined behaviors

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

Usage guidelines

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

Accessible contrast

Follows WCAG 2.0 standards for contrast (AA).

N/A

Internationalization guidelines

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

Keyboard interactions

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

Design tokens

All design attributes (color, typography, layout, animation, etc.) are included in Spectrum DNA.

Generated UI kit

Includes a downloadable XD file that has been generated by code and shows multiple variations, states, color themes, and scales.

In Spectrum for Adobe XD plugin

Component is included in the Spectrum for Adobe XD plugin.