How it reads
Both readings start from CIE L*, which is anchored to XYZ luminance rather than to any screen's primaries — so the meter is device-independent: the same inputs hold for sRGB, Display-P3, or Rec.2020. For an sRGB pair it reproduces the WCAG ratio exactly.
The contrast % is the real WCAG 2 ratio — (Y_hi + 0.05) / (Y_lo + 0.05), the flare term and all — remapped onto a log scale calibrated so 1:1 → 0%, 4.5:1 → 50%, and 21:1 → 100%. Nothing is approximated; each L* is converted back to luminance and run through the genuine formula.
The perceptual reading is simply |ΔL*| — the lightness gap itself, as a percentage. It agrees with the contrast % against white and black, where the AA line sits at L* ≈ 49. Elsewhere they part: WCAG's +0.05 flare rates mid-and-dark pairs higher than their perceptual lightness gap alone. That gap between the two numbers is the flare, made visible.
In APCA mode the same luminance pair runs through Andrew Somers' SAPC/APCA formula — the perceptual contrast math proposed for WCAG's successor — which weighs text and background luminance on different exponents, and weighs light-on-dark differently from dark-on-light, because the eye doesn't read those two cases the same way. That produces Lc, a signed score that tops out near +106 for black text on white and −108 for white text on black.
Unlike the WCAG ratio, Lc is already built to be perceptually even, so turning it into a percentage takes no log curve — just a straight scale against whichever ceiling matches the current polarity. The six tick marks are APCA's own published readability floors, Lc 90 down to Lc 15, each tied to a real font-size and weight; they're re-expressed here as the same kind of percentage as the WCAG side, so a number here means roughly what it means over there.
APCA is still a W3C working draft under WCAG 3, not a shipped standard — these thresholds may move before it does. Treat the badges below as APCA's current guidance, not law.