Skip to content
Back to skills

Accessible Contrast

ASecurity

Generate color ramps designed for WCAG-compliant contrast pairing. Creates 11-step scales with predictable foreground/background combinations.

  • 207 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 7, 2026
toolsbash

Works with

  • cli

Security analysis

A100/100

Pro scans all 9 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add NeverSight/skills_feed --skill accessible-contrast --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Accessible Contrast?

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

Security grade badge for Accessible Contrast
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/neversight-accessible-contrast/badge)](https://www.skillsdirectory.com/skills/neversight-accessible-contrast)

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

Download with Pro
SKILL.md
---
name: accessible-contrast
description: Generate color ramps designed for WCAG-compliant contrast pairing. Creates 11-step scales with predictable foreground/background combinations.
license: SEE LICENSE IN LICENSE.md
metadata:
  author: ismael.fyi
  version: "1.0.0"
---

# Accessible Contrast Pairs

Generate color ramps specifically designed for accessible text/background combinations. Uses an 11-step scale for predictable WCAG-compliant pairing.

## When to Use

- "Create accessible color combinations"
- "I need WCAG compliant colors"
- "Generate high contrast pairs"
- "Make sure my text is readable"

## Installation

```bash
npx @basiclines/rampa
```

## The 11-Step Strategy

Why 11 steps? It creates predictable pairing math:

| Pair | Indices | Contrast Level |
|------|---------|----------------|
| Maximum | 0 + 10 | Highest (near white + near black) |
| AAA Normal | 1 + 9, 2 + 8 | 7:1+ ratio |
| AA Normal | 3 + 7 | 4.5:1+ ratio |
| AA Large | 4 + 6 | 3:1+ ratio |

## Recipe

```bash
rampa -C "<brand-color>" -L 98:5 --size=11 -O css --name=color
```

- `-L 98:5` ensures full range from near-white to near-black
- `--size=11` creates indices 0-10 for easy pairing
- Pairs are symmetrical: 0+10, 1+9, 2+8, etc.

## Complete Example

For brand color `#3b82f6`:

```bash
rampa -C "#3b82f6" -L 98:5 --size=11 -O css --name=blue
```

Output:
```css
:root {
  --blue-0: #f8fafc;   /* Near white */
  --blue-1: #f1f5f9;
  --blue-2: #e2e8f0;
  --blue-3: #cbd5e1;
  --blue-4: #94a3b8;
  --blue-5: #64748b;   /* Middle gray */
  --blue-6: #475569;
  --blue-7: #334155;
  --blue-8: #1e293b;
  --blue-9: #0f172a;
  --blue-10: #020617;  /* Near black */
}
```

## Contrast Pairing Guide

### For Normal Text (4.5:1 minimum - WCAG AA)

```css
/* Light backgrounds with dark text */
.light-subtle {
  background: var(--blue-0);
  color: var(--blue-7);  /* 0+7 = AA */
}

.light-default {
  background: var(--blue-1);
  color: var(--blue-8);  /* 1+8 = AA */
}

.light-strong {
  background: var(--blue-2);
  color: var(--blue-9);  /* 2+9 = AAA */
}

/* Dark backgrounds with light text */
.dark-subtle {
  background: var(--blue-10);
  color: var(--blue-3);  /* 10+3 = AA */
}

.dark-default {
  background: var(--blue-9);
  color: var(--blue-2);  /* 9+2 = AA */
}

.dark-strong {
  background: var(--blue-8);
  color: var(--blue-1);  /* 8+1 = AAA */
}
```

### For Large Text (3:1 minimum - WCAG AA)

```css
.large-text {
  background: var(--blue-3);
  color: var(--blue-7);  /* 3+7 = AA Large */
}
```

### Maximum Contrast

```css
.max-contrast {
  background: var(--blue-0);
  color: var(--blue-10);  /* 0+10 = Maximum */
}
```

## Quick Reference Table

| Background | Text for AA | Text for AAA |
|------------|-------------|--------------|
| 0 | 7, 8, 9, 10 | 8, 9, 10 |
| 1 | 7, 8, 9, 10 | 8, 9, 10 |
| 2 | 8, 9, 10 | 9, 10 |
| 3 | 8, 9, 10 | 9, 10 |
| 7 | 0, 1, 2, 3 | 0, 1, 2 |
| 8 | 0, 1, 2, 3 | 0, 1, 2 |
| 9 | 0, 1, 2 | 0, 1 |
| 10 | 0, 1, 2 | 0, 1 |

## Multiple Colors

Generate accessible ramps for multiple brand colors:

```bash
rampa -C "#3b82f6" -L 98:5 --size=11 -O css --name=blue
rampa -C "#22c55e" -L 98:5 --size=11 -O css --name=green
rampa -C "#ef4444" -L 98:5 --size=11 -O css --name=red
```

All ramps use the same index pairing logic.

## Tips

1. The `-L 98:5` range is crucial - it ensures full contrast range
2. Middle values (4, 5, 6) work for disabled/muted states
3. Always test actual rendered contrast - tools like Stark, axe can verify
4. The index math (0+10, 1+9, 2+8) makes theming predictable
5. For buttons: use index 5-6 as background, 0-1 as text

Files in this skill

  • SKILL.md3.5 KB
  • description_cn.txt132 B
  • description_de.txt155 B
  • description_en.txt143 B
  • description_es.txt171 B
  • description_fr.txt195 B
  • description_ja.txt210 B
  • description_ko.txt157 B
  • description_tw.txt132 B

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…