~/talk

Reusable Widgets That Work!

Talkat JSWorld Conference 2022 · 2022-02-09..02-11· [accessibility, component-design]
slides:none on file

Concrete, working patterns for accessible widgets: reusable Vue.js (and Svelte) components that implement focus traps and role="dialog" aria-modal="true" for modals, focus guards and tabindex="-1" to restore focus, and aria-pressed/aria-expanded/aria-controls for toggle buttons, accordions and tabs. Demos use GitHub-hosted code, Chrome Accessibility pane to inspect computed names, and VoiceOver to show AT/browser differences — toggles and dialogs change ARIA states live and the examples demonstrate looping focus and reliable keyboard behavior.

AI-written summary · about

  1. 0:00Start
  2. 1:23The freshest software
  3. 5:55Framework
  4. 6:12Continuous Development
  5. 24:36Modal Example
  6. 30:34Toggle Button Examples
  7. 33:26Accordions Keyboard Interaction
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.