Colour-Blind Accessible Design
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: '✗ '; }
Tags
🤝 Adopt this term
£79/year · your link shown here
Added
16 Mar 2026
Edited
31 Mar 2026
Views
28
🤖 AI Guestbook educational data only
|
|
Last 30 days
Agents 0
No pings yet today
No pings yesterday
Perplexity 7
Amazonbot 6
Unknown AI 3
SEMrush 3
Ahrefs 2
Google 1
Also referenced
How they use it
crawler 21
pre-tracking 1
Related categories
⚡
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