Como testar o contraste de cores do Web design

Uma visão geral de três ferramentas e técnicas para testar e verificar o contraste de cor acessível do seu design.

Digamos que você tenha um texto em um fundo claro, como este:

A frase "A rápida raposa marrom pula sobre o cachorro preguiçoso novamente" é mostrada, em que cada palavra é um azul mais claro. Acima de cada seção de palavras esmaecidas progressivamente, fica a pontuação da taxa de contraste. As últimas palavras são muito difíceis de ler por causa do baixo contraste.

Todos os exemplos podem ser lidos por você, mas esse não é o caso para todos.

O contraste de cor acessível é uma prática que garante que o texto seja legível para todos. Às vezes, testar o contraste é fácil e, às vezes, muito difícil. Ao final desta postagem, você terá três novas ferramentas e técnicas para inspecionar, corrigir e verificar o contraste do seu design da Web para lidar com os cenários mais difíceis.

WCAG e contraste de cor

A Iniciativa de acessibilidade na Web do W3C oferece estratégias, padrões e recursos para garantir que a Internet seja acessível para o maior número possível de pessoas. As diretrizes que sustentam esses padrões são chamadas de Diretrizes de Acessibilidade para Conteúdo da Web ou WCAG. A versão estável mais recente, a WCAG 2.1, abrange um requisito importante de acessibilidade: o contraste mínimo.

A relação entre duas cores nas diretrizes WCAG 2.1 é descrita pela proporção de contraste, ou seja, o número obtido ao comparar a luminância de duas cores. A luminância é uma maneira de descrever o quão próxima uma cor está do preto (0%) ou do branco (100%). As WCAG definem algumas regras e algoritmos de cálculo relacionados à taxa de contraste necessária para que a Web seja acessível. No entanto, há problemas conhecidos com esse cálculo. Eventualmente, uma maneira ainda mais confiável será adotada, mas, atualmente, as WCAG são a melhor que temos.

Quais são as regras?

AA AAA
Corpo do texto (< 24 px) 4.5 7
Texto grande (> 24 px) 3 4.5
Interface do usuário (ícones, gráficos etc.) 3 não definido

Uma taxa de contraste mais alta é pontuada com um número maior, como 4,5 ou 7 em vez de 3. Para se familiarizar mais com a tabela de pontuação, confira o Verificador de contraste do Polypane.

O texto é exibido sobre roxo: um par é texto preto sobre roxo e outro é texto branco sobre roxo.
Qual destas combinações de cores você sente mais contraste?

Como testar o contraste entre cores

Agora que sabemos o que estamos procurando, como podemos testar isso? Aqui estão três ferramentas sem custo financeiro para ajudar você a inspecionar, corrigir e medir o contraste do seu site. Os pontos fortes e fracos de cada um deles serão descritos para que você possa testar com segurança a acessibilidade das cores e do conteúdo do seu site de várias maneiras.

  1. Pika
    Um app MacOS, com capacidade única de mostrar o contraste de qualquer cor em toda a tela, cores em gradientes, cores com transparência e muito mais. A intenção é explícita. Os usuários escolhem manualmente os pixels para comparar. Um pouco menos automatizado, com um grande ganho de recursos.
  2. VisBug
    É uma extensão para vários navegadores que exibe exclusivamente mais de uma sobreposição de contraste por vez. No entanto, como o DevTools, às vezes não consegue detectar intents.
  3. Chrome DevTools
    O DevTools está integrado ao Chrome e tem várias maneiras de inspecionar, corrigir e depurar problemas de cor, mas tem limitações na inspeção de gradientes e cores semitransparentes e, às vezes, não é capaz de detectar intents.

Pika (aplicativo macOS)

Se o DevTools ou o VisBug não puder avaliar o contraste corretamente, como quando você precisar testar uma cor fora do navegador ou quando a transparência ou os gradientes estiverem envolvidos, Pika está aqui para salvar o dia. A Pika tem acesso a cada pixel na tela porque é uma ferramenta do sistema, e não da Web.

Fazer o download do Pika

