Back to Playbook

Contrast Ratios

Ensure sufficient color contrast between text and backgrounds to guarantee readability for users with visual impairments.

Why it matters

Low contrast text is difficult to read for everyone, but it can be impossible for users with low vision or color blindness. Good contrast also helps users in challenging environments, such as reading on a mobile screen in bright sunlight.

Contrast Playground

Experiment with text and background colors to see if they meet accessibility standards.

Large Text (24px/18pt)

Normal text (16px/12pt). The quick brown fox jumps over the lazy dog.

16.05
Contrast Ratio Excellent
Normal Text (AA)
Pass
Large Text (AA)
Pass
Normal Text (AAA)
Pass
Large Text (AAA)
Pass

WCAG Standards

Normal Text (AA)

Requires a contrast ratio of at least 4.5:1. This applies to body text and smaller headings.

Large Text (AA)

Requires a contrast ratio of at least 3:1. Large text is defined as 18pt (24px) or 14pt (18.66px) bold.

UI Components

Essential graphical objects (icons, input borders) must also meet the 3:1 contrast ratio against adjacent colors.

Level AAA

The gold standard. Requires 7:1 for normal text and 4.5:1 for large text. Aim for this when possible.

Contrast Checklist

  1. Automated Testing

    Use tools like Figma plugins (Stark, Contrast) to check your designs while you work.

  2. Text on Images

    Always use a scrim (overlay) or drop shadow when placing text over variable background images.

  3. State Changes

    Ensure hover and focus states maintain sufficient contrast, not just the default state.

Previous: Semantic HTML Next: Keyboard Navigation