Access

Built to be operated.

The glass is a material. The controls underneath use real roles, real keyboard behavior, and the motion and contrast preferences the platform already has.

Roles

Each control sets its own role when it connects. You do not add role="button" yourself. Do give it an accessible name when the visible label is not enough: icon buttons need aria-label, and so do sliders and switches that sit beside a separate caption.

  • Button, switch, slider, tab bar, segmented control, menu, menu item, search, and dialog (the sheet) expose platform roles.
  • Switches, sliders, and the search field are form-associated. They submit with name and value.
  • Focus is visible. The ring uses --glass-accent, drawn outside the slab so the rim light does not hide it.
  • Opening a menu or a sheet moves focus inside. Escape closes it and returns focus to the trigger. A modal sheet also keeps Tab and Shift+Tab inside and is announced with aria-modal.

Keyboard

ControlKeys
ButtonEnter and Space activate.
SwitchSpace toggles. Enter toggles when it is focused.
SliderArrow keys step. Page Up and Page Down take larger steps. Home and End jump to the ends.
Tab bar, segmentedArrow keys move the selection. Home and End jump to the ends.
MenuEnter, Space, or Arrow Down opens. Arrows move. Type-ahead jumps. Enter selects. Escape closes.
ToolbarArrow keys move focus between the buttons.
SearchEnter fires search. Escape clears the field.
SheetEscape closes, unless no-dismiss is set.

Preferences

  • prefers-reduced-motion: reduce drops the elastic press, the menu morph, the sheet slide, and the thumb's bounce. State still changes immediately.
  • prefers-reduced-transparency: reduce replaces the transmitted backdrop with an opaque fill, so the control stays legible without relying on blur.
  • forced-colors: active paints the slab with Canvas and CanvasText and hides the decorative rim.

This site does the same for its own motion. The plate scroller, the command palette, and the reveal of the opener all sit still when reduced motion is requested. Touch targets on this site are at least 44 by 44 pixels, including the navigation, the copy buttons, and the playground choices.

Try the keys

Tab into this row. Space toggles the switch. Arrows move the slider. Enter on the search field fires a search you will not see leave the page.