Skip to Content
GovernanceStates matrix

States matrix

Governance · 05

Toda tela tem quatro versões: default, loading, empty e error.

Estados não são exceções de tela. Eles fazem parte do contrato de componente/template e devem ser derivados da mesma gramática visual.

Loading tiers

TierTempoTratamento
Instant< 300msNão anunciar; evitar flicker
Fast300ms–1sSkeleton matching
Slow1–5sNomear escopo: “Buscando 240 menções…”
Very slow> 5sMostrar etapas, retry/cancel quando aplicável

Error tiers

ClasseResponsabilidade percebidaTratamento
ValidationUsuário precisa corrigir entradaInline, campo associado, sem pânico
NetworkSistema/rede instávelRetry, status persistente, sem apagar contexto
PermissionPolítica/acessoExplicar permissão e próximo passo
FatalFalha inesperadaRequest id, fallback seguro, suporte

Empty states

TipoTomExemplo
First runOrientação“Comece adicionando fontes monitoradas.”
Filtered outAjuste“Nenhuma menção para estes filtros.”
End of feedEncerramento“Você viu todas as atualizações.”

Skeleton matching

  • Skeleton imita layout final em bloco, não usa spinner genérico para listas previsíveis.
  • Reduz layout shift quando os dados chegam.
  • Em reduced motion, skeleton fica estático, sem shimmer.
  • Skeleton não substitui texto de loading em waits longos.

Optimistic UI

Use para ações reversíveis e rápidas:

AçãoPode ser otimista?Observação
Ack de alertaSimReverter com mensagem inline se falhar
Follow/unfollowSimManter audit trail
Dismiss de sugestãoSimDesfazer deve ser possível
Envio destrutivoNãoPrecisa confirmação real
Handover críticoParcialPode preparar UI, mas confirmar persistência

Regras

  • Toda tela pública declara seus quatro estados.
  • Erro fatal sempre inclui request id.
  • Empty state nunca culpa o operador.
  • Loading slow nomeia o escopo carregado.
  • Optimistic UI precisa de rollback claro e auditável.
Last updated on