Grade de contraste da paleta
Seis cores dão trinta pares possíveis de texto e fundo, e ninguém testa trinta pares à mão. Cole sua paleta para ver todos em uma única tabela, cada um com sua razão e seu nível, além de uma lista curta dos pares que você pode usar.
Coloque uma vírgula ou uma quebra de linha entre as cores. Hexadecimal como #1d3557, rgb(), hsl() e cores nomeadas como teal são todos aceitos.
Os cálculos rodam no seu navegador. Nenhuma cor é enviada para nós.
Todos os pares
As linhas são cores de texto e as colunas são fundos. Selecione uma célula para ver uma prévia desse par.
AAA 7 ou mais AA 4.5 ou mais Grande 3 ou mais, só para títulos Reprovado abaixo de 3
O par que você selecionou
Pares seguros para usar
Por que verificar a paleta inteira
As cores de uma marca costumam ser escolhidas lado a lado em um painel, como amostras. Raramente são escolhidas em pares, uma escrita por cima da outra. Isso cobra seu preço depois, quando um desenvolvedor precisa de uma cor de link no fundo claro, de uma legenda no painel de destaque e de um rótulo no botão principal, e escolhe da paleta no olho.
O número de pares cresce rápido. Com n cores existem n × (n − 1) maneiras de pôr uma sobre a outra, o que dá 12 para quatro cores, 30 para seis e 132 para doze. Passar por elas uma a uma é lento o bastante para que ninguém faça. Uma grade faz isso na hora, e ainda mostra como a paleta está montada: quais cores funcionam como “tinta”, quais funcionam como “papel” e quais só servem de decoração.
Como ler a grade
Cada linha é uma cor de texto e cada coluna um fundo. Uma célula mostra uma amostra “Aa” nessas duas cores, a razão de contraste WCAG truncada em duas casas decimais e um de quatro rótulos:
| Rótulo | Razão | Uso |
|---|---|---|
| AAA | 7 ou mais | Qualquer texto, inclusive artigos longos |
| AA | 4,5 a 6,99 | Qualquer texto |
| Grande | 3 a 4,49 | Títulos de 24 px ou mais (18,66 px em negrito), ícones, bordas de campos e botões |
| Reprovado | abaixo de 3 | Só decoração, sem nenhuma informação |
A razão é a mesma qualquer que seja a cor de cima, então a tabela se espelha na diagonal. Mantemos as duas metades porque as amostras não têm a mesma aparência. Escuro sobre claro e claro sobre escuro parecem diferentes mesmo com um número idêntico. O menu Manter apaga todos os pares abaixo do limite que você escolher. Selecione uma célula para abrir uma prévia maior com um título, um parágrafo, texto pequeno e um botão. Há também um link que envia o par para a calculadora de razão de contraste, que pode sugerir um tom próximo que passe.
As três listas abaixo da grade
- Texto de tamanho normal
- Até oito pares com 4,5:1 ou mais, do mais forte para o mais fraco. Cada par aparece uma vez, com a cor mais clara como fundo, já que esse é o caso comum.
- Só texto grande e títulos
- Até seis pares entre 3:1 e 4,5:1. Eles são tentadores porque ficam bem em um mockup a 40 px. Coloque-os em um parágrafo e eles reprovam.
- Conjuntos para botões
- Um botão envolve três cores e dois testes. O rótulo precisa chegar a 4,5:1 contra o botão, e o próprio botão precisa chegar a 3:1 contra a página, senão as pessoas nem percebem que há um botão ali. Para cada cor de botão possível, a lista dá o rótulo com o maior contraste e o fundo de página mais claro que satisfaz os dois.
Se a primeira lista vier vazia, a paleta não tem nenhum par de tinta e papel. Acrescente um quase preto como #1a1a1a ou um quase branco e a grade se preenche.
Consertar uma paleta que não dá conta
A maioria das paletas falha do mesmo jeito, com várias cores de tom médio de luminosidade parecida. Verde-azulado, coral, mostarda e violeta não se parecem em nada, e mesmo assim nenhuma delas consegue levar texto sobre as outras. Três acréscimos resolvem quase todos os casos:
- Um neutro escuro para o texto corrido. Uma versão profunda da cor principal da marca funciona tão bem quanto o preto e continua com cara de marca.
- Um neutro claro para fundos de página e de cartões, como um branco levemente tingido com a cor da marca.
- Um degrau mais escuro da cor de destaque para links e botões. Diminua a luminosidade até que um texto branco sobre ela chegue a 4,5:1, e guarde o destaque original para formas grandes e ilustrações.
Depois registre o resultado no seu guia de estilo como regras sobre pares, por exemplo “destaque só sobre branco, nunca sob texto corrido”. As pessoas erram menos com uma lista de pares permitidos do que com uma lista de cores.
Entrada, compartilhamento e limites
Separe as cores com vírgulas ou quebras de linha. Hex com ou sem #, rgb(), hsl() e nomes de cores CSS funcionam. Duplicatas são juntadas e tudo o que vier depois da décima segunda cor é ignorado. A barra de endereço sempre contém a paleta atual como ?c=1d3557,f1faee,…, então o link que você copia reabre a mesma grade. Tudo é calculado no seu navegador.
Uma razão aprovada garante uma diferença de luminosidade. Ela não garante que alguém com deficiência na visão de cores consiga distinguir duas cores quando elas são usadas como código, como vermelho para erros e verde para sucesso. Verifique esses casos no simulador de visão.
Perguntas frequentes
Quantas cores posso testar de uma vez?
De 2 a 12. Doze cores produzem 132 células, e isso é mais ou menos o máximo que uma tela consegue mostrar em uma tabela ainda legível. Para um design system maior, teste as cores de texto contra as cores de fundo em lotes separados.
Por que duas células com a mesma razão aparecem duas vezes?
O contraste vale nos dois sentidos, então a cor A sobre B e B sobre A têm a mesma razão. A grade mostra as duas porque a amostra renderizada parece diferente, e porque você geralmente procura um par a partir do fundo que já tem.
Nenhuma das cores da minha marca passa sobre branco. O que fazer?
Guarde as cores da marca para superfícies grandes, ilustrações e títulos, onde 3:1 basta, e acrescente um degrau mais escuro da cor principal para texto e botões. Abra o par reprovado na calculadora de razão de contraste para obter o tom mais próximo da mesma cor que chegue a 4,5:1.
O botão precisa contrastar com a página, ou só o rótulo?
Os dois. O rótulo segue a regra do texto (4,5:1 contra a cor do botão). O contorno visível do botão segue o WCAG 1.4.11, que pede 3:1 contra as cores vizinhas, a não ser que uma borda ou outro indício marque o botão.
Posso colar cores direto do Figma ou de um arquivo CSS?
Sim, cole o bloco do jeito que está. A ferramenta pega códigos hex, valores rgb() e hsl() e nomes de cores, e lista o que não conseguiu ler. Nomes de variáveis e de propriedades feitos só de letras podem aparecer como não reconhecidos, o que não causa problema.