Building Accessible Web Components
summary
Covers concrete fixes: avoid redundant or copied ARIA that points to missing IDs, prefer native semantics, and test across NVDA/VoiceOver/JAWS and browsers; for extra link/button context the hidden off-screen span or aria-label work best (title and aria-labelledby are unreliable in many combos); dynamic updates use aria-live polite or role=alert carefully and set aria-relevant to limit noise; form errors read inline by wrapping error text in the label or expose a role=alert container (tabindex -1→0, links to fields); modals hide page with aria-hidden, set role=dialog, trap tab focus, and return focus to trigger or updated content.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 0:23Who is Russ
- 0:59Aria Misuse
- 1:25Redundancy
- 2:41Over verbose
- 3:27Copy pasting
- 4:30Testing
- 6:45Context
- 10:16Buttons
- 11:34Hidden Content
- 11:56Adding Information
- 14:26Button Labels
- 14:55Test Cases
- 15:31Dynamic Content
- 17:25Live Values
- 19:17Aria Relevant
- 20:29Alert
- 21:02Error Messages
- 25:32Form Validation
- 26:43Form Markup
- 28:15Modals
- 35:11Additional Meaning
- 39:24Quick Tips
- 41:36Questions
related talks
28mBuilding Accessible React Components
41mBuilding Accessible Vue Components
33mAccessibility Done Right
01h 07mA web for anyone, anywhere, anytime
27mMaking Interactions Accessible to All Users
28mDeveloper's Guide to Accessibility Mechanics
01h 01mA web for anyone, anywhere, anytime
15mPatterns for Making Accessible Components
