Bonnes pratiques pour créer des composants accessibles et navigables au clavier qui fonctionnent pour tout le monde. La conformité WCAG 2.1 AA rendue pratique.
L'accessibilité n'est pas optionnelle — elle est essentielle pour créer des applications web inclusives.
Utilisez toujours les bons éléments HTML :
<!-- Bon -->
<button>Click me</button>
<!-- Mauvais -->
<div onclick="handleClick()">Click me</div>
Lorsque le HTML ne suffit pas, utilisez ARIA :
<div
role="dialog"
aria-modal="true"
aria-labelledby="dialog-title"
aria-describedby="dialog-description"
>
<h2 id="dialog-title">Confirm Action</h2>
<p id="dialog-description">Are you sure?</p>
</div>
Assurez-vous que tous les éléments interactifs sont accessibles au clavier :
function CustomButton() {
return (
<div
tabindex="0"
role="button"
onKeyDown={(e) => {
if (e.key === "Enter" || e.key === " ") {
handleClick();
}
}}
onClick={handleClick}
>
Custom Button
</div>
);
}
Gérez le focus pour les modales et le contenu dynamique :
import { useEffect, useRef } from "react";
function Modal({ isOpen, onClose }) {
const modalRef = useRef(null);
useEffect(() => {
if (isOpen && modalRef.current) {
modalRef.current.focus();
}
}, [isOpen]);
return (
<div ref={modalRef} tabindex="-1">
{/* Modal content */}
</div>
);
}
Utilisez ces outils :
Créer des composants accessibles dès le départ est plus simple que d'ajouter l'accessibilité après coup. Faites-en une habitude !