
A practical guide to using hue, value, chroma, contrast, and color roles to build accessible UI color systems instead of one-off palettes.

| Handle | What it controls | When to adjust it |
|---|---|---|
| Hue | The color family: red, green, blue, yellow, or a point between them. 1 | Change hue when the meaning, brand association, or category needs to change. |
| Value | How light or dark the color is. 1 | Change value when hierarchy, contrast, or foreground/background separation is weak. |
| Chroma | How bright, saturated, or vivid the color is. 1 | Change chroma when the palette feels too loud, too dull, or when everything is competing for attention. |

| Role | Typical job | Must be paired with |
|---|---|---|
primary | Main action, selected brand emphasis | on primary text/icon color; test the pair, not the swatch alone. 5 |
surface | Page, card, sheet, panel background | on surface for primary text and icons. 5 |
error | Invalid state, destructive warning, form failure | Text/icon/state treatment that does not rely on red alone. 4 |
outline | Borders, dividers, focus boundaries, input edges | Adjacent surfaces with enough non-text contrast when the outline carries meaning. 3 |
primary, secondary, surface, on surface, error, success, warning, outline, focus, and disabled. Then choose values that pass the required foreground/background checks. This mirrors the token logic used by Material Design and Carbon: roles create consistency; themes provide actual color values. 56<color> values and covers areas such as foreground color, group opacity, color interpolation, and gamut mapping. 7 That matters because design tools and browsers may not treat every color space or interpolation path the way a flat hex swatch suggests. Document the production format your team will use, not only the Figma swatch.outline becomes text in one theme and border in another, designers and engineers can no longer reason about the system. 6munsell.com
digital.gov
m3.material.io
carbondesignsystem.com
w3.org
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.