AccessLumens

WCAG 1.4.3

Contrast (Minimum)

SeriousLevel AAWCAG 2.0Common in US litigationEAA enforcement-relevant

50.6%

of the 609 sites we scanned fail this

Ranging from 28.5% of US local government to 75.4% of Indian financial services. Pooled across five targeted cohorts, so treat it as a convenience sample rather than a rate for the web.

What it means and how to fix it

What 1.4.3 covers

  • We detect this: Text below 4.5:1 against a solid background, or 3:1 for large text
  • Partly detected: Text over gradients, images or videoWhere the background cannot be resolved to a single colour, the check is skipped rather than guessed. Those cases are counted as untested, never as passing.
  • No engine can detect this: Text baked into an imageReading the contrast of text inside a JPEG means reading the image.
  • Partly detected: Text that only appears on hover, on focus, or inside a closed menuOnly states present in the DOM at scan time are measured. Our journey mode reaches more of them than a page scan does.

Of that, one failure is detectable automatically, and these are what the rates on this page measure. Each needs its own fix. The percentage is the share of all 609 scanned sites affected. These do not sum to the 50.6% above: a site can fail more than one of them, and most that fail any fail several.

  • Text is too faint to read easily50.6%

    Users with low vision or color blindness may be unable to read text that lacks sufficient contrast.

What it looks like in code

CSS
Fails
<a href="/path">Text</a>
Passes
.notice {
  color: #595f66;      /* 6.4:1 on white, passes AA and AAA */
  background: #ffffff;
}

Body text needs 4.5:1, or 3:1 at 18.66px bold or 24px and above. The failing value here is the mid grey that design systems reach for to make secondary text look lighter, and it is the single most common source of contrast failures in our corpus.

Shown for Text is too faint to read easily. The failing example is real markup from a site in our research cohorts. Class, style and data attributes are removed, and ... marks a value we elided. The structure is unchanged, because the structure is the failure.

For what the criterion formally requires, read the W3C Understanding document.

How often it fails

Indian financial services46/61
75.4%
Shopify DTC stores52/75
69.3%
US healthcare providers133/208
63.9%
EU e-commerce32/107
29.9%
US local government45/158
28.5%

Share of scanned sites in each cohort. These are five targeted studies, not a random sample of the web, so read the contrast between cohorts rather than any one figure as a web-wide rate.

Who fails it most3 cuts by state, sector, retail vertical

By state

MO7/8
87.5%
TX11/13
84.6%
KS7/10
70%
LA6/9
66.7%
OH5/8
62.5%
FL9/15
60%
CA10/25
40%
NY3/8
37.5%

By sector

Grocery5/12
41.7%
Retail / Marketplace4/12
33.3%
Telecom7/21
33.3%
Banking5/19
26.3%
Travel / Ticketing3/14
21.4%
Fashion0/8
0%

By retail vertical

fitness12/14
85.7%
home13/16
81.3%
food10/14
71.4%
apparel11/18
61.1%
beauty6/13
46.2%

Groups smaller than 8 sites are not shown: a rate over a handful of sites moves by tens of points on a single result.

What the numbers do not say

Contrast is the failure that scales with design systems. When it appears it rarely appears once, because the failing colour is usually a token rather than a mistake on one button. That is why fixing it is often a single change to a variable rather than a long list of edits, and why the sites that fail tend to fail heavily rather than marginally.

What this does not measureLimits of these figures, and where the corpus came from
  • These are five targeted cohorts, not a random sample of the web. Per-cohort rates are the figure to quote; the pooled rate is a convenience sample.
  • Denominators count sites that produced a result. Sites that were blocked or errored are excluded rather than counted as passing.
  • Occurrence counts are floors: the engine records at most 25 occurrences of a rule per page.
  • The EU and Indian cohorts retained only the primary success criterion per finding, so a rule mapping to several criteria contributes to one of them in those two cohorts and to all of them in the other three.
Cohorts in the corpus, with sites scanned and attempted
CohortScannedAttempted
Shopify DTC stores7575
US local government158221
US healthcare providers208218
EU e-commerce107170
Indian financial services6172

Corpus generated 2026-09-18.

Check your own site

A free scan reports WCAG 1.4.3 alongside everything else, with the exact elements that fail.

Run a free scan

All accessibility rules and WCAG criteria