WCAGdesk
axe-core: color-contrast · WCAG 1.4.3 Contrast (Minimum) · Level AA

How to fix the “color-contrast” accessibility issue

The axe-core color-contrast rule fails when text does not have enough contrast against its background. Under WCAG 2.2 AA, normal text needs a contrast ratio of at least 4.5:1 and large text at least 3:1 — a requirement German BFSG and EU EAA enforcement both rest on via EN 301 549.

What axe-core checks

axe-core computes the contrast ratio between each text node's color and its effective background color, and fails any normal-size text below 4.5:1 (or large text — 18.66px bold / 24px — below 3:1). It is one of the most common failures on real e-commerce sites.

Which standard this maps to

WCAG 2.21.4.3 Contrast (Minimum) (Level AA)
EN 301 5499.1.4.3
BFSG / EAABFSG § 12 via EN 301 549 · EAA Annex I
CategoryColor & Contrast

Why it matters

Low contrast is the single most frequent WCAG failure, and it directly affects users with low vision and anyone on a bright screen outdoors. For a German shop, it is also the easiest violation for an Abmahnung to cite, because it is objectively measurable — there is no argument about a 3.1:1 ratio.

Common causes

  • Light-grey body text (e.g. #999) on white
  • Brand-coloured buttons where the label fails against the fill
  • Placeholder text in form fields
  • Text over a busy image or gradient without a scrim

How to fix it

Raise the contrast until the ratio passes. The darkest grey that still passes on white is about #767676 (4.54:1). Check pairs with a contrast checker or your browser DevTools.

/* Fails: 2.85:1 */
color: #999999;
background: #ffffff;

/* Passes AA: 4.54:1 */
color: #767676;
background: #ffffff;

FAQ

What contrast ratio does WCAG 2.2 AA require?

4.5:1 for normal text and 3:1 for large text (at least 24px, or 18.66px bold).

Does this apply to disabled elements?

No — WCAG exempts disabled controls and pure decoration, and axe-core does not flag them.

Find every issue like this on your site

Run a free WCAG 2.2 AA scan — real axe-core engine, no signup. Or get a timestamped evidence report for €29.