Think React apps can't be accessible? Learn to conquer focus management and non-semantic HTML to build truly inclusive applications.
#1about 4 minutes
Common accessibility challenges in React SPAs
Single-page applications introduce unique accessibility issues like poor semantics, generic page titles, and difficult focus management.
#2about 8 minutes
Using semantic HTML for a better accessibility tree
Semantic HTML provides inherent meaning and structure, which translates directly to a navigable and understandable accessibility tree for screen reader users.
#3about 2 minutes
Using React Fragments to maintain valid HTML structure
React Fragments allow grouping elements without adding extra nodes to the DOM, preventing invalid HTML structures like a div inside a ul.
#4about 1 minute
Using correct JSX attributes for HTML properties
React uses camelCase for most HTML attributes, so it is important to use `className` instead of `class` and `htmlFor` instead of `for`.
#5about 7 minutes
Implementing effective focus management strategies in React
A CRUD application example demonstrates how to handle focus logically after adding, editing, or deleting items to create a predictable keyboard navigation experience.
#6about 3 minutes
Announcing page changes and live updates to users
Use techniques like updating the document title and implementing ARIA live regions to inform screen reader users about dynamic content changes and notifications.
#7about 3 minutes
A practical guide to testing React components for accessibility
Combine manual keyboard testing, browser extensions like axe DevTools, linters, and automated tests to ensure components are accessible.
#8about 1 minute
Summary of key principles for accessible React apps
A recap of essential practices including using semantic HTML, managing focus, announcing updates, and consistent testing to build accessible applications.
Related jobs
Jobs that call for the skills explored in this talk.
The HTML Elements That You’re Probably Over-EngineeringAs frameworks have become more and more commonplace in the world of web development, so too has the over-engineering of features made possible by our humble old friend, HTML.
The mental models that come with using state management in React, Vue and o...
Chris Heilmann
Accessibility tip: Detecting reduced motion in one line of JavaScriptAnimation can be a great tool to make apps seem more performant, be more engaging or even just more interesting. There are, however, quite a few groups of people who can not deal with things animating, as it distracts them or can even cause nausea. T...
Daniel Cranney, Chris Heilmann
Dev Digest 215: Agent Memory, JS2026, Googlebot Analysis & Canvas❤️HTMLInside last week’s Dev Digest 215 .
🗿 Make AI talk like a caveman
🧠 A guide to context engineering for LLMs
🤖 Simon Willison on agentic engineering
🔐 Axios supply chain attack post mortem
🛡️ Designing AI agents to resist prompt injection
🎨 HTML in c...
From learning to earning
Jobs that call for the skills explored in this talk.