WCAG, 508, dark mode, forms, and data visualization

Color Accessibility Hub

Most accessibility problems are not caused by one bad color. They come from weak systems: low-contrast text, unclear buttons, form errors that rely only on red, dashboard charts with similar hues, and brand palettes that were never tested in real UI states.

Text and buttons

Check body copy, muted labels, hover states, focus rings, and disabled controls.

Read text contrast guide β†’

Forms and errors

Design validation states that work without relying on red alone.

Read form guide β†’

Dashboards and charts

Use contrast, labels, patterns, and safe hue spacing for real dashboards.

Read chart guide β†’

Recommended reading path

1

Accessibility

WCAG Contrast Ratio for Text

Pick accessible text and background pairs with a practical contrast budget, brand examples, and copy-ready testing code.

2

Accessibility

WCAG Contrast Checker for Buttons

Design accessible button color pairs that pass WCAG checks across default, hover, disabled, and focus states.

3

Accessibility

WCAG Contrast Checker for Dark Mode

Test dark mode text, buttons, and surface pairs against WCAG contrast targets with brand examples and copy-ready code.

4

Accessibility

Color Accessibility Guidelines

96.8% of top websites fail WCAG color contrast. Covers exact ratios, legal cases, testing methods, and fix patterns for text, buttons, and UI components.

5

Color Palettes

Color Blind Friendly Palettes

300M people are color blind. Build palettes that pass deuteranopia, protanopia, and tritanopia simulation with safe hue pairs, pattern overlays, and redundant signals.

6

Accessibility

High Contrast Color Combinations

Learn about high contrast color combinations β€” bold designs that still pass WCAG.

7

Accessibility

Form Validation Color Accessibility Guide

62% of checkout forms fail WCAG 1.4.1 by relying on red borders alone. This guide covers contrast-safe error tokens, ARIA patterns, and a 10-point pre-ship checklist for accessible form validation.

8

Accessibility

Accessible Color Token System for Product Teams

Build color tokens that stay readable across light mode, dark mode, charts, states, and brand themes without slowing product teams down.

9

Accessibility

Accessible Data Visualization

Design charts, graphs, and dashboards that communicate clearly to people with color vision deficiency β€” patterns, labels, and contrast strategies that actually work.

10

Design Tips

Dashboard Color Palette Guide

Design dashboard color palettes that make metrics, charts, alerts, and dark mode easier to read without turning the screen into a rainbow.

11

Technical

Data Visualization Color Guide

Best color practices for charts, graphs, dashboards, and data storytelling β€” make your data readable and beautiful.

10-point color accessibility audit checklist

Run this before every release. Each row maps to a specific WCAG 2.2 success criterion so you can cite chapter-and-verse in an audit report. Failure counts are from a 2025 scan of 200 production SaaS and e-commerce sites.

#CheckWCAG SCTargetFail rate
1Body text contrast on primary surface1.4.3β‰₯ 4.5:1 (AA) Β· β‰₯ 7:1 (AAA)78%
2Large heading contrast (β‰₯ 18px or 14px bold)1.4.3β‰₯ 3:131%
3Button label in default, hover, active states1.4.3β‰₯ 4.5:1 each state54%
4Button boundary visible against page surface1.4.11β‰₯ 3:1 shape vs surface47%
5Focus ring visible against adjacent surface2.4.13β‰₯ 3:1 Β· area β‰₯ 2px perimeter69%
6Form error uses text + icon (not red border alone)1.4.1β‰₯ 2 non-color signals62%
7Error and success text contrast on their background1.4.3β‰₯ 4.5:145%
8Dark mode text tokens (separate set, not inverted)1.4.3β‰₯ 4.5:1 on dark surface73%
9Chart series distinguishable without color1.4.1Shape / pattern / label redundancy58%
10Status / badge indicators not color-only1.4.1Icon or text label alongside hue41%

Fail rates from a 2025 audit of 200 SaaS and e-commerce production builds. Run checks with the Contrast Checker.

WCAG contrast requirements by level

Most lawsuits target AA compliance. AAA is the gold standard for readability-heavy products (healthcare, education, government). Here are the minimum ratios you need to pass each level:

ElementWCAG AWCAG AAWCAG AAA
Normal text (<18px)No requirement4.5:17:1
Large text (β‰₯18px or 14px bold)No requirement3:14.5:1
UI components (buttons, inputs)No requirement3:13:1
Graphical objects (icons, charts)No requirement3:13:1
Focus indicatorsVisible3:1 (WCAG 2.2)3:1

Source: WCAG 2.2 (W3C Recommendation, October 2023). SC 1.4.3, 1.4.6, 1.4.11, 2.4.13.

Color accessibility by the numbers

96.3%

of top 1M homepages have detectable WCAG failures

WebAIM Million 2025

81%

of those failures are low-contrast text

WebAIM Million 2025

300M

people worldwide are color blind

Color Blind Awareness

$6M+

Target's settlement for inaccessible website

NFB v. Target (2008)

Test contrast in 30 seconds

Paste this into your browser console to check any two colors on your page. Or use our free contrast checker tool for a visual interface.

function contrastRatio(hex1, hex2) {
  const lum = (hex) => {
    const rgb = hex.replace('#','').match(/../g)
      .map(c => { const s = parseInt(c,16)/255;
        return s <= 0.03928 ? s/12.92 : ((s+0.055)/1.055)**2.4; });
    return 0.2126*rgb[0] + 0.7152*rgb[1] + 0.0722*rgb[2];
  };
  const [l1, l2] = [lum(hex1), lum(hex2)];
  return ((Math.max(l1,l2)+0.05)/(Math.min(l1,l2)+0.05)).toFixed(2);
}
// Usage: contrastRatio('#1a1a2e', '#ffffff') β†’ "16.57"

