Understanding APCA
The Advanced Perceptual Contrast Algorithm (APCA) is a new method for calculating contrast that aligns much closer to how the human eye actually perceives light and color.
Is this standard? Yes. APCA is the candidate contrast method for WCAG 3.0 (the next generation of web accessibility standards). While WCAG 2.x is the current legal baseline in many places, APCA represents the future of accessibility science. By using it, you are future-proofing your design and providing a better experience for users today, even if the math is different.
Unlike the older WCAG 2.x ratio (e.g., 4.5:1), APCA produces a score called Lc (Lightness Contrast).
Why not WCAG 2.x?
The old math was simple, but flawed. It treated all colors equally. But your eye doesn’t.
The “Font Weight” Problem
WCAG 2.x treats all text the same, regardless of how thin or thick it is. But your eye needs much more contrast to see a thin line than a thick block.
Hard to read.
Easy to read.
APCA understands this. It would give the thin text a lower score and the bold text a higher score, matching your perception.
The “Polarity” Problem
WCAG 2.x treats White on Black exactly the same as Black on White. But your eye doesn’t.
The Solver accounts for this. It picks slightly different lightness values for Dark Mode to ensure the perceptual contrast remains constant.
The Lc Score
APCA outputs a score from Lc 0 (invisible) to Lc 106 (pure black on pure white).
| Score | Perception | Use Case |
|---|---|---|
| Lc 15 | Barely visible | Watermarks, decorative borders |
| Lc 30 | Subtle | Disabled text, placeholders |
| Lc 45 | Readable (Large) | Large headlines, non-critical text |
| Lc 60 | Readable (Body) | The gold standard for body text |
| Lc 75 | Preferred | Preferred for long-form reading |
| Lc 90 | High Contrast | Spotlights, critical actions |
Visualizing Contrast
Note: The opacity values above are approximations for demonstration. The actual system calculates precise lightness values.