Accessibility and content
Color contrast findings
Measured solid-color text combinations identify specific risks without claiming full accessibility conformance.
On this page
Method
The audit calculates WCAG relative luminance and contrast from the exact hex values in globals.css. Normal-text pairs are compared with 4.5:1. These are static, solid-color calculations; they do not test overlays, opacity, compositing, placeholder exceptions, focus outlines, icons, or every rendered control.
Measured pairs
| Theme | Use | Foreground | Background | Ratio | Normal text |
|---|---|---|---|---|---|
| Light | Body text | --ink | --canvas | 14.24:1 | Pass |
| Light | Panel text | --ink | --surface | 15.81:1 | Pass |
| Light | Secondary text | --ink-soft | --surface | 6.51:1 | Pass |
| Light | Muted text | --ink-faint | --surface | 3.7:1 | Below 4.5:1 |
| Light | Accent text | --accent-strong | --surface | 3.91:1 | Below 4.5:1 |
| Light | Primary action label | --accent-ink | --accent | 6.28:1 | Pass |
| Light | Project text: teal | --project-text | --project-teal | 10.01:1 | Pass |
| Light | Project text: blue | --project-text | --project-blue | 9.96:1 | Pass |
| Light | Project text: plum | --project-text | --project-plum | 9.68:1 | Pass |
| Light | Project text: sand | --project-text | --project-sand | 10.58:1 | Pass |
| Light | Project text: coral | --project-text | --project-coral | 9.65:1 | Pass |
| Dark | Body text | --ink | --canvas | 15.82:1 | Pass |
| Dark | Panel text | --ink | --surface | 13.96:1 | Pass |
| Dark | Secondary text | --ink-soft | --surface | 7.83:1 | Pass |
| Dark | Muted text | --ink-faint | --surface | 4.69:1 | Pass |
| Dark | Accent text | --accent-strong | --surface | 9.26:1 | Pass |
| Dark | Primary action label | --accent-ink | --accent | 7.29:1 | Pass |
| Dark | Project text: teal | --project-text | --project-teal | 6.76:1 | Pass |
| Dark | Project text: blue | --project-text | --project-blue | 7.61:1 | Pass |
| Dark | Project text: plum | --project-text | --project-plum | 7.99:1 | Pass |
| Dark | Project text: sand | --project-text | --project-sand | 6.8:1 | Pass |
| Dark | Project text: coral | --project-text | --project-coral | 7.29:1 | Pass |
Findings to address
- Light --ink-faint on --surface measures 3.70:1. Small muted text uses need review or a stronger text role.
- Light --accent-strong on --surface measures 3.91:1. Small accent-colored labels need a stronger combination.
- The audited --accent-ink on --accent primary-label pair and all five project-text/fill pairs pass this normal-text calculation in both themes.
- Status dots, schedule warnings, event icons, semi-transparent borders and overlay controls require separate measurements.
Recommended follow-up
Review the actual contexts of the flagged tokens before changing the palette. Some roles can be corrected by choosing an existing stronger text token; others may need a revised token value. Any app change should be a separate, source-level standardization task with visual and interaction verification.
No compliance claim
These calculations are one piece of evidence. They do not establish WCAG conformance for the product or certify the design system. Manual keyboard, screen-reader, zoom, and interaction review remain necessary.
Related topics
Source audit: 2026-10-07 · Revision 0103e2549959 · Documentation v0.1