Contrast, at full precision
The WCAG 2.2 ratio for a pair, judged before rounding — because a pair at 4.4996 displays as 4.50 and fails.
Contrast, at full precision
The WCAG 2.2 ratio for a pair, judged before rounding. A pair at 4.4996 displays as 4.50 and fails, and this says so.
The formula, and where it stops
Each sRGB channel is linearised — divided by 12.92 below 0.04045, otherwise ((c+0.055)/1.055)^2.4 — then combined as 0.2126R + 0.7152G + 0.0722B to give relative luminance. The ratio is (lighter + 0.05) / (darker + 0.05).
Alpha is composited before measuring. A translucent colour has no contrast of its own — it depends entirely on what is behind it. Where that is unknown this refuses to answer rather than assuming white, because assuming white is how a tool reports a comfortable pass for text nobody can read.
Nothing is rounded before the comparison. Two decimals are displayed; the full value decides.
Large text means 18.66px bold or 24px regular and above. Logotypes, purely decorative text and disabled controls are exempt from 1.4.3 — the exemption is narrow and worth reading before relying on it.
4.50 is not always a pass
A great many contrast tools round to two decimals and then compare. A ratio of 4.4996 displays as 4.50 and is reported as passing AA. It is not passing AA.
The gap is small and the consequence is not: an audit run on real values finds the failure, and by then it is in a design system.
Contrast is a property of a pair, not a colour
There is no such thing as an accessible colour. There are pairings that meet a ratio and pairings that do not, which is why every result here names both colours.
Meeting the ratio is not the same as being readable
Very thin weights, tight tracking, low-quality rendering and text over photographs can all be hard to read at ratios well above the threshold. The number is a floor, not a verdict.