Make keyboard navigation, screen readers, and focus management first-class instead of an afterthought. Retrofit the Modal and Tabs components from Build a Design System with proper focus trapping and ARIA, then run both automated and manual screen-reader checks.
~5h
0 / 7 steps
Semantic HTML elements come with keyboard behavior, screen reader announcements, and focus handling built in for free; most accessibility bugs in React apps come from reaching for a
instead of a , not from React itself. This project retrofits the Modal and Tabs components from Build a Design System with proper focus trapping and ARIA, then runs both automated and manual screen-reader checks.
Mark step complete
🔨
Step 1 — Prefer semantic elements over ARIA
🔨
Step 2 — Trap focus inside an open Modal
🔨
Step 3 — Announce dynamic changes with a live region
🔨
Step 4 — Automate what's automatable
🎯
Secret Mission
Secret Mission: navigate your own app blind
🧹
Wrap Up
Before You Go
Pro
Test what you just learned
Self-testing is one of the best ways to retain new skills. Unlock project quizzes to check your understanding.
🚀Accessible isn't a separate mode — it's how the DOM already works🔨Step 1 — Prefer semantic elements over ARIA🔨Step 2 — Trap focus inside an open Modal🔨Step 3 — Announce dynamic changes with a live region🔨Step 4 — Automate what's automatable🎯Secret Mission: navigate your own app blind🧹Before You Go