Accessibility ensures apps are usable for everyone, including people with disabilities. Accessible React components improve usability, compliance, and overall UX
Semantic HTML
Use proper elements
<button>
instead of<div>
for clicks<label>
+<input>
for forms
==Example:==
<label htmlFor="email">Email</label>
<input type="email" id="email" />
Keyboard Navigation
Support key events:
const handleKeyDown = (e) => {
if (e.key === 'Enter') openModal();
};
ARIA Roles
-
[x] Use when semantic HTML is insufficient:
-
[x]aria-label
-
[x] aria-expanded
aria-live
==Example:==
<button aria-label="Close modal">Ć</button>
Focus Management
Trap focus in modals
useEffect(() => {
modalRef.current.focus();
}, []);