Skip to content
Back to skills

09 Manage Color Contrast

ASecurity

Ensure WCAG AA accessibility and readability

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
designgorefactoring

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add karanmrn/karanagentskills --skill 09-manage-color-contrast --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 09 Manage Color Contrast?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 09 Manage Color Contrast
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/karanmrn-09-manage-color-contrast/badge)](https://www.skillsdirectory.com/skills/karanmrn-09-manage-color-contrast)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: manage-color-contrast
description: Ensure WCAG AA accessibility and readability
domain: ui-design
skill-type: evaluative
version: 1.0.0
author: refactoring-ui-expert
prerequisites: []
dependencies:
  - 03-build-color-palette
---

# Skill: Manage Color Contrast

## Purpose
Ensure text and interactive elements have sufficient contrast against their backgrounds for readability and accessibility.

## Type
Evaluative + Corrective

## Input
- Text colors and sizes
- Background colors
- UI element specifications

## Output
- Contrast ratio calculations
- Pass/Fail against WCAG standards
- Recommendations for fixes

## Transformation Performed
Calculates contrast ratios and ensures compliance with WCAG AA standards (4.5:1 for normal text, 3:1 for large text and UI components).

## Decision Criteria

### PASS (Good Contrast)
- **Normal text (< 18px)**: 4.5:1 minimum (WCAG AA)
- **Large text (≥ 18px bold or ≥ 24px)**: 3:1 minimum
- **UI components (buttons, inputs)**: 3:1 minimum for boundaries
- **Focus indicators**: 3:1 minimum against adjacent colors

### FAIL (Poor Contrast)
- Light gray text on white (< 4.5:1)
- White text on light colors
- Disabled states that look like active (too much contrast)
- Placeholder text same as input text

## Contrast Ratio Quick Reference

| Text Color on White | Ratio | Pass AA? |
|---------------------|-------|----------|
| #000000 (black) | 21:1 | ✓ |
| #333333 | 12.6:1 | ✓ |
| #666666 | 5.9:1 | ✓ |
| #757575 | 4.6:1 | ✓ (minimum) |
| #999999 | 2.8:1 | ✗ |
| #CCCCCC | 1.6:1 | ✗ |

## Common Failure Modes

| Failure | Description | Fix |
|---------|-------------|-----|
| **Light Gray Text** | #999 or lighter for body text | Use #666 minimum, #333 preferred |
| **Ghost Text** | Placeholder same as value | Make placeholder lighter (#999) |
| **Low-contrast Primary** | Brand color too light for white text | Darken brand color or use dark text |
| **Subtle Links** | Links barely different from text | Add underline or increase contrast |
| **Disabled Confusion** | Disabled buttons too prominent | Reduce to 30% opacity or use gray |
| **Icon Fade** | Icons too light to see | Match text color or use higher contrast |

## Prerequisites
- Color palette defined
- Typography scale defined

## Dependencies
- `build-color-palette` (gray scale needed)

## Refactoring UI References
- "Don't use grey text on colored backgrounds"
- "Ensure sufficient contrast"

## Example Assessment

**Input:** Body text #888888 on white background

**Evaluation:** FAIL
- Ratio: ~3.5:1
- Below 4.5:1 requirement

**Recommendation:**
Change to #666666 (5.9:1) minimum
Prefer #333333 or #1A1A1A for body text

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.