ForHosting KIT · Ferramentas para dev

Matriz de contraste de cores

Uma paleta pode parecer coerente e ainda conter combinações que dificultam ou impedem a leitura.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Esta matriz calcula a luminância relativa WCAG 2 de cada cor hexadecimal informada, compara todas as cores entre si e devolve os resultados em uma matriz quadrada estável. Designers, desenvolvedores e profissionais de acessibilidade podem examinar de uma só vez toda a paleta de um sistema de design, sem verificar pares individualmente. As entradas são validadas, as cores são normalizadas e o resultado determinístico serve para auditorias automatizadas e relatórios versionados.

Leia a matriz sem perder a referência das cores

Envie uma lista com duas a cem cores hexadecimais. Formatos de três e seis dígitos são aceitos, com ou sem cerquilha inicial, e cada valor válido é normalizado como um código de seis dígitos em letras minúsculas. A resposta apresenta as cores normalizadas na mesma ordem e atribui um índice a cada uma. As linhas e colunas seguem exatamente essa ordem; portanto, o valor na linha dois e coluna cinco descreve o contraste entre as cores de índices dois e cinco. A diagonal sempre vale 1, pois uma cor não contrasta consigo mesma, e a matriz é simétrica porque inverter primeiro plano e fundo não altera a relação WCAG. Cada relação exibida é arredondada para duas casas decimais, enquanto as luminâncias usam seis. Cores duplicadas permanecem como posições distintas, o que ajuda a auditar tokens com o mesmo valor e funções semânticas diferentes. Esse modelo posicional facilita exibir a resposta em tabela, arquivá-la como evidência ou comparar versões.

Entenda o cálculo e os limites WCAG

O cálculo segue o método de luminância relativa da WCAG 2 para cores sRGB. Cada canal vermelho, verde e azul passa do valor sRGB codificado para luz linear e depois é combinado com os coeficientes padronizados. Para qualquer par, a luminância mais clara somada a 0.05 é dividida pela mais escura somada a 0.05, gerando uma relação de 1 a 21. A resposta inclui os limites conhecidos: 4.5 para texto normal AA, 7 para texto normal AAA, 3 para texto grande AA e 4.5 para texto grande AAA. Compare cada célula com o limite adequado ao conteúdo e à tipografia reais. Uma relação isolada não declara uma interface inteira acessível, pois tamanho e peso da fonte, estados de interação, elementos não textuais e contexto também importam. A ferramenta fornece evidências numéricas, não um veredito geral, permitindo que a auditoria aplique a regra correta a cada combinação pretendida sem transformar um valor arredondado em garantia ampla.

Use resultados determinísticos em auditorias de design

Uma matriz completa é mais útil quando a verificação da paleta pode ser repetida. Mantenha as cores em uma ordem documentada, como neutras, marca, estado e destaque, e salve a matriz junto da versão do sistema de design. Uma verificação de integração contínua pode comparar células escolhidas com limites obrigatórios, enquanto uma pessoa revisora examina a tabela inteira em busca de combinações fracas inesperadas. Como o algoritmo não usa rede, aleatoriedade, hora atual, estilos do navegador nem estimativas de perfil de cor, entradas JSON idênticas geram saídas JSON idênticas. Listas inválidas, paletas fora do tamanho permitido e valores hexadecimais malformados são rejeitados com um índice claro. O teto de cem cores limita a matriz quadrática a dez mil células. Resolva transparência e composição antes da chamada: cores alfa são rejeitadas porque dependem do fundo. Converta nomes, HSL, valores de gama ampla ou objetos de ferramentas de design para hex sRGB opaco, garantindo uma base explícita e reproduzível.

Auditar tokens de design

Gere uma matriz indexada para tokens de marca, superfície, texto, borda e estado antes de publicar uma versão do sistema de design.

Verificar migrações de tema

Compare as matrizes das paletas antiga e nova para encontrar combinações cujo contraste piorou durante o redesenho.

Automatizar a revisão de acessibilidade

Envie relações estáveis a regras de integração contínua que apliquem o limite WCAG correto aos pares de tokens aprovados.

Quanto custa uma solicitação?

O preço-base da API é US$ 0,002 por solicitação.

Quais formatos de cor são aceitos?

São aceitas cores hexadecimais sRGB opacas de três ou seis dígitos, com ou sem cerquilha inicial. Formatos alfa, nomes, HSL e gama ampla são rejeitados.

Como linhas e colunas correspondem às cores?

Os dois eixos seguem a ordem original da entrada. Cada cor devolvida inclui seu índice, e matrix[row][column] contém a relação das duas cores indexadas.

Por que todos os valores diagonais são 1?

Uma cor comparada consigo mesma tem luminância idêntica; por isso, a fórmula de contraste WCAG sempre produz uma relação de 1.

Uma relação prova que um design é acessível?

Não. Ela fornece a evidência de contraste usada nas verificações WCAG, mas a acessibilidade também depende da tipografia, dos estados, do conteúdo e do uso correto de cada par.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/color/palette-contrast-matrix

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/color/palette-contrast-matrix \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"colors":["#ffffff","#111827","#2563eb","#facc15"]}'
{
  "colors": [
    "#ffffff",
    "#111827",
    "#2563eb",
    "#facc15"
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.palette_contrast_matrix",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_items100
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →