What the numbers mean
WCAG's contrast ratio compares the brightness of two colours, from 1:1 (identical) to 21:1 (black on white). Success criterion 1.4.3 asks for at least 4.5:1 for normal text and 3:1 for large text; 7:1 is the stricter AAA level.
Large text is at least 18 pt, or 14 pt bold, which W3C puts at about 24 px and 18.5 px. A full-screen 1080-wide video on a 390-px-wide phone shows at about 0.36×, so a bold caption needs to be about 51 px or more at 1080 wide to count as large.
| Level | Normal text | Large text |
|---|---|---|
| AA (1.4.3) | 4.5:1 | 3:1 |
| AAA (1.4.6) | 7:1 | 4.5:1 |
Outline and box change the question
With a solid outline or a box, the colour right next to the letters is the outline or box, not the video. Then text vs outline decides if the words read, and outline vs frame decides if the caption stands out. White text with a black outline is 21:1 against the outline, whatever is behind it.
Plain text over video is the risky one: the background changes every frame. Sample the brightest spot behind your caption, not the average.
- 1
Pick a frame
Use the busiest or brightest moment where the caption sits.
- 2
Sample the background
Tap Pick the background, then tap right behind the caption.
- 3
Pick a style
Plain, outline or box, and the colours.
- 4
Aim for AA
4.5:1 for normal text, 3:1 for large.
Worked example
White captions over a beige wall (#C9B8A6).
Plain white text: 1.93:1. Fails even the 3:1 large-text level.
Add a black outline: text vs outline 21:1, outline vs wall 10.89:1. Reads anywhere.
Sources
Questions
What contrast ratio do captions need?
WCAG asks for 4.5:1 for normal text and 3:1 for large text (AA). Captions on video change background every frame, so an outline, shadow or box is the reliable way to stay above it.
Does an outline count for contrast?
Yes. A solid outline becomes the background right next to the letters, so measure text against the outline. The outline then needs to stand out from the video.
How is the ratio calculated?
Each colour's relative luminance L is computed from its red, green and blue values, then the ratio is (L lighter + 0.05) ÷ (L darker + 0.05), as WCAG defines it.
Is my frame uploaded?
No. It's shown and sampled in your browser; the colour picker reads pixels locally.
Does this make my video WCAG compliant?
No single check does. It tells you whether the caption colours pass the contrast criterion; accessibility also covers accurate captions, timing and more.