Isso também significa que a UX para usar o Pika é diferente do DevTools ou do VisBug. O DevTools e o VisBug fazem o possível para mostrar as cores de texto e de plano de fundo do DOM do navegador, enquanto as cores que Pika compara são escolhidas manualmente em qualquer ponto da tela. Isso dá à Pika mais controle e abre alguns outros casos de uso:

  • Comparar duas cores independentemente de estarem ou não no navegador. Se você vir a cor na tela, faça um teste.
  • Comparar cores com transparência.
  • Comparar cores em gradientes.
  • Comparar cores que estão usando modos de combinação, como o modo de mistura no CSS.

Comparar duas cores

Comparar o texto a uma cor de plano de fundo:

Dois cinzas são comparados lado a lado.Eles têm uma taxa de contraste de 13, 01 e estão passando alvos AA e AAA.

Comparar as cores de traço e preenchimento de gráficos vetoriais:

Dois roxos são comparados com um ícone em tons duo.Eles têm uma taxa de contraste de 1, 63 e não estão transmitindo nenhuma meta das diretrizes WCAG.

Comparação de cores com transparência

Compare a cor do texto com uma variedade de pixels de amostra de plano de fundo. Aqui, o cinza mais claro do efeito de vidro fosco é usado como a cor de comparação do plano de fundo.

Duas cores que parecem cinza, mas são, na verdade, roxas muito dessaturadas, são comparadas de uma imagem com uma legenda semitransparente desfocada.Elas têm uma taxa de contraste de 4,65 e estão passando na meta AA.

Como comparar cores com gradientes

Compare o texto em um gradiente ou em uma imagem. Aqui, o L de "Lasso" é comparado com o azul-claro da imagem:

Uma captura de tela de um programa de TV tem o título do programa por cima, o L é branco e o azul atrás dele são comparados. Eles têm uma razão de contraste de 8 e estão passando nos alvos AA e AAA.

VisBug

O VisBug é uma ferramenta inspirada no FireBug para designers e desenvolvedores inspecionarem visualmente, depurarem e brincarem com o design de sites. O objetivo é ter uma barreira de entrada menor do que o Chrome DevTools para emular a interface e UX das ferramentas de design que as pessoas já conhecem e adoram usar.

Teste o VisBug ou instale no Chrome, Firefox, Edge, Brave ou Safari.

Uma de suas ofertas é a ferramenta de inspeção de acessibilidade.

Captura de tela da barra de ferramentas do VisBug no lado esquerdo de uma página em branco. O ícone da ferramenta de acessibilidade está em rosa e aparece um pop-up que fornece instruções sobre a ferramenta.

Inspecione em vários navegadores (e até mesmo em dispositivos móveis)

Depois de clicar na ferramenta de inspeção de acessibilidade, qualquer item para o qual o usuário apontar ou navegar pelo teclado terá as informações de acessibilidade informadas na dica. Esta dica inclui comparações de cores entre as cores de primeiro e segundo planos descobertas.

Um componente com um título e um ícone é mostrado com uma caixa delimitadora rosa ao redor dele, uma dica de acessibilidade VisBug aponta para a caixa rosa com um relatório de comparação de cores da cor do texto e do plano de fundo. A proporção é de 13,86 e está passando alvos AA e AAA.

Inspecionar um ou vários

O DevTools pode analisar um único par de cores ou gerar um relatório de todos os pares de cores na página, mas o VisBug oferece um meio-termo, permitindo vários pares de cores. Clique em um elemento e a dica permanecerá disponível. Mantenha a tecla Shift pressionada e continue clicando em outros elementos. Todas as dicas vão continuar no mesmo lugar:

Uma lista de links em uma página da web é mostrada com várias sobreposições de acessibilidade do VisBug, cada uma apontando contextualmente para e informando os contrastes de cor de fundo e o texto descobertos.

Isso é especialmente importante para o design baseado em componentes, em que várias partes de um componente precisam passar pontuações de taxa de contraste. Com esse método, é possível ver todas essas partes do componente de uma só vez. Também é ótimo para revisões de design.

Chrome DevTools

Se você tem o Chrome instalado, já está equipado com muitas ferramentas de teste de contraste:

Seletor de cores do Chrome DevTools

