Skip to content

Good for more people.

The useful details should work for everyone. Accessibility and performance are part of the component, not a finishing touch.

Keyboard and focus

Radix manages focus and keyboard behaviour for complex primitives. Supply a useful label to every control. Dialogs require a title and description. Test your composed flows with Tab, Shift+Tab, Escape, and the relevant arrow keys.

Motion that knows when to stop

Motion components respond to prefers-reduced-motion. WebGL falls back to a static composition when reduced motion is requested or rendering is unavailable. Decorative effects never replace essential text.

Load what you use

WebGL examples load on demand. Scenes mount near the viewport, stop offscreen, cap device pixel ratio, and dispose their shader material. Keep a pause control alongside long-running animation.

Data and demo boundaries

Charts provide a textual data representation. Template data is fictional. Forms, chat, billing, and checkout demonstrate frontend states; connect real services at the documented boundaries.