Tests d’accessibilité : color-contrast et focus
Vérifiez les rapports de contraste des couleurs et assurez-vous que les indicateurs de focus respectent les normes d’accessibilité WCAG.
Tests d’accessibilité : color-contrast et focus est une leçon CSS Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CSS Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CSS Academy comprend 4 leçons au total.
Pourquoi le CSS influence l'accessibilité
Le CSS contrôle le contraste des couleurs, la visibilité de l'indicateur de focus, la visibilité des éléments (display:none les retire de l'arbre d'accessibilité) et l'ordre de lecture (réorganisation visuelle avec la propriété order de flexbox par rapport à l'ordre du DOM). Les choix CSS influencent directement la possibilité pour les personnes handicapées d'utiliser l'interface.
Exigences de contraste des couleurs de WCAG
WCAG 2.1 AA exige un ratio de contraste de 4.5:1 pour le texte courant et de 3:1 pour le texte de grande taille (au moins 18 px en gras ou 24 px en texte normal). AAA exige respectivement 7:1 et 4.5:1. Ces ratios comparent la luminance de la couleur du texte au premier plan à celle de la couleur d'arrière-plan.
Vérifier le contraste dans DevTools
Cliquez sur n'importe quel élément de texte dans DevTools → le panneau Styles. La pastille de couleur affiche un indicateur de ratio de contraste. Une coche indique que le contraste est conforme ; un X indique un échec. Le sélecteur de couleur affiche les lignes des seuils AA/AAA sur le dégradé de couleurs.
Tests automatisés du contraste
axe-core, Lighthouse et Pa11y vérifient automatiquement les ratios de contraste de tous les éléments de texte. Exécutez axe-core avec @axe-core/react en développement pour obtenir des avertissements de contraste en temps réel dans la console du navigateur pendant le développement.
Indicateurs de focus
Le CSS outline: none ou outline: 0 sur :focus supprime l'anneau de focus par défaut du navigateur, rendant la navigation au clavier invisible. Il s'agit d'un grave problème d'accessibilité. Remplacez-le par un style de focus personnalisé et visible plutôt que de supprimer complètement les indicateurs de focus.
<button autofocus>Keyboard-focused button</button>
:focus-visible par rapport à :focus
:focus s'applique à tous les événements de focus, y compris les clics de souris (ce qui provoque l'affichage d'un anneau visible lors d'un clic, ce que les concepteurs n'apprécient pas). :focus-visible s'applique uniquement lorsque le navigateur détermine que la navigation au clavier est utilisée — les personnes naviguant au clavier disposent ainsi d'un anneau de focus sans qu'il s'affiche lors des clics de souris.
Exigences de WCAG concernant les indicateurs de focus
WCAG 2.2 introduit le critère de succès 2.4.11 (apparence du focus, niveau AA) : les indicateurs de focus doivent présenter un contraste d'au moins 3:1 avec les couleurs adjacentes et entourer le pourtour du composant. Les styles de focus personnalisés doivent respecter ces exigences, et pas seulement exister.
Mode couleurs forcées
Le mode Contraste élevé de Windows remplace les couleurs CSS par des couleurs système définies par l'utilisateur. Utilisez @media (forced-colors: active) pour fournir des styles alternatifs qui fonctionnent en mode contraste élevé. Testez avec Paramètres Windows → Accessibilité → Contraste élevé.
La couleur comme seul indicateur
WCAG 1.4.1 interdit d'utiliser la couleur comme seul moyen de transmettre une information. Un état d'erreur qui devient uniquement rouge ne respecte pas ce critère. Associez la couleur à des icônes, des libellés textuels, des motifs ou des soulignements afin qu'une information indépendante de la couleur soit toujours présente.
Redimensionnement et espacement du texte
WCAG 1.4.4 exige que le texte puisse être agrandi à 200 % sans perte de contenu. WCAG 1.4.12 exige que les modifications de l'espacement du texte (augmentation de l'espacement des lettres ou de la hauteur de ligne) ne perturbent pas la mise en page. Utilisez des unités relatives (rem, em) pour la typographie afin de respecter ces deux exigences.
Ensemble d'outils de test
Tests CSS complets de l'accessibilité : l'extension de navigateur axe DevTools pour le développement, Lighthouse CI pour les contrôles automatisés de la chaîne d'intégration, Pa11y pour les vérifications de pages en ligne de commande et les tests manuels de navigation au clavier avec Tab/Shift+Tab pour vérifier la visibilité et l'ordre des indicateurs de focus.
Vérification des connaissances
Pourquoi outline: none ne doit-il jamais être le CSS final de l'état :focus d'un élément ?
Résumé
Les tests d'accessibilité du CSS couvrent les ratios de contraste des couleurs (minimum AA de 4.5:1), les indicateurs de focus visibles et conformes à WCAG 2.2 grâce à :focus-visible, l'interdiction d'utiliser la couleur comme unique vecteur d'information, la prise en charge du mode forced-colors et l'utilisation d'unités typographiques relatives pour respecter les exigences de redimensionnement. Des outils automatisés associés à des tests manuels au clavier garantissent une couverture complète.
Questions Fréquemment Posées
La leçon « Tests d’accessibilité : color-contrast et focus » est-elle gratuite ?
Oui — le texte complet de « Tests d’accessibilité : color-contrast et focus » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CSS Academy, passe à CoddyKit PRO. Le cours CSS Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Tests d’accessibilité : color-contrast et focus » ?
Vérifiez les rapports de contraste des couleurs et assurez-vous que les indicateurs de focus respectent les normes d’accessibilité WCAG. Tu pratiques CSS Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer CSS Academy ?
Aucune expérience préalable n'est requise. CSS Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Tests d’accessibilité : color-contrast et focus » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon CSS Academy ?
Oui. Chaque leçon CSS Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Notions de test de régression visuelle
- Percy et Chromatic pour Storybook
- Tests unitaires CSS avec Jest
- Tests d’accessibilité : color-contrast et focus