~/talk

Building Accessible Components in React

Talkat Build Stuff 2020 · 2020-11-11..11-15· [react, accessibility]
slides:none on file

Covers concrete patterns: use semantic tags instead of extra divs, use React fragments to avoid DOM noise, attach labels to inputs and link them with htmlFor, extend native props in TypeScript (extend HTMLButtonElement) so custom buttons keep native handlers, add keyboard handlers mirroring mouse events, manage focus with refs on route changes and set tabIndex=0 for custom items, announce updates with ARIA live, and test with Lighthouse, react-axe (react-ally), ChromeVox and WAVE; cites the Parkwood/Beyoncé accessibility lawsuit.

AI-written summary · about

  1. 0:00Introduction
  2. 1:30Welcome
  3. 2:17What is accessibility
  4. 6:21How to build accessible components
  5. 9:04Why this talk
  6. 12:49Avoid Generic Naming
  7. 15:13Fragments
  8. 17:22Native Element Attributes
  9. 18:40Adding Titles
  10. 20:35Defining Custom Elements
  11. 22:35Keyboard Handlers
  12. 23:57Focus
  13. 26:05Ref
  14. 29:34Demo
~/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.