A designer runs a color pair through a contrast checker, gets a clean 4.6:1, comfortably above the 4.5:1 WCAG AA threshold, and ships it with confidence. A real user later reports that the same text is genuinely hard to read. Nobody made a mistake here. The checker did its math correctly. The gap is not a testing error, it is a limitation baked directly into the formula the checker is running, one that most teams have never had a reason to examine closely.
Understanding that gap does not mean abandoning contrast checkers, which remain useful and correct for what they actually measure. It means understanding precisely what they do and do not account for, so a clean pass gets read as "meets the minimum legal bar," not "guaranteed readable in every real context it will actually be used in."
The Stat: WCAG 2.x's contrast formula (Success Criterion 1.4.3) evaluates only the ratio between two flat colors and does not account for font weight, font size, or letter spacing, which is why the newer APCA algorithm being developed for WCAG 3.0 was built specifically to address cases the older formula scores as a technical pass despite being hard to read in practice. (Source: W3C WCAG 2.1 SC 1.4.3; W3C Silver/WCAG 3.0 APCA research)
What the WCAG Contrast Formula Actually Measures
WCAG 2.x's Success Criterion 1.4.3 defines contrast using a relative luminance calculation between the foreground and background colors, producing a single ratio number that gets compared against a fixed threshold (4.5:1 for normal text at AA, 3:1 for large text). The calculation is entirely about the two colors involved. It has no input for how large the text is being rendered, how bold or thin the font weight is, how the letters are spaced, or what typeface is being used. Two completely different type treatments using the exact same two colors will always produce the exact same ratio number, and therefore the exact same pass or fail result, regardless of how differently they actually read to a human eye.
That is not an oversight in the standard. WCAG 2.x's contrast formula was designed decades ago around what was measurable and standardizable at the time, and it deliberately traded some real-world precision for a simple, consistent, universally applicable number. The tradeoff has always existed. It has simply become more visible as thin, light-weight typography has become a much more common design trend than it was when the formula was written.
Why Thin, Small Text Is Where This Shows Up Most
The gap between the formula and real perception is not evenly distributed across every color pair. It concentrates specifically in thin-weight and small-size text, because font weight and size are exactly the two variables the ratio formula ignores entirely. A bold, large headline in a given color pair and a thin, small caption in the identical color pair will both report the same ratio, and both will pass or fail together, even though a human reader finds the bold headline meaningfully easier to read than the thin caption. This is precisely why "we ran it through a contrast checker and it passed" is not a complete substitute for actually looking at the smallest, thinnest text on a page and asking whether it is genuinely comfortable to read, not just numerically compliant.
What APCA Is Trying to Fix
The Accessible Perceptual Contrast Algorithm, APCA, is the contrast model being developed as part of the work toward WCAG 3.0, specifically built to address this gap. Rather than a single ratio derived only from two colors, APCA's model factors in font weight and size as part of its output, producing different guidance for a bold headline than for a thin caption using the same colors, closer to how the two actually read to a human eye in practice. It is not yet the official WCAG conformance requirement (WCAG 2.x's SC 1.4.3 remains the current, legally referenced standard), but it is worth understanding and even spot-checking against today, because it explains precisely the failure mode described above rather than just working around it after the fact.
A Concrete Example Worth Running Yourself
Take a mid-gray text color, roughly #767676, on a white background. Run it through a standard WCAG contrast checker at 16px regular weight and it lands right around 4.54:1, a technical AA pass by a narrow margin. Now imagine that exact same #767676-on-white pair used for a 12px caption in a light font weight, the kind of treatment common in metadata lines, timestamps, and secondary labels. The ratio number does not change at all, because the formula never looked at size or weight to begin with, it is still 4.54:1, still a technical pass. A reader with any degree of low vision, or simply a reader viewing the page on a lower-quality display, is very likely to find the 12px light-weight version meaningfully harder to read than the 16px regular-weight version, despite the checker reporting identical compliance for both. This is not a hypothetical edge case. It is one of the single most common patterns in real design systems, because metadata and caption text is disproportionately likely to be styled smaller and lighter than body copy, exactly where the formula's blind spot does the most damage.
What to Actually Do With This Today
Three practical adjustments account for this gap without waiting for a future standard to become official. First, treat a passing WCAG ratio on thin or small text as a floor, not a finish line, and look at it directly rather than trusting the number alone. Second, where a design calls for thin-weight or small text in a meaningful content area (not purely decorative text), consider increasing the actual contrast ratio well above the 4.5:1 minimum, giving the formula's blind spot less room to matter. Third, run genuinely small and thin text through an APCA calculator alongside the standard WCAG checker during design review, treating a mismatch between the two as a signal worth a second look rather than an official failure.
None of this replaces the WCAG 2.x check, which remains the actual conformance requirement most organizations are measured against today. It supplements it specifically where the formula's known limitation is most likely to produce a false sense of confidence. For the general contrast requirements and how to measure them correctly in the first place, our color contrast requirements guide covers the fundamentals this piece builds on, and our dark mode contrast piece covers a related context where this same gap shows up with particular frequency.
If a specific color pair on your site has passed a contrast checker but still gotten real complaints about readability, that gap is worth investigating directly rather than dismissing, and our free accessibility tools are a fast way to check both current WCAG ratios and flag likely trouble spots. Our team is reachable at experts@wcag.world for a closer look at specific typography choices. The official WCAG contrast guidance and the W3C Silver task force's visual contrast research are both worth reading directly for the full technical picture.