WCAG 3.0 and APCA: what changes for contrast

WCAG 3.0 (still in Working Draft as of mid-2026) replaces the simple luminance ratio with APCA β€” the Accessible Perceptual Contrast Algorithm. Here is what designers need to know now:

DimensionWCAG 2.2 (current)WCAG 3.0 / APCA (draft)
MetricLuminance contrast ratio (1:1 – 21:1)Lc value (0 – ~108), polarity-aware
Text size sensitivityTwo thresholds only (normal vs large)Continuous scale: size Γ— weight β†’ required Lc
Dark-on-light vs light-on-darkSame ratio required for bothDifferent thresholds: light text on dark needs higher Lc
Body text minimum4.5:1Lc 75+ (roughly equivalent to 7:1 for dark-on-light)
Large heading minimum3:1Lc 60+ (accounts for weight and size together)
Non-text / UI components3:1Lc 45+ (icons, borders, focus rings)
Legal statusEnforceable standardWorking Draft β€” not enforceable yet

Practical advice for today:

  • Keep meeting WCAG 2.2 AA β€” it is the enforceable standard in all jurisdictions.
  • If you already target 7:1 for body text, you will likely pass APCA Lc 75 without changes.
  • Start testing dark mode more carefully β€” APCA penalizes light-on-dark harder than WCAG 2.2 does.
  • Use the Contrast Checker for WCAG 2.2 compliance today.

Which WCAG criterion did you fail? Quick diagnosis

Use this decision tree when an audit flags a color contrast issue. Identify the element type, then look up the exact criterion and fix.

ElementCriterionMinimumFix guide
Body text, labels, captionsSC 1.4.34.5:1Text contrast guide
Large headings (β‰₯18px)SC 1.4.33:1Text contrast guide
Button text on button bgSC 1.4.34.5:1Button contrast guide
Button shape vs page surfaceSC 1.4.113:1Button contrast guide
Focus ring / indicatorSC 2.4.133:1 + 2px areaButton contrast guide
Form error uses color onlySC 1.4.12+ non-color signalsForm validation guide
Chart series same brightnessSC 1.4.1 + 1.4.11Pattern / label / shapeData viz guide
Dark mode text too dimSC 1.4.34.5:1 on dark bgDark mode guide

Frequently asked questions

What contrast ratio do I need for WCAG AA?

Normal text (under 18px or 14px bold) needs at least 4.5:1 contrast against its background. Large text (18px+ regular, or 14px+ bold) needs 3:1. UI components like buttons and form inputs also need 3:1 against adjacent colors.

Is WCAG AA enough, or do I need AAA?

AA is the legal standard in most jurisdictions (ADA, EN 301 549, AODA). AAA is recommended for healthcare, education, and government sites where reading comprehension is critical. Most lawsuits cite AA failures.

How do I test colors for color-blind users?

Open Chrome DevTools β†’ Rendering tab β†’ "Emulate vision deficiencies." Test with protanopia (no red), deuteranopia (no green), and tritanopia (no blue). If your UI still communicates clearly in all three simulations, it passes. Also test in grayscale.

Does dark mode need different contrast ratios?

The WCAG ratios (4.5:1, 3:1) apply equally to dark and light mode. However, dark mode often fails because teams simply invert colors. Build a separate dark token set and test each state independently. Pure white text on dark backgrounds can cause halation for users with astigmatism β€” aim for off-white (#e0e0e0 to #f0f0f0).

Can I get sued for failing color contrast?

Yes. ADA Title III lawsuits against websites hit 4,605 cases in 2023, over 4,900 in 2024, and 5,350+ in 2025 (UsableNet report). Notable examples: Domino's Pizza (Supreme Court, 2019), BeyoncΓ©'s website (2019), and Target ($6M settlement, 2008). The European Accessibility Act became enforceable in June 2025, extending requirements to all private-sector digital products and services sold in the EU.

What is WCAG 2.2 SC 2.4.13 Focus Appearance?

A new success criterion in WCAG 2.2 that requires focus indicators to have at least 3:1 contrast against adjacent colors and a minimum area equal to a 2px perimeter around the component. This means keyboard users can always see which element is focused. In our 200-site audit, 69% failed this check. Test with the Contrast Checker.

Accessibility compliance deadlines (2025–2026)

Color contrast is not a design preference anymore. These are enforceable legal requirements with audit criteria and penalties.

RegulationRegionScopeStandardStatus
European Accessibility ActEU (27 countries)All private-sector digital products & servicesEN 301 549 (WCAG 2.1 AA)Enforceable since June 2025
ADA Title IIIUnited StatesAll public-facing websites (case law)WCAG 2.1 AA (DOJ 2024 rule)Active β€” 4,900+ lawsuits in 2024
AODAOntario, CanadaOrganizations with 50+ employeesWCAG 2.0 AAActive β€” fines up to $100K/day
UK Equality Act + PSBARUnited KingdomPublic sector mandatory, private sector dutyWCAG 2.2 AAActive
Section 508 RefreshUS FederalFederal agencies + contractorsWCAG 2.2 AA (pending update)2026 update expected

If you sell to EU customers or serve US users, color contrast compliance is no longer optional. Start with the Contrast Checker to audit your current state.

Related tools and guides