How contrast ratio relates to actual legibility
Contrast ratio (CR) is calculated from the relative luminance of two colors: CR = (L1 + 0.05) / (L2 + 0.05) where L1 is the lighter color's luminance. This formula is luminance-based, not perception-based — it treats all hues as equal, which they are not. The upcoming WCAG 3.0 Advanced Perceptual Contrast Algorithm (APCA) addresses this limitation by separately modeling the lightness of the text and background, the polarity (light-on-dark vs. dark-on-light), and the font weight and size. APCA produces significantly different results from WCAG 2.1 for certain color combinations: highly saturated foregrounds on white backgrounds, light text on dark backgrounds, and small font sizes all get recalibrated. Designers working on accessibility-critical products should test against both WCAG 2.1 (current legal standard) and APCA (forthcoming standard) for any edge cases.
