Contraste WCAG: por que o verde pesa mais que o azul no cálculo
A razão de contraste entre duas cores, conforme definida pelo WCAG
(Web Content Accessibility Guidelines), não é uma simples diferença
numérica entre valores RGB — é calculada a partir da
luminância relativa de cada cor, uma medida que
aproxima quanto uma cor específica "brilha" percebida pelo olho
humano. A fórmula pondera os três canais de forma desigual:
0,2126 × R + 0,7152 × G + 0,0722 × B (após uma correção
de gama em cada canal) — o canal verde pesa mais de 71% do resultado,
porque o olho humano é fisiologicamente mais sensível a variações de
luminosidade na faixa do verde do que na do vermelho ou do azul. Duas
cores com a "mesma distância matemática" em RGB podem ter contrastes
percebidos completamente diferentes dependendo de qual canal
concentra essa diferença.
Por que existe correção de gama antes da ponderação
Antes de aplicar os pesos por canal, cada componente RGB (normalizado entre 0 e 1) passa por uma correção não-linear: valores muito baixos seguem uma reta simples, mas a maior parte da faixa usa uma função de potência (expoente 2,4) — porque monitores não emitem luz de forma linearmente proporcional ao valor de pixel armazenado, uma característica física de como telas historicamente funcionam (o padrão sRGB, base de praticamente toda exibição de cor na web, incorpora essa mesma correção). Ignorar essa etapa e calcular luminância diretamente sobre valores RGB brutos produziria uma estimativa de contraste perceptualmente incorreta.
Os limiares que definem "acessível o suficiente"
O WCAG define limiares numéricos específicos, não uma escala subjetiva: contraste mínimo de 4,5:1 para texto normal no nível AA (o padrão de conformidade mais comumente exigido), 3:1 para texto grande (a partir de 18pt, ou 14pt em negrito — texto grande é mais legível com menos contraste), e 7:1 para o nível AAA, mais rigoroso, usado em contextos que exigem acessibilidade reforçada. Um contraste de 21:1 (o valor máximo teoricamente possível, entre preto puro e branco puro) é o teto da escala — qualquer combinação de cores fica entre 1:1 (nenhum contraste, cores idênticas) e 21:1.