← CodeClarityLab Home
Browse by Category
+ added · updated 7d
← Back to glossary

Colour-Blind Accessible Design

accessibility CSS3 Intermediate

Also Known As

colour blindness deuteranopia colour contrast accessible

TL;DR

Design for the 8% of men with colour vision deficiency — pair colour with icons, labels, and patterns; never use colour as the only differentiator.

Explanation

Deuteranopia/protanopia (red-green, 6-8% of men) and tritanopia (blue-yellow) are the main types. Rules: never colour alone for meaning (error = red + icon + text), 4.5:1 contrast for normal text, patterns in charts. Test with Chrome DevTools Vision Deficiencies emulation. WCAG 1.4.1: colour must not be the only visual means of conveying information.

Watch Out

WCAG AA (4.5:1) is a minimum — decorative elements and large text (3:1) have different thresholds; confusing them leads to non-compliant designs that appear to pass.

Common Misconception

Sufficient colour contrast means accessible for colour blind users — contrast ratio measures luminance not colour difference; red on white passes contrast but fails red-green colour blind users.

Why It Matters

A form that only turns invalid fields red is unusable for 8% of men — icons and error text make it universally understandable.

Common Mistakes

  • Red/green only for status
  • Colour-coded charts without patterns
  • Not testing with colour vision simulators

Avoid When

  • Never use red/green alone to indicate success/failure — the most common form of colour blindness (deuteranopia) makes these indistinguishable.
  • Avoid very low contrast text even if it passes colour-blindness checks — low contrast fails users with low vision independently.

When To Use

  • Always pair colour with a secondary indicator (icon, text label, pattern) for any state that carries meaning.
  • Use a contrast checker (WCAG 2.1 AA requires 4.5:1 for normal text) on every colour combination in the design system.
  • Test designs with a colour-blindness simulator (Coblis, Chrome DevTools vision emulation) before handoff.

Code Examples

💡 Note
The bad CSS uses only border colour to distinguish valid/invalid states; the fix adds an icon and text label so the meaning survives in greyscale or with colour-blindness filters applied.
✗ Vulnerable
/* Only colour:
.valid { border-color: green; }
.invalid { border-color: red; }
✓ Fixed
/* Multiple cues:
.valid .msg::before { content: '✓ '; }
.invalid .msg::before { content: '✗ '; }

Added 16 Mar 2026
Edited 31 Mar 2026
Views 28
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
0 pings W 0 pings T 0 pings F 0 pings S 0 pings S 1 ping M 1 ping T 0 pings W 0 pings T 0 pings F 1 ping S 0 pings S 0 pings M 0 pings T 0 pings W 1 ping T 0 pings F 1 ping S 0 pings S 0 pings M 0 pings T 1 ping W 0 pings T 1 ping F 1 ping S 0 pings S 0 pings M 0 pings T 0 pings W 0 pings T
No pings yet today
No pings yesterday
Perplexity 7 Amazonbot 6 Unknown AI 3 SEMrush 3 Ahrefs 2 Google 1
crawler 21 pre-tracking 1
DEV INTEL Tools & Severity
🟠 High ⚙ Fix effort: Medium
⚡ Quick Fix
Never use colour as the only way to convey information — pair it with an icon, label, or pattern; test with Chrome DevTools Vision Deficiencies emulator for all colour blind types
📦 Applies To
css CSS3 web
🔗 Prerequisites
🔍 Detection Hints
Status conveyed by colour only without icon or text; chart using only colour differentiation; form validation only showing red border
Auto-detectable: ✓ Yes axe lighthouse colour-contrast-analyser
⚠ Related Problems
🤖 AI Agent
Confidence: High False Positives: Medium ✗ Manual fix Fix: Medium Context: File

✓ schema.org compliant