page AccessibilityGuide { layout = "showcase" seo { title = "Accessibility" description = "Keyboard interaction, visible focus states, labels, and reduced-motion support ship by default." } view {
Getting Started

Accessibility

Keyboard interaction, visible focus states, labels, and reduced-motion support ship by default.

Configure and use it

This is the smallest useful starting point. Copy it into the indicated application file or run it from the project root, then adjust the documented values for your product.

bunx wrnexus test accessibility .
bunx wrnexus security headers .

What changes after this

Keyboard, focus, naming, contrast, zoom, and reduced-motion behavior become explicit acceptance criteria.

Keyboard first

Every interactive control must be reachable in a logical order and operable without a pointer. Preserve native elements and the component's documented keyboard behavior.

Names and descriptions

Provide visible labels or accessible names for icon-only actions. Associate help and validation messages with their fields rather than relying on color alone.

Focus and overlays

Keep visible focus rings. Modal, drawer, dropdown, and popover components manage focus and dismissal; test Escape, Tab, Shift+Tab, and focus restoration.

Motion and contrast

Theme tokens preserve semantic contrast, while components honor reduced motion. Verify custom colors in light and dark modes at 200% zoom.

Verify the result

Type-check the application, inspect the resolved package and styles, and build the production artifact. Test the page at a narrow viewport, with keyboard navigation, and in both color modes before shipping.

bunx wrnexus typecheck .
bunx wrnexus inspect packages .
bunx wrnexus inspect styles .
bunx wrnexus build .

Expected result

The commands exit successfully, the build reports the installed UI components and active theme, and the rendered page remains usable before and after hydration.

} }