For WCAG 2.2 Level AA, normal text generally needs at least 4.5:1 contrast and large text at least 3:1. Apply the relevant exceptions and check the actual colors behind the text. Passing one color pair does not establish that a page meets all accessibility requirements.

Contrast is one part of readability

Low contrast can make text and controls difficult to distinguish. Font size, weight, spacing, screen conditions, and the user's needs also affect readability.

WCAG provides measurable contrast criteria. A tool can calculate a color ratio, but the author must identify the relevant text, background, state, and requirement.

Legal requirements depend on jurisdiction and the service. This article explains technical criteria; it does not establish legal compliance.

How Contrast Is Measured

Contrast is expressed as a ratio between 1:1 and 21:1. Identical colors are 1:1; pure black on pure white is 21:1. The ratio is calculated from the relative luminance of the two colors — a measure of perceived brightness.

The crucial point: contrast cannot be judged by eye. Two colors that look "different enough" to a designer on a calibrated monitor can fail badly for a user on a cheap screen in daylight. The ratio is a measurement, and it must be measured. Paste a text color and a background color into the FindUtils Contrast Checker and it calculates the ratio for the supplied colors.

Text and non-text thresholds

WCAG has A, AA, and AAA conformance levels. These contrast criteria apply at AA or AAA:

CriterionNormal textLarge textRelevant non-text information
AA text minimum4.5:13:1Separate non-text criterion
AAA enhanced text7:14.5:1Separate criteria apply
AA non-text contrastNot the text criterionNot the text criterion3:1 where required

Large text means at least 18 points, or at least 14 points when bold. The text criterion has exceptions, including logos and some incidental text. Do not round a failing ratio up to the threshold. See W3C's contrast minimum explanation.

Non-text contrast applies to visual information needed to identify controls, states, and meaningful graphics, with stated exceptions. It does not require every decorative border to meet 3:1. See W3C's non-text contrast explanation.

Check focus, selection, hover, disabled states, and both themes according to the criteria that apply. A single static swatch does not cover the full component.

Example: gray text on white

The color #999999 on white has a contrast ratio of about 2.85:1. It fails the 4.5:1 threshold for normal text and the 3:1 threshold for large text.

Use the Contrast Checker to compare a darker text color or a different background. Leave enough margin that later color changes do not create a borderline failure.

This is a calculated example, not a claim about the frequency of this defect across the web.

How to Fix Failing Colors

When a color pair fails, you have a few levers:

  1. Darken the text (or lighten it, on a dark background). This is the most common fix and usually the least disruptive.
  2. Adjust the background. Sometimes the background is the problem — a mid-tone background squeezes contrast on both light and dark text.
  3. Work in HSL. Adjusting lightness is far more predictable in HSL than HEX. Convert your color with the FindUtils Color Converter, drop the lightness, and re-check.
  4. Reserve brand colors for large text. A color can pass the large-text threshold while failing the normal-text threshold. Measure it before use.
  5. Check gradients and overlays. Check text against every area of a gradient or image that it covers. The lowest-contrast area is not always the lightest.

Tools Used in This Guide

Frequently asked questions

Does a passing color pair make a page accessible?

No. It checks one requirement in one context. Keyboard access, semantics, labels, text resizing, and other requirements need separate review.

Can I round 4.49:1 up to 4.5:1?

No. Compare the unrounded value with the threshold.

Which part of a gradient should I test?

Check every background area the text covers. The lowest contrast area can be light or dark depending on the text color.

Does every button border need 3:1 contrast?

No. Determine which visual information is needed to identify the control or state. Apply the non-text criterion and its exceptions.

Can I check translucent colors as if they were solid?

No. Use the resulting composited colors against the actual background.

No. It provides a technical result. Legal applicability and complete accessibility conformance require separate assessment.

Next Steps