Skip to Content
AccessibilityContrast

Contrast

Accessibility · 01

Contraste é contrato operacional: se uma combinação aparece como permitida aqui, ela pode carregar decisão; se falha, deve ser substituída.

O Pulso adota WCAG 2.1 AA como mínimo para todo texto de produto e mira AAA em estados críticos, erros e decisões irreversíveis. Cor pode orientar, mas não pode ser o único recurso para leitura de risco, prioridade ou consequência.

Política

NívelCritérioUso no Pulso
AAA≥ 7.0:1 texto normal · ≥ 4.5:1 texto grandeAlertas críticos, erros, confirmação destrutiva, consequência operacional
AA≥ 4.5:1 texto normal · ≥ 3.0:1 texto grandeMínimo obrigatório para texto de produto
AA large≥ 3.0:1 apenas para display/kicker grandePermitido em rótulos decorativos ou display não crítico
Fail< 3.0:1Proibido para texto, exceto disabled/decorativo

Combinações permitidas

CombinaçãoStatusObservação
--foreground sobre --backgroundAA obrigatórioCorpo, tabelas e leitura contínua
--fg-secondary sobre --backgroundAA obrigatórioMetadados e descrições de apoio
--fg-subtle sobre --backgroundAA obrigatórioKicker, label secundário, linhas auxiliares — se o token falhar AA em alguma superfície, recalibre o token no produto, não rebaixe a exigência
--destructive sobre --destructive-bgAAA alvoErros e ações irreversíveis
--risk-critical-text sobre --risk-critical-bgAAA alvoRisco crítico e anúncio assertivo
--primary-foreground sobre --primaryAA obrigatórioCTA e seleção ativa

Regras por intenção

IntençãoRegraAnti-pattern
Texto de decisãoUsar par foreground/background com AATexto crítico em fg-subtle
Clarear textoUsar o próximo nível da escala de foregroundOpacidade sobre texto (text-muted-foreground/60 etc.) — quebra o contraste no tema claro
Estado de riscoCor + label + glifoChip que muda só hue
Estado disabledPode ficar abaixo de AA se não aciona decisãoDisabled usado para explicar regra
Dado visualLegenda textual acompanha corGráfico que depende só da série colorida
FocusRing visível em ambos os temasFocus indicado apenas por mudança de cor

Checklist de revisão

  • Todo texto de produto passa AA em light e dark — inclusive fg-subtle: todo texto legível precisa de ≥4.5:1 sobre a superfície em que aparece.
  • Nenhum texto é clareado por opacidade; a hierarquia vem da escala de foreground.
  • Estados high e critical têm contraste superior ao texto comum.
  • Gráficos têm legenda, rótulo ou redundância textual.
  • fg-subtle não comunica decisão, erro ou consequência.
  • Qualquer exceção é registrada na página do componente ou template.

Dependências

  • Risk redundancy define glifo + label para risco.
  • Focus & keyboard define o ring canônico.
  • Screen readers define quando a mudança precisa ser anunciada.
Last updated on