Skip to the color picker
PickShade

APCA vs WCAG 2: which contrast check to trust

WCAG 2 contrast ratios are what the law asks for. APCA is a newer model that predicts readability much better, especially for dark themes and saturated colors. Checking both gives you text that is compliant and actually easy to read.

How the WCAG 2 contrast ratio works

WCAG 2 compares the relative luminance of text and background: (L1 + 0.05) / (L2 + 0.05). The result goes from 1:1 to 21:1. Level AA needs 4.5:1 for normal text and 3:1 for large text, which means at least 24 px regular or 18.66 px bold. Level AAA needs 7:1 and 4.5:1.

The formula is symmetric: swapping text and background gives the same number. It also treats all luminance differences as equal, which is not how people see.

How APCA works

APCA, the Accessible Perceptual Contrast Algorithm by Andrew Somers, returns a lightness contrast value Lc from about -108 to 106. The sign shows polarity: positive for dark text on a light background, negative for light text on a dark background. It models how the eye adapts to the brighter color and how font size and weight change readability.

Common APCA guidance: Lc 90 is preferred for body text, Lc 75 is the minimum for body text, Lc 60 for other readable content text, Lc 45 for large or bold headlines, Lc 30 for any text at all and Lc 15 for non-text elements like dividers.

Where they disagree

Take a bright orange like #ff5733. WCAG 2 says black text wins clearly: about 6.7:1 against 3.2:1 for white, so white fails AA. APCA says the opposite: white text reaches about Lc 63 and black only about Lc 47. Most people find white on this orange easier to read, which is exactly the kind of case APCA was built for.

Dark themes show the same pattern. WCAG 2 overrates contrast between dark colors, so mid-gray text on a near-black background can pass AA and still be tiring to read.

Which one should you use

Accessibility laws and procurement rules, including the ADA in the US, Section 508 and EN 301 549 in the EU, reference WCAG 2.1 or 2.2. APCA is part of the WCAG 3 draft, which is not final. So pass WCAG 2 AA for compliance, and use APCA to choose between options that both pass and to tune dark themes.

PickShade shows both numbers side by side and can suggest the nearest color that meets the target you pick.

Questions and answers

What contrast ratio do I need for WCAG AA?

4.5:1 for normal text and 3:1 for large text of at least 24 px, or 18.66 px bold. User interface components and meaningful graphics need 3:1 against adjacent colors.

Is APCA part of WCAG 3?

APCA is the contrast method in the WCAG 3 working draft. The draft is not a standard yet and can change, so WCAG 2 remains the legal reference.

What does a negative APCA value mean?

It means light text on a dark background. Compare the absolute value with the thresholds: Lc -75 is as readable as Lc 75.

Why do WCAG and APCA recommend different text colors?

WCAG 2 uses a simple luminance ratio that overrates dark colors, while APCA models perception, polarity and font size. They disagree most on saturated mid-tones such as orange, red and blue.

Try it in PickShade