No painel "Styles" do Chrome DevTools do painel "Elements", os valores de cor terão uma pequena amostra visual de quadrado ao lado deles. Ao clicar nessa amostra, você verá a ferramenta de seleção de cores. Se possível, o meio da ferramenta vai mostrar o contraste da cor em um primeiro ou segundo plano.

No exemplo a seguir, o seletor de cores é aberto para um valor de cor da propriedade personalizada. A pontuação da taxa de contraste é relatada como 15,79 e tem duas marcas de seleção verdes, indicando que a pontuação atende aos requisitos AA e AAA WCAG 2.1:

Captura de tela do painel Elements do DevTools, nos estilos em que o seletor de cores é mostrado e no meio relatando a taxa de contraste da cor de 4,98.

Correção automática do seletor de cores

Ver a pontuação enquanto escolhe cores é útil, mas o Chrome DevTools tem um recurso adicional para correção automática. Quando o seletor de cores informa uma pontuação de contraste de cores acessível com falha, ele pode ser expandido para revelar os valores desejados de pontuação AA e AAA, além de uma ferramenta de conta-gotas. Ao lado de AA e AAA, há amostras e um ícone de atualização que, quando clicado, encontra a cor de passagem mais próxima para você:

Se você não é exigente com relação a cores, o recurso de correção automática é uma ótima maneira de atender às diretrizes de acessibilidade e não se esforçar muito para realizar a tarefa.

Dica de inspeção

A ferramenta de seleção de elementos tem um recurso especial que informa informações gerais de fonte, cor e acessibilidade ao passar o cursor na página. A ferramenta de seleção de elementos é o ícone à esquerda na captura de tela abaixo. É a caixa com um cursor de seta no canto inferior direito. Também é possível selecioná-la usando a tecla de atalho Control+Shift+C (ou Command+Shift+C no MacOS).

Captura de tela do ícone de caixa e seta no DevTools que invoca a ferramenta de seleção de elementos.

Depois de ativado, o ícone ficará azul e apontar para qualquer coisa na página mostrará a seguinte dica de inspeção rápida:

Captura de tela de uma sobreposição muito semelhante ao VisBug, mostrando algumas informações de estilo e uma seção de acessibilidade que mostra uma pontuação de contraste de 15,79, que passa o alvo AA.

Em vez da ferramenta de seleção de cores, que exige que você encontre a amostra de cor no painel "Estilos", essa ferramenta permite que você simplesmente passe o cursor pela página para conferir as pontuações de contraste. Assim como o seletor de cores, ele só pode mostrar uma pontuação de contraste por vez.

Toque na barra para passar 🎶

Muitas vezes, inspeciono um par de cores com essa ferramenta de inspeção rápida e acho que ele está bem perto da proporção necessária. Em vez de usar o recurso de correção automática do seletor de cores (porque sou exigente), eu recomendo os canais de cores no CSS e assisto até passar a proporção necessária. Eu chamo esse processo de "bump bump til you pass" porque vou aumentar os números dos canais de cores até que eles passem nas WCAG 2.1.

As etapas são as seguintes e precisam ser seguidas na ordem exata:

  1. Defina o foco do teclado dentro de uma cor no painel "Estilos".
  2. Ative a ferramenta de inspeção de elemento com o atalho de teclado Control+Shift+C (ou Command+Shift+C no MacOS).
  3. Passe o cursor sobre um alvo.
  4. Pressione para cima/para baixo no teclado para alterar os números no valor da cor.

Isso funciona porque o valor do estilo CSS ainda tem o foco do teclado, enquanto o mouse permite que você aponte para um alvo. Não clique na meta, ou o foco será movido da área de valor da cor e não permita que você desloque mais valores até que o foco seja refocado.

Visão geral do CSS

Até agora, o Chrome DevTools forneceu maneiras de analisar um par de cores de cada vez, mas a Visão geral do CSS pode rastrear a página inteira e apresentar todos os pareamentos inacessíveis de uma só vez:

Captura de tela do resumo de informações gerais na execução da ferramenta de captura de visão geral do CSS. Ele mostra sete problemas de contraste, mostrando os pares de cores descobertos e os resultados com falha.

