A11y with React Components
summary
Covers three concrete problems and fixes: avoid non-semantic markup by spreading unknown props and letting a heading component accept an elm prop; render buttons as anchors when href exists; and fix SPA titles and focus with useEffect/useRef so document.title updates and a container gets programmatic focus (tabindex=-1 to enable programmatic focus). For complex widgets like tabs, implement WAI-ARIA roles, set aria-selected/aria-controls and tabindex 0/-1, and wire arrow-key behavior (useReducer for sequential state). Notes Axe flags only ~50% of issues.
AI-written summary · about
chapters (10)
- 0:00Start
- 0:16Russell Skaggs
- 3:05Types of Front-End Developers
- 6:48Non-Semantic or Broken Markup
- 9:53Concerns of the Component
- 16:45Buttons
- 24:41Tabs
- 38:12Reducer Pattern
- 46:45The Page Title
- 50:54Key Takeaways
related talks
34mBuilding Accessible Components in React
49mSupporting accessibility in React: the difficulties and niceties
08mA11Y and React
39mBuilding Webapps for everyone - a11y with React
31mHow to Be an A11Y - Creating Accessible React Apps
50mTips, tricks and tools for building accessible React web apps
41mDemystifying Accessibility in React Apps
40mAccessibility-flavored React components make your design system delicious
