# axe-core color-contrast-enhanced error: AAA contrast ratio failed - how to fix it

## TL;DR

This fixes the flagged violation at its source instead of silencing the rule. Text fails the enhanced AAA contrast ratio of 7:1 for normal text (4.5:1 for large text). Follow the steps, re-run the scan, and gate the rule in CI so it stays fixed.

## The error, verbatim

```text
axe-core color-contrast-enhanced error: AAA contrast ratio failed
```

## Fix it step by step

### Step 1

Measure the failing pair with a contrast checker to see the current ratio.

Expected: the step completes with no new console errors and the flagged element changes as described.

### Step 2

Darken the text color or lighten the background until the ratio hits 7:1 for normal text.

Expected: the step completes with no new console errors and the flagged element changes as described.

### Step 3

Re-check in both light and dark mode if the site supports color schemes.

Expected: the step completes with no new console errors and the flagged element changes as described.

### Step 4

Re-run axe with the AAA tag enabled; the rule passes at 7:1.

Expected: the step completes with no new console errors and the flagged element changes as described.

## When to use this skill

- Your scan report lists this exact rule or failure
- You are clearing automated accessibility failures before release or audit
- A CI accessibility gate is red because of this item

## When NOT to use this skill

- Meeting AA 4.5:1 does not satisfy this rule; enhanced means AAA numbers.
- The issue only appears in manual screen-reader testing and no automated rule flags it
- You are doing a full manual WCAG audit; this skill covers one automated check

## Compatibility

axe-core 4.8+ (rule color-contrast-enhanced, WCAG 1.4.6).

## Variant phrasings

### axe color-contrast-enhanced AAA ratio failed

Same underlying issue and the same fix. Searchers phrase it different ways; the remediation does not change.

## Why it happens

Text fails the enhanced AAA contrast ratio of 7:1 for normal text (4.5:1 for large text). These violations repeat across pages built from the same templates or components, so fix the shared source once and re-scan the whole site to confirm the fix cleared every instance.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_ms7hPYx-gTMr4oepdq2w4g
