Accessibility practitioners and designers regularly encounter two different contrast numbers for the same color pair: the familiar WCAG 2.x ratio (e.g., 4.87:1) and an APCA Lc score (e.g., Lc 75.2). These numbers come from fundamentally different algorithms, serve different purposes, and are not directly comparable. Understanding the difference matters both for current compliance and for preparing for WCAG 3.
The WCAG 2.x formula — what it is and where it falls short
The WCAG 2.x contrast ratio formula has been the normative standard since WCAG 2.0 in 2008. It computes relative luminance for each color using a linearized sRGB model, then expresses the ratio as (L1 + 0.05) / (L2 + 0.05) where L1 is the lighter color's luminance.
This formula is symmetric — swapping foreground and background gives the same ratio — and produces values from 1:1 to 21:1. It was designed to be simple and computationally light, which was important in the early web era. Its weaknesses are now well-documented:
- Dark mode inaccuracy: the formula underestimates contrast for light text on dark backgrounds relative to human perception.
- Mid-tone blindspot: two color pairs can have the same ratio but very different perceptual contrast depending on whether the dark color is a deep navy or a medium brown.
- Font weight and size: the current formula does not account for typeface weight or rendering size, even though contrast perception varies significantly with these factors.
- Spatial frequency effects: thin strokes, small font sizes, and fine UI details require higher contrast than the same luminance pair at a large size. WCAG 2.x handles this only coarsely through the "large text" threshold.
APCA — the algorithm proposed for WCAG 3
APCA (Advanced Perceptual Contrast Algorithm) was developed by Andrew Somers as a more perceptually accurate model for WCAG 3. It replaces the symmetric ratio with a signed Lightness Contrast score (Lc), expressed as a positive or negative number typically in the range of −108 to +106.
Key differences from WCAG 2.x:
- Asymmetric: APCA distinguishes between dark text on light background (positive Lc) and light text on dark background (negative Lc). The same pair in different orientations gives different scores, reflecting how human vision actually works.
- Perceptually linearized: APCA uses a power-curve model that more closely follows the Stevens power law for perceived brightness.
- Font-size and weight aware: the APCA lookup table specifies minimum Lc thresholds that vary by font size and weight — a 12px regular font requires a higher Lc than a 24px bold heading for the same legibility standard.
APCA Lc thresholds — practical reference
The APCA Bronze Simple Mode (WCAG 3 working draft guidance) provides simplified thresholds:
- Lc 90 — fluent body text (14px regular or smaller, 400 weight)
- Lc 75 — content text (16px regular, 400 weight)
- Lc 60 — large text (24px regular, or 18.7px bold)
- Lc 45 — non-text UI components (icons, borders)
- Lc 30 — incidental non-text (decorative elements)
These are approximate values from the current working draft and may change before WCAG 3 is published. They should be treated as guidance, not as finalized normative requirements.
When APCA and WCAG 2.x disagree
The two algorithms can produce contradictory results. The most important cases where they diverge:
- Very dark text on white (e.g., near-black): WCAG 2.x gives the highest ratios, but APCA may give a slightly lower Lc because it applies a different curve at very high luminance differences.
- Light text on a dark background: APCA often requires less contrast than WCAG 2.x for good readability because human vision is more sensitive in dark environments — APCA captures this; WCAG 2.x does not.
- Large, bold text at low contrast: WCAG 2.x requires 3:1 for all large text; APCA allows lower Lc for very large, bold text because size and weight substitute for contrast in legibility.
What to use today
For legal compliance and audit purposes, WCAG 2.2 with its ratio formula is the current normative standard. APCA is not yet required and will not be until WCAG 3 is published — a date that remains unannounced as of mid-2026. However, using APCA as a secondary check, especially for dark mode and for very small or very large text sizes, gives you a more accurate picture of actual user experience. The Flowfiles contrast checker displays both the WCAG 2.x ratio and an APCA Lc preview for every color pair, so you can monitor both without switching tools.