Comparison
WCAG contrast vs APCA
One is the standard you will be measured against. The other is the better model of what your eye is doing. You need both, for different reasons.
Short answer. Conform to WCAG 2.2 because that is what audits and procurement cite, and consult APCA when a technically-passing pair still looks thin — the disagreement between them is usually the interesting part.
WCAG 2.2 reports a ratio from 1:1 to 21:1, computed as (L1 + 0.05) / (L2 + 0.05) over the relative luminance of the two colors. It is simple, stable, and it is the number written into accessibility law and procurement policy nearly everywhere. Whatever else you do, this is the one you have to clear.
Its blind spots are well documented. It ignores font weight almost entirely and treats a hairline serif and a bold sans at the same size as equivalent. It is symmetric, so it reports the same figure for light-on-dark and dark-on-light — but the eye does not treat those as equivalent, and light text on a dark background needs measurably more separation to feel equally solid. And because the 0.05 term models ambient reflection, the ratio compresses badly at the dark end, where a large perceptual difference can read as a small numeric one.
APCA was drafted for WCAG 3 to address exactly those cases. It returns a signed lightness contrast — the sign carries the polarity — and it expects a font size and weight, because the threshold genuinely depends on them. It is a better predictor of appearance. It is also not a conformance standard yet, and claiming AA against it would not survive an audit.
WCAG 2.2 contrast vs APCA, side by side
| Dimension | WCAG 2.2 contrast | APCA |
|---|---|---|
| Output | Ratio, 1:1 to 21:1 | Signed Lc value, roughly −108 to 106 |
| Polarity | Symmetric — same number either way round | Signed; light-on-dark and dark-on-light differ |
| Font size and weight | Only a coarse large-text threshold | Modelled directly, with a lookup table |
| Dark-end accuracy | Compresses; understates real differences | Substantially better |
| Thresholds | 4.5:1 body, 3:1 large and non-text, 7:1 AAA | Lc 60 body, Lc 75 for smaller or lighter text |
| Legal standing | What WCAG 2.2, EN 301 549 and most policy cite | None yet — a WCAG 3 draft |
| Tooling support | Universal | Growing but partial |
| Best used for | Proving conformance | Deciding whether it actually looks right |
Where this comparison is unfair
The two disagree most sharply on light text over mid-tone and dark backgrounds, which is exactly where dark-mode interfaces live. When they disagree, believe APCA about appearance and WCAG about compliance — and if a pair passes WCAG but APCA calls it thin, it probably is thin, and shipping it is a decision rather than a pass.
APCA is still a draft and its thresholds have moved between revisions. Pinning a design system to a specific Lc target means accepting that the target may shift. That is a real cost of adopting it early, and it is a reason to treat it as advisory rather than as a second gate.
Frequently asked questions
Should I use WCAG or APCA for contrast?
Both. WCAG 2.2 is the conformance standard, so it is the one you must clear and the one an audit will measure. APCA is the better model of appearance, so it is the one that tells you why a passing combination still looks weak.
What contrast ratio passes WCAG AA?
4.5:1 for normal body text, 3:1 for large text — 18pt, or 14pt bold and above — and 3:1 for user interface components and graphical objects that convey meaning. AAA raises the first two to 7:1 and 4.5:1.
Why does light text on dark need more contrast?
Because the eye does not respond symmetrically to the two polarities. Light text on a dark field also produces halation — scattering within the eye that makes the glyphs appear to bloom — which is worse at high contrast and worse again for readers with astigmatism. The WCAG ratio has no term for any of this; APCA does.
Is APCA replacing WCAG contrast?
It is the contrast model drafted for WCAG 3, but WCAG 3 is not finished and has no adoption timeline. WCAG 2.2 remains the standard in force, and will for the foreseeable future.
Try it yourself
Definitions
- Contrast ratioContrast ratio is the WCAG measure of the difference between two colors, from 1:1 for identical colors to 21:1 for black on white.
- APCAAPCA is a perceptual contrast model developed for WCAG 3 that reports a signed lightness contrast accounting for polarity, font size and weight.
- WCAGWCAG is the W3C’s Web Content Accessibility Guidelines, the standard most accessibility law and procurement policy references.
- Relative luminanceRelative luminance is the physical brightness of a color on a 0-to-1 scale, computed as a weighted sum of the linearised red, green and blue channels.
- HalationHalation is the glow that appears to spread from light text on a very dark background, making the text look blurred.
Other comparisons
- OKLCH vs HSLBoth are cylindrical: a hue angle, a colourfulness axis and a lightness axis. Only one of them measures lightness in a way your eye agrees with.
- Lab vs OKLabSame shape: a lightness axis and two opponent axes. Forty-four years apart, and fitted to different data.
- HEX vs RGBThis is not a question about color. Both are sRGB, both carry exactly the same information, and every hex code has an identical rgb() form.
- RGB vs CMYKOne model adds light, the other removes it. That is not a detail — it changes which colors are reachable and which conversions can be trusted.
- sRGB vs Display P3P3 covers around 25% more area than sRGB. Almost all of it is in the reds, oranges and greens; there is very little extra blue.