We're live on Product Hunt!Support us
ColorArchive

A curated color library with 5,000+ algorithmically generated colors. Browse, search, save favorites, and export palette tokens — no account required.

CollectionsFamiliesNotesGuidesFree ResourcesConvertColorblindAboutSupportUpdates
Ready for static export
Privacy·Terms·Refunds·Cookies·Commerce Disclosure
colorarchive.org · © 2026 ColorArchive
Skip to content
ColorArchive
ProLog in
ArchiveAll ColorsCollections
Accessibility
Search intent: color accessibility wcag apca contrast ratio 2025 standard audit accessible design

Color Accessibility in 2025: WCAG 2.1, APCA, and the Dual-Standard Audit

WCAG 2.1's contrast ratio formula was not calibrated for font weight or size — it treats a 400-weight 12px label and a 700-weight 48px heading identically. APCA (Advanced Perceptual Contrast Algorithm), the foundation of the forthcoming WCAG 3.0, corrects this with a model that varies required contrast by font size and weight. This guide explains the practical differences, how to run a dual-standard audit, and what to prioritize during the standards transition.

AccessibilityWCAGAPCAContrastStandards
Key points
WCAG 2.1 requires a 4.5:1 contrast ratio for normal text regardless of font size or weight. APCA requires a minimum Lc 75 for small body text (16px 400-weight) but allows Lc 45 for large bold headings (32px 700-weight). The same color pair can pass one standard and fail the other depending on the type role.
The errors in WCAG 2.1 go in both directions: some compliant combinations are genuinely hard to read (white on medium blue); some failures are fine at large, bold sizes. The dual-standard audit reveals which failures matter and which are false alarms.
APCA currently has legal weight in a subset of jurisdictions under WCAG 3.0 drafts. WCAG 2.1 remains the legal standard for EN 301 549 (EU), Section 508 (US), and most accessibility regulations worldwide as of early 2025. Design for WCAG 2.1 compliance now; flag APCA differences for future migration.

How WCAG 2.1 and APCA differ in practice

WCAG 2.1 uses a contrast ratio: (L1 + 0.05) / (L2 + 0.05), where L1 and L2 are relative luminance values. Thresholds: 4.5:1 for normal text (< 18pt / < 14pt bold), 3:1 for large text (≥ 18pt / ≥ 14pt bold). The formula is luminance-only — hue and saturation have no effect on the calculated ratio, and font weight/size have no effect beyond the binary normal/large text categories. APCA replaces the ratio with a signed Lc value (Lc 0 to Lc 106 for dark text on light background). Required Lc values from the APCA lookup table (representative examples): body text at 14px 400-weight — Lc 90; body text at 16px 400-weight — Lc 75; UI labels at 24px 400-weight — Lc 60; large headings at 32px 700-weight — Lc 45; non-text elements and decorative content — Lc 15 minimum. APCA also accounts for polarity: dark text on light background is not symmetrical with light text on dark — the Lc value is signed (positive for dark-on-light, negative for light-on-dark).

Running a dual-standard audit

A dual-standard audit evaluates each foreground/background color pair against both WCAG 2.1 and APCA, then categorizes the result: (A) Passes both — no action required. (B) Fails both — fix immediately, regardless of which standard is legally current. (C) Passes WCAG 2.1, fails APCA — document with the specific font role and size context; flag for migration when WCAG 3.0 has legal weight in your jurisdiction. (D) Passes APCA, fails WCAG 2.1 — this is likely a large, bold-weight text role; document the specific use case and confirm it qualifies as 'large text' under WCAG 2.1. Automate the WCAG 2.1 portion with the ColorArchive WCAG Contrast Auditor; check APCA values using the APCA Contrast Calculator (open source) or the Sa11y accessibility checker. The dual-standard audit is primarily useful for design systems with a large number of color pair combinations — single-page designs can be audited manually.

Featured collection
Data Dashboard

Cobalt signal, teal confirmation, amber warning, crimson alert, and slate neutral — a perceptually balanced palette designed for analytics dashboards and data visualization interfaces.

Open collectionAll collections
Open next
WCAG Contrast AuditorColor Compare toolData Dashboard collection
Practical next step

Move from the guide into a concrete palette lane

Guides explain the use case. Collections prove the taste. Pro handles the export and implementation layer.

Upgrade to ProMore guides
Related guides
Design Systems
Documenting Color Systems: The Three Layers Every Design System Needs
Most color systems fail not because the colors are wrong, but because the decisions behind them were never written down. When the designer who chose the palette leaves, the rationale disappears. This guide covers the minimum viable color system documentation — three layers targeting designers, engineers, and QA — and how to structure it so it actually gets used.
Dark Mode Color Guide
How to Choose Colors for Dark Mode: A Complete System Design Guide
Dark mode requires fundamentally different color decisions than light mode — not just inverted values, but rethought contrast hierarchies, reduced saturation, and carefully calibrated surface elevations.
Data Design
Color in Data Visualization: Sequential, Diverging, and Categorical Palettes
Data visualization is one of the highest-stakes environments for color decision-making. The wrong palette can make a chart misleading, inaccessible to colorblind viewers, or unreadable in grayscale. This guide covers the three palette types, how to validate them, and the most common visualization color mistakes.