Vérificateur de contraste WCAG : tester l'accessibilité de vos couleurs
Pourquoi le contraste des couleurs est essentiel en accessibilité web
Le contraste des couleurs est l'un des piliers de l'accessibilité numérique. Selon l'Organisation mondiale de la Santé, plus de 2,2 milliards de personnes dans le monde souffrent d'une déficience visuelle. Un texte insuffisamment contrasté devient illisible pour les personnes malvoyantes, daltoniennes ou simplement pour toute personne consultant un écran en plein soleil.
Les Web Content Accessibility Guidelines (WCAG), publiées par le W3C, définissent des seuils de contraste minimaux pour garantir la lisibilité. Respecter ces seuils n'est pas seulement une question d'éthique : en France, le RGAA (Référentiel Général d'Amélioration de l'Accessibilité) impose le respect de WCAG 2.1 niveau AA pour tous les sites de services publics.
Comment fonctionne le ratio de contraste WCAG
Le ratio de contraste se calcule à partir de la luminance relative de deux couleurs. La formule compare la luminosité perçue du texte et du fond, en tenant compte de la sensibilité de l'oeil humain aux différentes longueurs d'onde (le vert parait plus lumineux que le bleu à intensité égale).
Ratio = (L1 + 0,05) / (L2 + 0,05) avec L = 0,2126 x R + 0,7152 x G + 0,0722 x B (luminance relative sRGB)
Le ratio obtenu va de 1:1 (aucun contraste, couleurs identiques) à 21:1 (noir pur sur blanc pur). Plus le ratio est élevé, meilleure est la lisibilité.
Les niveaux WCAG : AA et AAA
Les WCAG définissent deux niveaux de conformité pour le contraste. Le niveau AA est le minimum recommandé pour la majorité des sites web, tandis que le niveau AAA est conseillé pour les contextes à forte exigence d'accessibilité (santé, éducation, administration).
Seuils de contraste WCAG 2.1
Source : W3C, WCAG 2.1 Success Criterion 1.4.3 et 1.4.6
Le "grand texte" selon WCAG correspond à du texte d'au moins 18pt (24px) en style normal ou 14pt (environ 18,67px) en gras. Le grand texte bénéficie de seuils plus souples car il est naturellement plus facile à lire.
4.5:1
Ratio de contraste minimum requis pour le texte normal (WCAG 2.1 niveau AA)
Exemple concret : tester un design bleu sur gris
Imaginons que vous conceviez une interface avec du texte #3B82F6 (bleu) sur un fond #F3F4F6 (gris clair). Voici comment évaluer le contraste étape par étape :
Convertir en RGB
sRGBTexte : R=59, G=130, B=246. Fond : R=243, G=244, B=246.
Linéariser les canaux
GammaAppliquer la courbe gamma sRGB pour chaque composante.
Calculer la luminance
LTexte : L = 0,214. Fond : L = 0,905.
Obtenir le ratio
3.62:1(0,905 + 0,05) / (0,214 + 0,05) = 3,62:1
Résultat : 3,62:1 passe le niveau AA pour le grand texte (seuil 3:1), mais échoue pour le texte normal (seuil 4,5:1). Il faudrait assombrir le bleu vers #2563EB pour atteindre un ratio suffisant.
Daltonisme et accessibilité : au-delà du contraste
Environ 8 % des hommes et 0,5 % des femmes présentent une forme de daltonisme. Le type le plus courant, la deutéranopie, rend difficile la distinction entre le rouge et le vert. Un bon ratio de contraste aide, mais ne suffit pas : il est recommandé de ne jamais transmettre une information uniquement par la couleur (par exemple, ajouter une icône aux messages d'erreur en plus du rouge).
Contraste seul
4.8:1
Rouge sur blanc (AA normal)
Contraste + icône
4.8:1 + signal visuel
Accessible y compris daltoniens
Attention au daltonisme
Erreurs fréquentes à éviter
- Tester uniquement en mode clair : vérifiez aussi le contraste en mode sombre. Un texte lisible sur fond blanc peut devenir illisible sur fond noir.
- Ignorer les états interactifs : les couleurs au survol, au focus et en état désactivé doivent aussi respecter les seuils WCAG.
- Confondre contraste et esthétique : un gris clair sur blanc parait élégant, mais un ratio de 2:1 exclut une partie de vos utilisateurs.
- Oublier le texte sur image : si votre texte se superpose à une photo, le contraste varie selon la zone. Utilisez un overlay semi-transparent.
- Se limiter au texte : depuis WCAG 2.1, les composants d'interface (icônes, bordures de champs) doivent aussi respecter un ratio minimum de 3:1.
Sources et références
- W3C, WCAG 2.1 Success Criterion 1.4.3 : critère de contraste minimum (niveau AA).
- W3C, WCAG 2.1 Success Criterion 1.4.6 : critère de contraste amélioré (niveau AAA).
- MDN Web Docs : comprendre le contraste des couleurs.
- Google Developers, web.dev : accessibilité couleur et contraste.