Skip to content

Dashboard surfaces and actions

White cards and a near-white canvas need an explicit edge where the boundary matters. Pair the blue action with a measured label.

Colors and palette cases

Editorial example reviewed September 13, 2026. Numeric results below are calculated from these values.

Nearest reference name

White

RGB 248, 250, 252

Explore color

Nearest reference name

White

RGB 255, 255, 255

Explore color

Nearest reference name

Night

RGB 15, 23, 42

Explore color

Nearest reference name

Sapphire

RGB 29, 78, 216

Explore color

Assign roles and check the pair

The lightest and darkest supplied values are the starting reading pair. The accent label adds black or white, whichever has greater contrast. You can change the accent below.

A palette in context

Use this preview to inspect reading text and an accent label.

Example action

Reading text #0F172A on #FFFFFF: 17.853:1 - Pass normal text AA.

Accent label #000000 on #F8FAFC: 20.071:1.

Checks use unrounded ratios and opaque sRGB. The example action is a visual sample. Test boundaries, focus and hover in your actual component.

All color pairs: normal text AA
Rows are text; columns are backgrounds. Each cell gives the ratio and AA result.
Text / background#F8FAFC#FFFFFF#0F172A#1D4ED8
#F8FAFC1.00:1 Fail1.05:1 Fail17.06:1 Pass6.41:1 Pass
#FFFFFF1.05:1 Fail1.00:1 Fail17.85:1 Pass6.70:1 Pass
#0F172A17.06:1 Pass17.85:1 Pass1.00:1 Fail2.66:1 Fail
#1D4ED86.41:1 Pass6.70:1 Pass2.66:1 Fail1.00:1 Fail
:root {
  --surface: #FFFFFF;
  --text: #0F172A;
  --accent: #F8FAFC;
  --on-accent: #000000;
}

Keep the scope of each result clear

All comparisons use opaque sRGB and WCAG relative luminance. Normal-text AA requires 4.5:1; a displayed rounded ratio never overrides the unrounded pass or fail. A palette is not a complete accessibility audit.

W3C contrast requirements ? Methods and limitations ? Turn values into semantic tokens