Leia mais sobre esse recurso na postagem Visão geral do CSS: identifique possíveis melhorias de CSS ou assista Jecelyn Yeen no YouTube na série "Dicas do DevTools" para aprender a identificar possíveis melhorias no CSS com o painel de visão geral de CSS.

Farol

O Lighthouse é outra ferramenta de auditoria no Chrome DevTools. Ele pode rastrear sua página e informar pares de cores inacessíveis. Ela apresenta pequenas capturas de tela de cada pareamento de cores para você analisar, ser aprovado ou reprovado. Qualquer combinação com falha afetará negativamente sua pontuação no Lighthouse.

Veja a aparência desses resultados:

Captura de tela de uma avaliação do Lighthouse, mostrando resultados de texto de baixo contraste das combinações de cores de duas palavras.

O console JS

Talvez todas as ferramentas listadas até agora não estejam onde você está. Talvez onde você esteja (o dia todo) seja em JavaScript. Confira um experimento. O painel "Issues" do console pode informar constantemente qualquer problema de acessibilidade de contraste de cores durante a criação. Ative o recurso em Configurações > Experimentos, conforme mostrado abaixo:

Captura de tela de uma caixa de seleção ativada: &quot;Ativar o relatório de problemas de contraste automático pelo painel Problemas&quot;.

Em seguida, abra o painel "Issue" (Problema) e veja se ele fez alguma descoberta. Se for o caso, eles podem ficar assim:

Captura de tela do painel &quot;Issues&quot; no console. Ele informa seis erros de contraste.

Emulação para daltônicos

A respeito do contraste de cores e da garantia de pares de cores acessíveis, vale a pena apontar a ferramenta de emulação de deficiências visuais. Isso vai mudar as cores ou a aparência do seu design para demonstrar os resultados de diferentes variedades de daltonismo, oferecendo a oportunidade de modificar o design para que a cor não seja a única maneira de a UX se comunicar com um usuário.

Captura de tela das opções do DevTools de emulação para emular deficiências visuais: sem emulação, visão turva, protanopia, deuteranopia, tritanopia e acromatopsia.

Não é uma prática de acessibilidade segura usar exclusivamente cores para representar informações, como vermelho para mal e verde para o bem. Algumas pessoas não veem os verdes ou os vermelhos da mesma forma, e essa ferramenta de emulação ajudará você a experimentar e se lembrar disso.

Emulação de preferência do sistema de contraste de cores

Cada vez mais, os usuários estão mudando as configurações de contraste no sistema operacional. Assim, eles podem solicitar uma personalização menor ou maior na interface. O CSS pode usar essa configuração, assim como com as preferências de tema claro ou escuro. O Chrome DevTools oferece a capacidade de emular essa preferência para que os designs possam testar e se adaptar à solicitação do usuário sem alternar a configuração do sistema.

Captura de tela das opções no DevTools de emulação para emular a consulta de mídia CSS &quot;prefers-contrast: no emulation, more, less, custom&quot;.

Teste WCAG 3.0 APCA

Outro experimento é testar seus pares de cores com o sistema experimental de pontuação de proporção de cores APCA. Ativada em Configurações > Experimentos, ela substitui o sistema de proporção WCAG 2.1 por um algoritmo de verificação de contraste mais recente e aprimorado, permitindo visualizar os resultados à medida que a proposta trabalha em direção a um padrão.

Captura de tela de uma caixa de seleção ativada: &quot;Ativar novo algoritmo de contraste perceptível avançado (APCA) substituindo a taxa de contraste anterior e as diretrizes AA/AAA&quot;.

Depois da ativação, use a dica de inspeção de ponto ou o seletor de cores para conferir a pontuação de pareamento de cores e se ela é aprovada:

A dica do elemento de inspeção de ferramentas Devtools mostra um valor de -100,2% para a pontuação de contraste de um elemento dd.

Conclusão

O contraste de cores é uma peça importante do quebra-cabeça para acessibilidade na Web, e aderir a ele torna a Web mais utilizável para o maior número de pessoas nas situações mais variadas. Espero que essas três ferramentas ajudem você a se sentir capaz de fazer ótimas escolhas de cores.