Atelier
Brand:

Accessibility

Every Atelier primitive is built to meet WCAG 2.2 AA. This page documents the keyboard interaction patterns, ARIA conventions, and common pitfalls.

Keyboard Patterns

ComponentKey(s)Action
ButtonEnter SpaceActivate the button
SwitchEnter SpaceToggle checked state
AccordionEnter SpaceExpand or collapse section
AccordionArrow Down / UpMove focus between triggers
AccordionHome / EndJump to first / last trigger
DialogEscapeClose the dialog
DialogTabCycle focus within the dialog

ARIA Usage

ComponentAttributesNotes
Buttonaria-disabled, aria-busySet when disabled or loading. Prevents interaction while staying in tab order when aria-disabled is used.
Switchrole=switch, aria-checked, aria-labelledbyAnnounces toggle state to screen readers. Label is associated via aria-labelledby.
Accordionaria-expanded, aria-controlsEach trigger announces whether its panel is open. aria-controls links trigger to panel.
Dialogrole=dialog, aria-modal, aria-labelledby, aria-describedbyModal dialog pattern. Title and description are linked by id.

Do / Don't

Do
Use visible focus indicators on all interactive elements. The system provides a 2px ring via --color-ring on :focus-visible.
Don't
Remove outline styles or hide focus rings. Users who navigate with a keyboard lose track of their position on the page.
Do
Provide meaningful aria-label or visible text for icon-only buttons. Screen readers cannot infer meaning from an SVG alone.
Don't
Rely on colour alone to convey state. Pair colour changes with text, icons, or ARIA attributes so the information is available to all users.