~/talk

Making Single Page Apps Accessible: It's easier than you think

Talkat NDC Sydney 2024 · 2024-02-12..02-16· [accessibility, javascript]
slides:none on file

Claim: JavaScript frameworks aren’t the barrier—missing specifics are. Use semantic HTML (real buttons, headings, linked labels) not “div soup”; generate unique IDs with uuid; add autocomplete attributes; update document.title on route changes and update document.title + focus the new H1 with tabindex="-1" to notify screen readers. Use the native <dialog> and dialog + inert to build accessible modals (works in modern browsers). Test with eslint-plugin-jsx-a11y, axe-core, WAVE, Lighthouse and manual keyboard and screen reader checks (JAWS, NVDA, VoiceOver, TalkBack); automated tools catch ~20–30% of issues.

AI-written summary · about

  1. 0:00Accessible single page apps intro
  2. 4:44What accessibility means
  3. 12:26Accessible markup foundation
  4. 18:21Accessible forms
  5. 26:03Visible focus indicators
  6. 30:23Routing challenges in SPAs
  7. 41:41Accessibility testing tools
  8. 51:30Summary
~/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.