Upload a JPG or PNG to preview how it looks under different color vision deficiencies.
WCAG 2.x Contrast Requirements
Definition: WCAG 2.1/2.2 defines minimum contrast ratios to ensure readability for users with low vision or CVD. Contrast is measured via relative luminance of the lighter and darker colors.
Thresholds: Normal text: 4.5:1 (AA), 7:1 (AAA). Large text (≥18pt or ≥14pt bold): 3:1 (AA), 4.5:1 (AAA).
Formula: L = 0.2126×R + 0.7152×G + 0.0722×B · CR = (L₁+0.05)/(L₂+0.05)
WCAG 3.0 & APCA
Overview: APCA is the proposed contrast method for WCAG 3.0. Polarity-aware (distinguishes dark-on-light from light-on-dark) using perceptual lightness model (Lc).
Lc Values: Range 0 to ±108. Minimum thresholds vary by font size/weight (e.g., 16px normal text: Lc ≥ 75; 24px bold: Lc ≥ 45).
Advantages: Better perceptual uniformity, accounts for spatial frequency (font size), handles dark mode more accurately than WCAG 2.x.
Color Vision Deficiency Types
- Protanopia (Red-Blind): Absence of L-cone photoreceptors. ~1% of males.
- Protanomaly (Red-Weak): Anomalous L-cone. ~1% of males.
- Deuteranopia (Green-Blind): Absence of M-cone. ~1% of males.
- Deuteranomaly (Green-Weak): Anomalous M-cone. Most common CVD; ~5% of males.
- Tritanopia (Blue-Blind): Absence of S-cone. ~0.003%, affects both sexes.
- Tritanomaly (Blue-Weak): Anomalous S-cone. Extremely rare.
- Achromatopsia (Monochromacy): No cone function. ~1 in 30,000.
Simulation Models (Brettel, Viénot, Machado)
Brettel et al. (1997): Gold-standard dichromat simulation using LMS cone space projections with two half-planes separated by the neutral axis.
Viénot et al. (1999): Simplified single-matrix approximation. Faster but less accurate near the neutral axis.
Machado et al. (2009): Extends to anomalous trichromacy; severity parameter (0–1) interpolates between normal and full dichromacy.
Inclusive Design Principles
- Don’t rely on color alone: Use shape, pattern, text labels, or icons (WCAG 1.4.1).
- Test with real users: Automated tools catch ratio failures but miss context issues.
- Consider dark mode: APCA handles polarity better than WCAG 2.x.
- UI components: Non-text UI requires 3:1 contrast (WCAG 1.4.11).
- Provide alternatives: High-contrast mode, user-adjustable themes, forced-colors support.
Regulatory Standards & Compliance
- Section 508 (US): Federal ICT must conform to WCAG 2.0 AA (updated guidance references WCAG 2.1).
- EN 301 549 (EU): Mandates WCAG 2.1 AA for public sector websites and apps.
- ADA (US): Courts increasingly interpret Title III to require web accessibility.
- ISO 9241-3: VDT display readability standards including luminance contrast.
Relative Luminance & WCAG 2.x Ratio:
if (C ≤ 0.04045): C_linear = C / 12.92
else: C_linear = ((C + 0.055) / 1.055)^2.4
Step 2: Relative luminance (Rec.709):
L = 0.2126×R + 0.7152×G + 0.0722×B
Step 3: Contrast ratio (WCAG 2.x):
CR = (L_lighter + 0.05) / (L_darker + 0.05)
Range: [1:1, 21:1] · Black on White = 21:1
APCA Perceptual Contrast (Lc):
Step 2: APCA coefficients:
Y = 0.2126729×R + 0.7151522×G + 0.0721750×B
Step 3: Soft clamp:
if Y < 0.022: Y = Y + (0.022 − Y)^1.414
Step 4: Polarity-aware contrast:
if Y_bg > Y_text: Lc = (Y_bg^0.56 − Y_text^0.57) × 1.14
else: Lc = (Y_bg^0.65 − Y_text^0.62) × 1.14
Step 5: Low-contrast clamp: if |Lc| < 0.1 → Lc = 0
CVD Simulation Matrices (Viénot Simplified, linear RGB space):
[0.56667 0.43333 0.0 ]
[0.55833 0.44167 0.0 ]
[0.0 0.24167 0.75833]
Deuteranopia:
[0.62500 0.37500 0.0 ]
[0.70000 0.30000 0.0 ]
[0.0 0.30000 0.70000]
Tritanopia:
[0.95000 0.05000 0.0 ]
[0.0 0.43333 0.56667]
[0.0 0.47500 0.52500]
Machado severity:
C_sim = (1−s)×C_normal + s×C_dichromat
ΔE Metrics (CIE76, CIEDE2000):
a* = 500×[f(X/Xn)−f(Y/Yn)]
b* = 200×[f(Y/Yn)−f(Z/Zn)]
CIE76:
ΔE*ab = √[(ΔL*)²+(Δa*)²+(Δb*)²]
CIEDE2000:
ΔE*00 = √[(ΔL′/SₗKₗ)²+(ΔC′/SᶜKᶜ)²+(ΔH′/SₕKₕ)²] + Rᵀ
- ΔE < 1: Not perceptible to most observers.
- ΔE 1–3: Perceptible on close inspection.
- ΔE 3–5: Clearly noticeable difference.
- ΔE > 5: Colors appear distinctly different.
OKLab Conversion (Ottosson 2020):
l = 0.4122×R + 0.5363×G + 0.0514×B
m = 0.2119×R + 0.6807×G + 0.1074×B
s = 0.0883×R + 0.2817×G + 0.6300×B
Cube root: l_ = l^(1/3), m_ = m^(1/3), s_ = s^(1/3)
L = 0.2105×l_ + 0.7936×m_ − 0.0041×s_
a = 1.9780×l_ − 2.4286×m_ + 0.4506×s_
b = 0.0259×l_ + 0.7828×m_ − 0.8087×s_
- Linear sRGB: All intensity-dependent computations linearize sRGB via inverse gamma.
- D65 Illuminant: All color metrics reference CIE D65 (6500K).
- sRGB Gamut: Model operates within sRGB primaries only.
- CVD Simplification: Viénot matrices don’t model individual cone variation or neural adaptation.
- APCA Draft Status: APCA is in WCAG 3.0 working draft and may change before final recommendation.
- Not Diagnostic: For education and design only — does not replace clinical color vision testing.
WCAG & Contrast Standards
[2] A. Somers (2022). APCA Contrast Algorithm. WCAG 3.0 Working Draft. Polarity-aware perceptual contrast method proposed for WCAG 3.0.
[3] ISO 9241-3:1992. Ergonomic requirements for VDTs. VDT display readability standards including luminance contrast.
Color Vision Deficiency Simulation
[5] F. Viénot, H. Brettel, J. D. Mollon (1999). “Digital video colourmaps for dichromats,” Color Res. App., 24(4), 243–252. Simplified single-matrix approximation used in this lab.
[6] G. M. Machado, M. M. Oliveira, L. A. F. Fernandes (2009). “A physiologically-based model for simulation of color vision deficiency,” IEEE TVCG, 15(6), 1291–1298. Continuous severity interpolation for anomalous trichromacy.
Colorimetry & Colour Difference
[8] G. Sharma, W. Wu, E. N. Dalal (2005). “The CIEDE2000 color-difference formula,” Color Res. App., 30(1), 21–30. DOI: 10.1002/col.20070
[9] M. D. Fairchild (2013). Color Appearance Models, 3rd ed. Wiley. Colour appearance, cone fundamentals, chromatic adaptation.
Perceptual Colour Spaces
Regulatory & Industry Standards
[12] ETSI (2021). EN 301 549 V3.2.1 — Accessibility requirements for ICT. Mandates WCAG 2.1 AA for EU public sector.
About this tool
This tool implements WCAG 2.2/3.0 contrast analysis, APCA perceptual contrast, CVD simulation across all major deficiency types, accessible palette generation, ΔE metrics, confusion-line diagnostics, and batch analysis — entirely client-side (zero network). Not a substitute for clinical colour vision testing or calibrated measurement.
OKLab ΔL, CIEDE2000, CIE76, Michelson/Weber contrast, full L*a*b* & OKLab coordinates.
Nearest perceptually-minimal adjustments (by ΔE2000) that achieve your target contrast. Click a chip to apply.
Generates a structured compliance report covering WCAG 2.0/2.1/2.2, EN 301 549, Section 508, with CVD impact analysis for all 8 vision types.
Enter one colour pair per line (#FG #BG). Returns WCAG ratio, APCA Lc, AA/AAA compliance, and CVD
impact per pair.