Verifique o contraste de cores e a legibilidade segundo WCAG
Verifique se as suas cores de texto e fundo são legíveis segundo as normas WCAG 2.1. Rácio de contraste, avaliação AA/AAA e ajuste automático das cores.
Rácio de contraste
21.00 : 1
Texto normal
Texto de exemplo de contraste WCAG 2.1
Texto grande / negrito
Texto de exemplo de contraste WCAG 2.1
Ícone
Porque é que o contraste de cores é importante?
Um contraste insuficiente entre o texto e o fundo torna o conteúdo difícil de ler – em especial para pessoas com deficiência visual, utilizadores idosos ou aqueles que consultam o seu site num ecrã ao sol. As diretrizes WCAG 2.1 definem limiares mínimos de contraste para garantir a acessibilidade.
Esta ferramenta calcula o rácio de contraste entre duas cores, avalia a conformidade WCAG (AA e AAA) para texto normal, texto grande e ícones, e propõe uma função de ajuste automático para encontrar cores conformes.
Como usar o verificador
A verificação é instantânea:
1. Introduzir as cores
Introduza a cor do texto e a cor de fundo em HEX, RGB ou HSL.2. Verificar o contraste
Consulte o rácio de contraste e a conformidade WCAG AA/AAA.3. Ajustar se necessário
Utilize a função de ajuste para encontrar uma cor conforme automaticamente.
Que formatos de cor são suportados?
HEX
Formato hexadecimal - a notação do CSS e dos programas de design. O código tem 3 ou 6 caracteres (dígitos 0-9 e letras A-F), ou 4 e 8 quando os últimos indicam a transparência. O # pode ser omitido: um código copiado sem ele, como 1B2632, também funciona.
#fff- branco (forma abreviada)#ffffff- branco (forma completa)#1a73e8- azul#00000080- preto com 50 % de opacidade
RGB / RGBA
Formato baseado em três canais: vermelho (Red), verde (Green), azul (Blue). Cada canal aceita um valor de 0 a 255. A variante RGBA adiciona um quarto parâmetro - a transparência (alpha) de 0 a 1.
rgb(255, 255, 255)- brancorgba(0, 0, 0, 0.8)- preto com 80% de opacidade
HSL / HSLA
Formato baseado na tonalidade (Hue, 0-360°), saturação (Saturation, 0-100%) e luminosidade (Lightness, 0-100%). A variante HSLA adiciona a transparência. Este formato é útil para modificar a luminosidade ou a saturação de uma cor.
hsl(0, 0%, 100%)- brancohsla(217, 91%, 60%, 0.9)- azul com 90% de opacidade
Níveis de conformidade WCAG
As WCAG 2.1 definem dois níveis de conformidade para o contraste de cores:
- AA (recomendado) – o nível mínimo para a maioria dos sites. Garante legibilidade suficiente.
- AAA (ótimo) – o nível mais elevado. Recomendado para sites destinados a pessoas com deficiência visual.
- Texto grande – texto de pelo menos 18 pt, cerca de 24 px (ou 14 pt a negrito, cerca de 18,5 px). Os limiares são mais baixos porque as letras grandes são naturalmente mais legíveis.
O que significam os resultados do teste de legibilidade?
A ferramenta apresenta o rácio de contraste numa escala de 1:1 (nenhum contraste) a 21:1 (contraste máximo – preto sobre branco). O resultado é comparado com os limiares definidos na norma WCAG:
- Texto normal – necessita de pelo menos 4,5:1 para o nível AA (padrão mínimo) ou 7:1 para o nível AAA (padrão melhorado). Aplica-se a texto inferior a 18pt (24px) ou inferior a 14pt (18,5px) a negrito.
- Texto grande / negrito – necessita de pelo menos 3:1 para o nível AA ou 4,5:1 para o nível AAA. Aplica-se a texto a partir de 18pt (24px) ou a partir de 14pt (18,5px) a negrito – por exemplo, títulos grandes.
- Ícones e elementos de interface – necessitam de pelo menos 3:1 para o nível AA. Aplica-se a ícones, botões, campos de formulário e outros elementos de interface que transmitem informação.
O nível AA é o nível a que se referem muitas políticas de acessibilidade de instituições públicas, por isso é um bom ponto de partida. O nível AAA oferece melhor legibilidade, mas nem sempre é realizável para todos os elementos.
Ajuste automático das cores às exigências WCAG
Se o contraste for demasiado fraco, a função Ajustar encontra automaticamente uma variante de cor de texto conforme ao limiar de contraste selecionado.
Como funciona o ajuste:
- Selecione o objetivo de ajuste na lista, por ex. AA para texto normal ou AAA para texto grande.
- Clique no botão Ajustar.
- A ferramenta pesquisa entre as variantes de luminosidade da cor do texto e sugere a mais próxima conforme às exigências.
- A cor sugerida pode ser copiada para a área de transferência ou definida imediatamente como nova cor de texto.
O algoritmo preserva a tonalidade e a saturação da cor original, alterando apenas a luminosidade. A cor sugerida mantém-se coerente com a identidade visual, respeitando a norma de acessibilidade.
O que significam os níveis AA e AAA na norma WCAG?
| Nível AA (mínimo) | Nível AAA (melhorado) | |
|---|---|---|
| Texto normal – mín. 4,5:1 | ✓ | ✓ |
| Texto normal – mín. 7:1 | — | ✓ |
| Texto grande / negrito – mín. 3:1 | ✓ | ✓ |
| Texto grande / negrito – mín. 4,5:1 | — | ✓ |
| Ícones e elementos de interface – mín. 3:1 | ✓ | ✓ |
| Recomendado para conteúdo essencial | ✓ | ✓ |
Que formas de escrever a cor é que esta ferramenta aceita?
| O que escreve | Como a ferramenta lê a cor | Contraste sobre branco | Como lemos |
|---|---|---|---|
| 1B2632 | rgb(27, 38, 50) | 15,33:1 | O cardinal não é preciso, um código sem ele lemo-lo da mesma maneira |
| color: #1B2632; | rgb(27, 38, 50) | 15,33:1 | Cole a linha inteira da folha de estilos ou das ferramentas do navegador, a cor tiramo-la nós |
| #00000080 | rgba(0, 0, 0, 0.502) | 4,00:1 | Num código de oito caracteres a opacidade está nos dois últimos, e contamos com ela ao calcular o contraste |
| 0x80000000 | rgba(0, 0, 0, 0.502) | 4,00:1 | Numa constante de código Android ou Kotlin a opacidade está nos dois primeiros caracteres, e é aí que a procuramos |
| rgb(59 130 246 / 50%) | rgba(59, 130, 246, 0.5) | 1,84:1 | A sintaxe CSS mais recente, com espaços e opacidade depois da barra, é aceite sem alterações |
| rgba(0, 0, 0, 0,5) | rgba(0, 0, 0, 0.5) | 3,98:1 | A opacidade escrita com vírgula decimal funciona tal como com ponto |
| rgba(0, 0, 0, .5) | rgba(0, 0, 0, 0.5) | 3.98:1 | O zero antes do ponto pode ficar de fora: .5 significa para nós o mesmo que 0.5 |
| 59, 130, 246 | rgb(59, 130, 246) | 3,68:1 | Três números sem rgb() chegam, o resto da notação completamo-lo nós |
| RGB(59,130,246) | rgb(59, 130, 246) | 3.68:1 | As maiúsculas no nome da função e a falta de espaços depois das vírgulas não atrapalham |
| rgb(300, 0, 0) | rgb(255, 0, 0) | 4,00:1 | Um canal acima de 255 é ajustado para 255, tal como faz o navegador |
| hsl(217 91% 60%) | rgb(60, 131, 246) | 3,63:1 | Uma notação HSL, com vírgulas ou com espaços, passamo-la nós para RGB |
| navy | rgb(0, 0, 128) | 16,01:1 | Conhecemos os 148 nomes de cores do CSS, por isso basta escrever a palavra |
| transparent | rgba(0, 0, 0, 0) | 1,00:1 | Um texto totalmente transparente dá um contraste de 1:1 sobre qualquer fundo, e é assim que o indicamos |
Resolução de problemas do verificador de contraste
Mensagem de erro de formato de cor
Verifique o formato da cor. Um código HEX tem 3, 4, 6 ou 8 caracteres, com ou sem # (por ex. #fff ou 1B2632). Os valores RGB e HSL escrevem-se dentro de rgb() ou hsl(), separados por vírgulas ou espaços. Os nomes de cores CSS, como navy, também funcionam.
A função Ajustar não encontra uma cor adequada
Quando o fundo e o texto têm luminosidade semelhante na mesma tonalidade, o algoritmo pode não encontrar uma variante conforme às exigências sem alterar a tonalidade. Neste caso, considere modificar a cor de fundo ou escolher uma cor de texto completamente diferente.
A cor no seletor não corresponde ao código introduzido
O seletor de cores do navegador suporta apenas o formato HEX sem transparência. Se introduzir uma cor no formato RGBA ou HSLA com transparência, o seletor mostrará apenas a parte colorida (sem alfa). Os cálculos de contraste continuam a ter em conta a transparência.
Onde verificar a legibilidade das cores?
A legibilidade é importante em qualquer lugar onde alguém tenha de ler texto ou reconhecer um elemento de interface:
Sites
Texto das páginas, botões, links, formulários. Particularmente importante para sites de empresas cujos visitantes têm idades e capacidades visuais variadas.Lojas
Preços, botões Comprar, informação de produto. Uma legibilidade fraca pode significar encomendas perdidas.Apresentações
Um projetor pode mostrar as cores com contraste mais fraco do que um monitor. Verifique as cores antes de apresentar.Cartazes e flyers
Os suportes impressos vistos em condições de iluminação variadas necessitam de contraste elevado.Aplicações móveis
Os telemóveis são usados ao sol, à noite e por pessoas de todas as idades.Menus de restaurante
Quando impressos em papel de cor ou com tipos de letra decorativos, é fácil obter contraste demasiado fraco.
Legibilidade das cores para pessoas daltónicas
O daltonismo é uma perturbação da perceção das cores: o daltonismo vermelho-verde afeta até 8 % dos homens e 0,5 % das mulheres de ascendência norte-europeia. As pessoas daltónicas podem ter dificuldade em distinguir certos pares de cores, mesmo que o contraste de luminosidade seja suficiente.
Tipos de daltonismo:
- Deuteranopia – dificuldade em distinguir o verde do vermelho
- Protanopia – dificuldade em percecionar o vermelho
- Tritanopia – dificuldade em percecionar o azul e o amarelo (rara)
Esta ferramenta verifica o contraste de luminosidade, que é importante para todos os utilizadores. No entanto, ao conceber, convém evitar combinações de cores problemáticas (por ex. texto vermelho sobre fundo verde) e não depender apenas da cor para transmitir informação – utilize também formas, ícones e texto.
O que torna este verificador especial?
Avaliação objetiva baseada numa fórmula matemática
O rácio de contraste é calculado com a fórmula WCAG: o resultado não depende da configuração do monitor nem da perceção individual das cores.Conformidade com a norma internacional WCAG
Os resultados seguem os limiares das WCAG 2.1, as diretrizes do W3C a que se referem muitas políticas de acessibilidade.Ajuste automático da cor ao limiar
A função Ajustar encontra uma variante de cor de texto conforme ao limiar de contraste selecionado: preserva a tonalidade, altera apenas a luminosidade.Cinco formatos de cor
Formatos suportados: HEX, RGB, RGBA, HSL e HSLA, além dos nomes de cores CSS. O código de cor pode ser colado diretamente do Figma, Photoshop ou de uma folha de estilos CSS.Três tipos de conteúdo num único teste
Uma única verificação mostra o resultado para texto normal, texto grande (por exemplo, títulos grandes) e ícones: não é preciso testar cada tipo separadamente.
Última revisão do conteúdo: · escrito e verificado pela equipa Arteon
Perguntas frequentes sobre o verificador de contraste
O que é o rácio de contraste WCAG?
O rácio de contraste é um número compreendido entre 1:1 (nenhum contraste) e 21:1 (contraste máximo, preto sobre branco). As WCAG 2.1 definem limiares mínimos: 4,5:1 para texto normal (AA), 3:1 para texto grande (AA) e 7:1 para texto normal (AAA).
Qual é a diferença entre AA e AAA?
AA é o nível de conformidade mínimo recomendado – garante legibilidade suficiente para a maioria dos utilizadores. AAA é o nível mais elevado – oferece contraste ainda melhor, particularmente importante para utilizadores com deficiência visual.
O que é a função de ajuste automático?
A função de ajuste procura automaticamente uma variante de cor que atinge o limiar de contraste selecionado (AA ou AAA). Ajusta a luminosidade da cor mantendo a tonalidade, propondo a variante mais próxima da cor original.
Posso colar um código sem # ou um nome de cor?
Sim. A ferramenta aceita HEX com ou sem # (#000000 ou 000000), também com 4 ou 8 caracteres com transparência, RGB e RGBA (rgb(0,0,0) ou rgb(0 0 0)), HSL e HSLA (hsl(0,0%,0%)) e nomes de cores CSS (red, blue, etc.).
Os meus dados são enviados para um servidor?
Não. Todo o processamento é feito localmente no seu navegador. Nenhum dado é enviado nem armazenado.
Porque é que a minha cor não passa no teste se eu a vejo bem?
A perceção pessoal das cores depende das definições do monitor, da iluminação ambiente e das capacidades visuais individuais. A norma WCAG baseia-se numa fórmula matemática objetiva que tem em conta diferentes perturbações da visão. Uma cor legível num ecrã pode ser ilegível noutro ou para outra pessoa.
Onde encontrar os códigos de cor do meu site?
No navegador (Chrome, Firefox, Edge), clique com o botão direito e escolha Inspecionar para abrir as ferramentas de programador. No separador Estilos, verá as cores utilizadas na página. Em alternativa, extensões como ColorZilla permitem obter a cor de qualquer elemento sem tocar no código.
Que pares de cores do meu site verificar primeiro?
Os mais importantes: o texto sobre o fundo principal, o texto sobre banners e secções coloridas, os botões (cor do texto e fundo do botão em relação ao fundo da página), os links e os ícones. Preste atenção especial aos elementos que aparecem sobre fundos diferentes conforme as secções.
Porque é que um código de oito caracteres do Android dá um resultado errado?
No CSS, os dois últimos caracteres de um código de oito caracteres indicam a transparência (#RRGGBBAA). No Android, as cores escrevem-se em ARGB (#AARRGGBB), com a transparência nos dois primeiros. Esta ferramenta lê a ordem do CSS: o preto a 50 % escrito para Android, #80000000, é lido como uma cor totalmente transparente e dá 1,00:1, enquanto #00000080 dá 4,00:1. Passe os dois primeiros caracteres para o fim antes de verificar. Uma constante escrita com 0x, como 0x80000000, é lida na ordem do Android.
Funciona para design em modo escuro?
Sim. A ferramenta verifica o rácio de contraste entre quaisquer duas cores. Para modo escuro, introduza uma cor de texto clara e um fundo escuro. Os mesmos limiares WCAG aplicam-se: 4,5:1 para texto normal (AA) e 7:1 (AAA).

Ajude-nos a melhorar nossas ferramentas
Tem uma ideia para uma nova funcionalidade, encontrou um bug ou quer sugerir outra ferramenta que facilitaria seu trabalho? Escreva-nos.






