Skip to Content
AccessibilityScreen readers

Screen readers

Accessibility · 04

Um alerta crítico que não é anunciado é operacionalmente invisível.

O Pulso deve expor estado, risco, mudança e consequência para leitores de tela sem transformar cada atualização em ruído. O contrato abaixo define quando anunciar, como rotular e como testar.

Hierarquia de anúncios

TierARIAQuando usarExemplos
0aria-live="off"Conteúdo estático ou mudança não urgenteCards em repouso, tabs inativas
1aria-live="polite"Mudança útil, mas não interruptivaFiltro aplicado, autosave, nova menção em feed
2aria-live="assertive"Risco crítico ou consequência imediataAlerta crítico, falha de envio, handover urgente

Contrato por componente

ComponenteRequisito ARIAObservação
Alertrole="status" ou role="alert" conforme severidadecritical usa anúncio assertivo
Dialogrole="dialog", aria-modal, título associadoFoco preso e retorno ao gatilho
Tabstablist, tab, tabpanel, seleção explícitaConteúdo inativo não entra no foco
Form fieldlabel, helper e erro associadosaria-invalid quando há erro
Badge de riscoTexto acessível com nível e contextoNão anunciar apenas “ícone”
Progress/statusaria-valuenow ou texto de estadoAtualizações frequentes devem ser agregadas
Toast/snackbarLive region por severidadeSucesso é polite; falha crítica pode ser assertive

Redação acessível

RuimMelhor
“Critical”“Risco crítico em crise Petrobras”
“Erro”“Falha ao salvar handover. Tente novamente.”
“Atualizado”“Filtro aplicado. 142 menções encontradas.”
“IA”“Sugestão gerada por IA, confiança alta.”

Regras

  • Não anunciar cada tick de gráfico ou contador em tempo real.
  • Agregar atualizações frequentes em resumo legível.
  • assertive é reservado para consequência operacional real.
  • Texto visual e texto acessível devem carregar o mesmo significado.
  • Ícones decorativos usam aria-hidden="true"; ícones sem texto precisam de label.

Test matrix

Leitor/navegadorCobertura mínima
VoiceOver + SafariNavegação principal, dialogs, forms, alerts
VoiceOver + ChromeComponentes interativos e live regions
NVDA + FirefoxTabelas, tabs, menus e formulários
NVDA + ChromeFluxos críticos e estados de erro

Acceptance criteria

  • Risco crítico é anunciado com contexto suficiente.
  • Live regions não geram spam durante monitoramento contínuo.
  • Labels, helpers e erros são associados ao campo correto.
  • O fluxo crítico pode ser entendido sem olhar para a tela.
Last updated on