washiveil aims for WCAG 2.2 Level AA across this demo site and the shipped component defaults. Accessibility fixes are treated as bugs.
Conformance status
Partially conformant with WCAG 2.2 Level AA, self-assessed. Last assessed: 2026-08-11. Methods: automated axe-core audit across all three locales in light, dark, and high-contrast modes plus an open-dialog pass; a hand-computed contrast matrix (WCAG relative luminance) over every token pairing the system ships; keyboard walkthroughs of every interactive component (built on Radix primitives).
What the system does
Visible focus rings on every interactive element.
Pointer targets of at least 24 CSS pixels (WCAG 2.5.8).
When prefers-reduced-motion is enabled, the ambient field drift and all entrance animations are disabled (WCAG 2.3.3).
A high-contrast layer: activates automatically via prefers-contrast: more, or manually by adding the .contrast-more class to the root element.
Accessible names on every control, in all three languages.
Language-of-parts tagging for mixed Chinese, Japanese, and English text (WCAG 3.1.2).
Known exceptions
Decorative micro-labels: the faint 0.75rem meta text (section eyebrows, specimen captions) sits below the 4.5:1 text ratio by design. It is decorative; the same information is always available in conforming text nearby.
Control boundaries: the 1px borders of the default veil aesthetic sit below the 3:1 non-text ratio (WCAG 1.4.11), as does nearly all glassmorphism. The high-contrast layer raises every control boundary to 3:1 or better. That layer is the supported path for users who need it.
Primary fill: primary-filled actions (the solid button, dialog actions, the nav call-to-action) ship display korozen (#d0722e), whose white label measures 3.43:1, below the 4.5:1 text ratio. This is a deliberate brand-color decision; the high-contrast layer swaps the fill for korozen-deep (#b64f1b, 5.09:1). Dark mode passes in both layers.