Rapport de contraste et texte lisible
Le gris #767676 sur blanc a un rapport de contraste de 4.54:1 et satisfait le minimum WCAG pour le texte courant ; un cran plus clair, #777777 donne 4.48:1 et échoue.
Fais glisser pour tourner. Fais défiler ou écarte et rapproche deux doigts pour zoomer.
Luminance relative
Pour décider si un texte est lisible, les Web Content Accessibility Guidelines n'utilisent ni la teinte ni la luminosité TSL. Elles utilisent la luminance relative, un nombre de 0 pour le noir à 1 pour le blanc qui suit la quantité de lumière qu'une couleur envoie à l'œil. WCAG 2.2 la définit en deux étapes. D'abord, chaque canal est transformé en nombre de 0 à 1 en divisant par 255, puis en annulant la courbe sRVB : si la valeur est au plus 0.04045, on la divise par 12.92 ; sinon on calcule ((valeur + 0.055) / 1.055) à la puissance 2.4. Ensuite, les trois résultats sont pondérés et additionnés : L = 0.2126 R + 0.7152 G + 0.0722 B.
Les poids expliquent beaucoup. Le vert porte plus de 70 % du total, le bleu à peine 7 %. C'est pourquoi le bleu pur #0000ff n'a qu'une luminance de 0.0722 et le jaune pur, rouge plus vert, de 0.9278. La spécification consigne aussi un petit historique : avant mai 2021, le seuil s'écrivait 0.03928, copié d'un document plus ancien. Il a été corrigé en 0.04045, et WCAG note que cela n'a aucun effet pratique sur les résultats.
Rapport de contraste
Le rapport de contraste compare deux luminances : (L1 + 0.05) / (L2 + 0.05), où L1 est la couleur la plus claire et L2 la plus sombre. Le 0.05 représente un peu de lumière parasite qui atteint toujours l'œil, et il garde le rapport fini pour le noir. Les rapports vont de 1:1, une couleur contre elle-même, à 21:1, le noir contre le blanc : (1 + 0.05) / (0 + 0.05) = 21. Pour #767676 sur blanc, la luminance est 0.1812, donc le rapport est 1.05 / 0.2312 = 4.54.
Voici tout le calcul pour le bleu #2273c3 utilisé à l'unité 2, rgb(34 115 195). Divisés par 255, les canaux valent 0.1333, 0.4510 et 0.7647. Tous trois dépassent 0.04045, chacun passe donc par la formule de puissance, ce qui donne 0.0160, 0.1714 et 0.5457. Pondérés, ils deviennent 0.0034 pour le rouge, 0.1226 pour le vert et 0.0394 pour le bleu, et la somme est une luminance de 0.1654. Contre le blanc, le rapport est 1.05 / 0.2154 = 4.87 : ce bleu satisfait donc AA pour du texte courant sur une page blanche. Contre le noir, il vaut 0.2154 / 0.05 = 4.31, tout juste insuffisant.
Les seuils
WCAG 2.2 transforme le rapport en lignes de réussite ou d'échec. Le critère de succès 1.4.3, au niveau AA, demande au moins 4.5:1 pour le texte normal et 3:1 pour le texte de grande taille. Grande taille signifie au moins 18 points, ou 14 points en gras ; WCAG note que cela correspond à peu près à 1.5 em et 1.2 em en gras pour les polices de texte courantes. Le critère 1.4.6, au niveau AAA, relève la barre à 7:1 et 4.5:1. Le critère 1.4.11 demande 3:1 pour les parties de boutons, de champs de formulaire et d'icônes que les gens doivent voir. Le rouge pur #ff0000 sur blanc donne 4.00:1, ce qui convient pour un grand titre mais échoue pour du texte courant. Le bleu #0000ff sur blanc donne 8.59:1 et satisfait tout.
Un autre fait utile découle de la formule. Une couleur de luminance d'environ 0.179 a le même contraste contre le blanc et contre le noir, environ 4.58:1. Plus sombre que cela, le texte blanc se lit mieux dessus ; plus clair, c'est le texte noir. Le panneau sous le modèle montre les deux rapports et nomme le meilleur choix.
Rapport de contraste = (L1 + 0.05) / (L2 + 0.05). Le texte courant demande 4.5:1, le grand texte 3:1, le texte courant AAA 7:1.
| AA, texte normal (1.4.3) | 4.5:1 |
| AA, grand texte (1.4.3) | 3:1 |
| AAA, texte normal (1.4.6) | 7:1 |
| Icônes et bordures de formulaire (1.4.11) | 3:1 |
| Texte de grande taille | 18 pt, ou 14 pt en gras |
| Noir sur blanc | 21:1, le maximum |
- Luminance relative : linéarise chaque canal, puis 0.2126 R + 0.7152 G + 0.0722 B.
- Rapport de contraste = (L1 + 0.05) / (L2 + 0.05), de 1:1 à 21:1.
- AA : 4.5:1 pour le texte courant, 3:1 pour le grand texte et les éléments d'interface. AAA : 7:1 pour le texte courant.
- #767676 sur blanc donne 4.54:1 et réussit ; #ff0000 sur blanc donne 4.00:1 et échoue pour du texte courant.
- Quel est le rapport de contraste du noir sur le blanc ?
- Quel est le rapport de contraste le plus bas possible ?
- Rapport de contraste de #767676 sur blanc, à 2 décimales ? (Sa luminance est 0.1812.)
- Quel contraste minimal WCAG 2.2 AA demande-t-il pour le texte courant normal ?
- Rapport de contraste du rouge pur #ff0000 sur blanc, à 2 décimales ? (Luminance 0.2126.)
- Le rouge #ff0000 sur blanc (4.00:1) convient pour…
- Les grands titres seulement
- Le texte courant au niveau AA
- Le texte courant au niveau AAA
- Rien du tout
- Quel canal a le plus grand poids dans la luminance relative ?
- Vert
- Rouge
- Bleu
- Tous égaux
- Qu'est-ce qui compte comme texte de grande taille dans WCAG ?
- 18 pt, ou 14 pt en gras
- 12 pt en gras
- 16 px en graisse normale
- N'importe quel titre
- Quel rapport WCAG demande-t-il pour les icônes et les bordures de champs de formulaire (1.4.11) ?
- Du texte jaune #ffff00 sur blanc a un rapport d'environ 1.07:1. Qu'est-ce que cela signifie ?
- Il est presque illisible
- Il satisfait AA
- Il satisfait AAA
- C'est le meilleur possible
- Avant mai 2021, quel seuil la formule de luminance WCAG utilisait-elle à la place de 0.04045 ?
- 0.03928
- 0.05
- 12.92
- 0.055
Sources de ce cours (14)
- W3C, Web Content Accessibility Guidelines (WCAG) 2.2, relative luminance (0.04045 threshold, note on the pre-May-2021 value 0.03928)
- contrast ratio (L1 + 0.05) / (L2 + 0.05)
- range 1:1 to 21:1, SC 1.4.1 Use of Color, 1.4.3 Contrast (Minimum) 4.5:1 and 3:1 for large-scale text (18 pt, or 14 pt bold)
- 1.4.6 Contrast (Enhanced) 7:1 and 4.5:1, 1.4.11 Non-text Contrast 3:1, WCAG 2.1 published June 2018 (w3.org/TR/WCAG22/)
- W3C, CSS Color Module Level 4, hex notation, hsl with 0deg red, 120deg green, 240deg blue, hsl(60deg 100% 50%) yellow vs hsl(240deg 100% 50%) blue at the same HSL lightness, hue spacing not perceptually uniform, HSL as a cylindrical model (w3.org/TR/css-color-4/)
- OpenStax College Physics 2e, 26.3 Color and Color Vision: about 6 million cones of three types, red + green gives yellow, no unique set of primaries (openstax.org/books/college-physics-2e/pages/26-3-color-and-color-vision)
- OpenStax Introduction to Behavioral Neuroscience, 6.2 The Retina: RGB pixels, CMY inks plus black, red-green colour blindness in about 8% of males (openstax.org/books/introduction-behavioral-neuroscience/pages/6-2-the-retina)
- Smithsonian Libraries, Color in a New Light, The Science of Color: Newton's prism experiments from the 1660s, Opticks 1704, Le Blon's Coloritto (London, about 1722) and the distinction between material colours and coloured light (library.si.edu/exhibition/color-in-a-new-light/science)
- The Newton Project (University of Oxford)
- Opticks 1704, Book I Part II Prop. VI: colour circle divided into seven parts in musical proportion, white at the centre (newtonproject.ox.ac.uk/view/texts/normalized/NATP00034)
- History of Information and Wikimedia Commons file record, Maxwell's 1861 Royal Institution demonstration, tartan ribbon photographed by Thomas Sutton through red, green and blue filters and projected together (historyofinformation.com/detail.php?id=3666)
- LibreTexts, Coalinga College Drawing Basics 8.4 Color Theory: complementary, analogous, split-complementary, triadic, tetradic (human.libretexts.org)
- RMIT Colour Theory, Interactive colour wheel and colour relationships (rmit.pressbooks.pub/colourtheory1)
- University of Delaware Library, Graphic Design guide, Color Schemes, 60/30/10 rule (guides.lib.udel.edu/design/color).
Consulté le: 2026-10-17