Semantic HTML still matters
You don't get to skip semantics.
Your app still renders to the DOM, and HTML is still the foundation.
Frameworks are helpers, not substitutes for web standards.
Building accessible interfaces with semantic HTML
You don't get to skip semantics.
Your app still renders to the DOM, and HTML is still the foundation.
Frameworks are helpers, not substitutes for web standards.
JSX lets you write div soup quickly.
This is a cultural problem, not a technical one. It's easy to fall into the trap.
Don't omit semantics in MVPs.
Don't copy non-semantic components.
Don't prioritize speed or styling.
Takes intention and careful planning, just as it does if you're writing HTML directly.
If you build reusable components with care, you get accessibility everywhere with little effort.
On the other hand, if your components aren't accessible, you can't build an accessible app. Mistakes multiply.
form
Note: This can mean wrapping your entire app in a form sometimes.
Allow your form fields to work as expected with assistive technology by triggering forms mode and autocomplete.
<div>s and <span>s.
React’s JSX compiles this correctly into a real <button>.
No div onClick nonsense.
<router-link> renders an <a>.
Key takeaways: