Grille de contraste d’une palette

Six couleurs donnent trente paires texte et fond possibles et personne ne teste trente paires à la main. Collez votre palette pour les obtenir toutes dans un seul tableau, chacune avec son ratio et son niveau, plus une courte liste des paires utilisables.

Mettez une virgule ou un retour à la ligne entre les couleurs. Les valeurs hexadécimales comme #1d3557, rgb(), hsl() et les noms de couleurs comme teal sont tous acceptés.

Le calcul se fait dans votre navigateur. Aucune couleur ne nous est envoyée.

Toutes les paires

Les lignes sont les couleurs de texte et les colonnes les arrière-plans. Sélectionnez une case pour voir cette paire.

AAA 7 ou plus AA 4,5 ou plus Grand 3 ou plus, pour les titres seulement Échec moins de 3

Paires sûres à utiliser

Pourquoi vérifier une palette dans son ensemble

Les couleurs d’une marque se choisissent d’habitude côte à côte sur une planche, comme des échantillons. Elles se choisissent rarement en paires, l’une écrite sur l’autre. Cela finit par poser problème quand un développeur a besoin d’une couleur de lien sur le fond pâle, d’une légende sur le panneau d’accent et d’une étiquette sur le bouton principal et qu’il choisit dans la palette à l’œil.

Le nombre de paires grandit vite. Avec n couleurs, il y a n × (n − 1) façons d’en poser une sur une autre, soit 12 pour quatre couleurs, 30 pour six et 132 pour douze. Les passer en revue une à une est assez long pour que personne ne le fasse. Une grille le fait instantanément et elle montre aussi comment la palette est construite : quelles couleurs servent d’« encre », lesquelles servent de « papier » et lesquelles ne valent que pour la décoration.

Lire la grille

Chaque ligne est une couleur de texte et chaque colonne un fond. Une cellule montre un exemple « Aa » dans ces deux couleurs, le ratio de contraste WCAG tronqué à deux décimales et l’une de quatre étiquettes :

ÉtiquetteRatioUsage
AAA7 ou plusTout texte, y compris les longs articles
AA4,5 à 6,99Tout texte
Large3 à 4,49Titres de 24 px ou plus (18,66 px en gras), icônes, bordures de champs et de boutons
Échecsous 3Décoration seulement, sans information dedans

Le ratio est le même quelle que soit la couleur du dessus, donc le tableau est symétrique par rapport à la diagonale. Nous gardons les deux moitiés parce que les exemples ne se ressemblent pas. Foncé sur clair et clair sur foncé ne se perçoivent pas pareil, même avec un nombre identique. Le menu Garder estompe toutes les paires sous le seuil que vous choisissez. Sélectionnez une cellule pour ouvrir un aperçu plus grand avec un titre, un paragraphe, du petit texte et un bouton. Il y a aussi un lien qui envoie la paire vers le calculateur de ratio de contraste, qui peut proposer une teinte voisine qui passe.

Les trois listes sous la grille

Texte de taille normale
Jusqu’à huit paires à 4,5:1 ou plus, les plus fortes d’abord. Chaque paire apparaît une seule fois, avec la couleur la plus claire comme fond, puisque c’est le cas courant.
Grand texte et titres seulement
Jusqu’à six paires entre 3:1 et 4,5:1. Elles sont tentantes parce qu’elles sont bien sur une maquette à 40 px. Mettez-les dans un paragraphe et elles échouent.
Jeux de boutons
Un bouton fait intervenir trois couleurs et deux tests. Son étiquette doit atteindre 4,5:1 contre le bouton et le bouton lui-même doit atteindre 3:1 contre la page, sinon on ne verra pas qu’il y a un bouton. Pour chaque couleur de bouton possible, la liste donne l’étiquette au contraste le plus élevé et le fond de page le plus clair qui satisfont les deux conditions.

Si la première liste est vide, la palette n’a pas de paire encre et papier. Ajoutez un presque noir comme #1a1a1a ou un presque blanc et la grille se remplit.

Réparer une palette insuffisante

La plupart des palettes échouent de la même façon, avec plusieurs tons moyens de luminosité semblable. Le bleu-vert, le corail, la moutarde et le violet ne se ressemblent pas du tout et pourtant aucun ne peut porter du texte sur un autre. Trois ajouts règlent presque tous les cas :

  1. Un neutre foncé pour le texte courant. Une version sombre de la teinte principale de la marque fait aussi bien l’affaire que le noir et ressemble quand même à la marque.
  2. Un neutre clair pour les fonds de page et de carte, comme un blanc cassé teinté de la teinte de la marque.
  3. Un cran plus foncé de la couleur d’accent pour les liens et les boutons. Baissez la luminosité jusqu’à ce que le texte blanc dessus atteigne 4,5:1 et gardez l’accent d’origine pour les grandes formes et les illustrations.

Écrivez ensuite le résultat dans votre charte graphique sous forme de règles sur des paires, par exemple « accent seulement sur blanc, jamais sous du texte courant ». On fait moins d’erreurs avec une liste de paires permises qu’avec une liste de couleurs.

Saisie, partage et limites

Séparez les couleurs par des virgules ou des sauts de ligne. L’hexadécimal avec ou sans #, rgb(), hsl() et les noms de couleurs CSS fonctionnent tous. Les doublons sont fusionnés et tout ce qui suit la douzième couleur est ignoré. La barre d’adresse contient toujours la palette courante sous la forme ?c=1d3557,f1faee,…, donc le lien que vous copiez rouvre la même grille. Tout est calculé dans votre navigateur.

Un ratio suffisant garantit une différence de luminosité. Il ne garantit pas qu’une personne avec une déficience de la vision des couleurs distingue deux couleurs quand elles servent de code, comme le rouge pour les erreurs et le vert pour les succès. Vérifiez ces cas dans le simulateur de vision.

Questions fréquentes

Combien de couleurs puis-je tester à la fois ?

De 2 à 12. Douze couleurs produisent 132 cellules, soit à peu près autant qu’un écran peut en montrer dans un tableau encore lisible. Pour un système de design plus grand, testez les couleurs de texte contre les couleurs de fond en lots séparés.

Pourquoi deux cellules au même ratio sont-elles affichées deux fois ?

Le contraste fonctionne dans les deux sens, donc la couleur A sur B et B sur A ont le même ratio. La grille montre les deux parce que l’exemple rendu ne se ressemble pas et parce qu’on cherche d’habitude une paire à partir du fond qu’on a déjà.

Aucune de mes couleurs de marque ne passe sur du blanc. Que faire ?

Gardez les couleurs de la marque pour les grandes surfaces, les illustrations et les titres, où 3:1 suffit et ajoutez un cran plus foncé de la couleur principale pour le texte et les boutons. Ouvrez la paire qui échoue dans le calculateur de ratio de contraste pour obtenir la teinte la plus proche de la même nuance qui atteint 4,5:1.

Le bouton doit-il contraster avec la page, ou seulement son étiquette ?

Les deux. L’étiquette suit la règle du texte (4,5:1 contre la couleur du bouton). Le contour visible du bouton suit WCAG 1.4.11, qui demande 3:1 contre les couleurs voisines, sauf si une bordure ou un autre indice marque le bouton.

Puis-je coller des couleurs directement depuis Figma ou un fichier CSS ?

Oui, collez le bloc tel quel. L’outil repère les codes hexadécimaux, les valeurs rgb() et hsl() et les noms de couleurs et liste ce qu’il n’a pas su lire. Les noms de variables et de propriétés faits uniquement de lettres peuvent apparaître comme non reconnus, ce qui ne gêne pas.