Problème entièrement résolu
-
Rapport de contraste entre un texte #e2e6f0 et un fond #1a1d27 5 étapes
Calculez le ratio de contraste entre du texte en #e2e6f0 et un arrière-plan en #1a1d27 — les couleurs de cette page. Faire la moyenne des canaux donne 5,55. Les WCAG donnent 13,46. Découvrez d'où vient ce facteur de deux et demi.
-
La définition semble inoffensive : un ratio de deux luminances, chacune ajustée de 0,05 pour que le noir pur ne provoque pas de division par zéro. Les pondérations ne sont pas égales, et c'est la première surprise — le vert s'attribue dix fois plus de luminance que le bleu.
-
La seconde surprise est que les valeurs des canaux ne peuvent pas être utilisées telles quelles. Un octet dans un fichier image est codé en gamma : 128 ne signifie pas la moitié de la lumière, mais environ un cinquième. L'expression définie par morceaux annule ce codage, et c'est l'étape que négligent tous ceux qui développent leur propre vérification de contraste.
-
Faites-y passer les deux couleurs. La claire arrive à 0,79, la sombre à 0,0124 — un facteur de 63 d'écart en lumière physique, à partir d'octets qui ne diffèrent que d'un facteur d'environ 7.
-
Les décalages de 0,05 compressent ensuite ce 63 jusqu'à 13,46, qui est le nombre affiché par le panneau. Ce décalage n'est pas cosmétique : il modélise la lumière que votre écran reflète même lorsqu'il affiche du noir, ce qui explique pourquoi un thème sombre ne peut pas atteindre un contraste infini dans une pièce éclairée.
-
Les pondérations expliquent le reproche le plus courant des designers. Le vert pur et le bleu pur sont tous deux un canal unique à sa valeur maximale, pourtant le vert porte 0,7152 de la luminance et le bleu seulement 0,0722.
Réponse
L'outil affiche 13,46 : 1, largement au-dessus du 4,5 du niveau AA et du 7 du niveau AAA. La raison d'effectuer ce calcul à la main réside dans l'étape du gamma : omettez-la, calculez plutôt la moyenne des canaux, et cette paire obtient un score de 5,55 — ce qui valide toujours le test, mais comporte une erreur d'un facteur 2,4, et sur une paire plus proche, cette erreur fait la différence entre une réussite et un échec. Les pondérations constituent l'autre moitié de l'explication. Le vert est 9,9 fois plus lumineux que le bleu pour une même valeur de canal, de sorte qu'un texte bleu sur fond noir offre un résultat bien pire qu'il n'y paraît dans un sélecteur de couleurs, et le jaune sur blanc un résultat bien meilleur que ce qu'attendent les designers. Essayez le #0000ff sur du #000000 et lisez le ratio.
-
Références (2)
- The contrast formula and the 0.03928 threshold block 3 is about: W3C, Web Content Accessibility Guidelines (WCAG) 2.1, "relative luminance" and "contrast ratio" definitions.
- The sRGB transfer function it should have matched: IEC 61966-2-1:1999, Multimedia systems and equipment — Colour measurement and management — Part 2-1: Default RGB colour space — sRGB, which puts the linear/gamma switch at 0.04045.