Should I Use APCA Instead of WCAG 2 Contrast Ratios?
Use APCA as a design check, not as a replacement for WCAG 2. Legal and procurement audits still test WCAG 2 ratios: 4.5:1 for normal text, 3:1 for large text, and 7:1 for AAA. APCA scores perceived lightness instead, so it catches problems the ratio misses on dark themes.
APCA and WCAG 2 answer different questions. APCA asks how easily a person perceives the text. WCAG 2 asks whether the foreground and background differ enough by a fixed formula. A palette can pass one test and fail the other.
What APCA is
APCA stands for Accessible Perceptual Contrast Algorithm. It was developed for WCAG 3 and is published in the WCAG 3 working drafts. It models contrast with perceptual lightness instead of relative luminance, and it treats polarity as a real variable: dark text on a light background and light text on a dark background do not score the same even when the two colors are swapped.
APCA returns an Lc value on its own scale. It does not return a ratio, and it does not define pass or fail. The APCA project publishes its own lookup table for font size and weight, and that table is not part of WCAG 2.
What WCAG 2 requires
WCAG 2.1 and 2.2 Success Criterion 1.4.3 sets the thresholds that audits and accessibility statements use:
- AA: 4.5:1 for normal text, 3:1 for large text
- AAA: 7:1 for normal text, 4.5:1 for large text
Success Criterion 1.4.11 adds 3:1 for user-interface components and meaningful graphics. Public-sector procurement rules and the European standard EN 301 549 reference WCAG 2, so a site that reports WCAG 2.2 AA conformance is measured with these ratios, not with APCA.
Where APCA helps
APCA is most useful in three cases:
- Dark themes, where the same pair of colors can meet a WCAG 2 ratio and still look thin or glare-heavy.
- Light font weights, where a ratio that ignores stroke thickness overstates readability.
- Saturated brand colors, where equal luminance produces very different perceived contrast depending on hue.
Use APCA to choose between two palettes that both pass WCAG 2. Do not use it to declare that a failing palette is compliant.
A practical order of checks
- Build the palette and check every text and background pair against WCAG 2 AA ratios.
- Fix failures by changing lightness, not hue, so the brand keeps its character.
- Score the same pairs with APCA and compare the two results.
- When the two disagree, keep the WCAG 2 pass as the floor and use APCA to decide which passing option reads better.
Check a palette now
The contrast matrix checker scores every ordered pair in a palette against WCAG AA and AAA for normal text, large text, and non-text UI components. The color contrast checker tests a single foreground and background pair. For the WCAG 2 formula itself, read what the WCAG contrast ratio is.