Visual Accessibility
Color Contrast Validation
Validate contrast ratios across light and dark themes so glass depth never compromises readability.
Contrast Checklist
Run this pass for every major visual update.
- Body copy on glass surfaces meets WCAG AA contrast ratio.
- Muted labels remain readable in light and dark themes.
- Focus rings and active states are visible against frosted backgrounds.
- Status colors (success/warning/error) are never color-only without text.
Audit Scope
Prioritize high-traffic docs and demos first.
Landing hero + topbar controls
Component docs tables and code blocks
States: hover, focus-visible, selected, disabled
Semantic variants: success, warning, error badges and alerts
Reference Surface Pattern
TSX
1<div className="rounded-xl border border-border/60 bg-[var(--glass-3-surface)] p-4">2 <p className="text-sm text-neutral-700 dark:text-neutral-200">3 Secondary copy keeps AA contrast on glass surfaces.4 </p>5 <a6 href="#"7 className="mt-2 inline-flex text-sm font-medium text-[var(--color-foreground)] underline underline-offset-4"8 >9 Read the full accessibility spec10 </a>11</div>
Release Audit Script
Shell
1# Suggested release audit workflow2pnpm --filter @glinui/docs build34# Then validate key routes with browser accessibility tooling:5# - /docs/getting-started6# - /docs/components/radix/button7# - /docs/components/radix/table8# - /docs/forms-accessibility