# agent contrast fixer picked colors that fail in dark mode - how to fix it

## TL;DR

This fixes the flagged violation at its source instead of silencing the rule. The agent's contrast fix passed in light mode but failed in dark mode. Follow the steps, re-run the scan, and gate the rule in CI so it stays fixed.

## The error, verbatim

```text
agent contrast fixer picked colors that fail in dark mode
```

## Fix it step by step

### Step 1

Test every contrast fix in both color schemes before committing.

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

### Step 2

Use color-scheme-aware design tokens so the fix adapts instead of hardcoding one mode.

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

### Step 3

Re-run axe color-contrast with dark mode forced and light mode forced.

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

### Step 4

Reject any fix that passes only one mode.

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

- Dark mode is not an edge case; it is half the user base on some products.
- 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

Agent workflow guardrail; axe color-contrast per color scheme.

## Variant phrasings

### agent contrast fix failed in dark mode

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

## Why it happens

The agent's contrast fix passed in light mode but failed in dark mode. 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_wiib54Ewc7Ovqqk5620rCg
