Como comunicar falhas temporárias do sistema

Aprenda a comunicar falhas temporárias do sistema, informar o estado da operação, preservar dados e oferecer uma recuperação segura.

Ilustração wireframe de uma falha temporária do sistema com ação de recuperação
Nível de impácto
Alto
Status
Recomendado
Nível de evidênica
Forte evidência

Contexto

Uma falha temporária acontece quando o sistema, uma rede ou um serviço externo não consegue concluir uma operação naquele momento, embora a pessoa possa tentar novamente depois. Ela é diferente de um erro no preenchimento: o problema não está necessariamente nos dados fornecidos.

A mensagem precisa reduzir duas dúvidas: o que aconteceu e o que é seguro fazer agora. Antes de oferecer “Tentar novamente”, informe se a operação foi concluída, está em processamento ou não foi realizada. Isso evita envios duplicados, pagamentos repetidos e perda de confiança.

Explique a falha em linguagem de tarefa, sem expor detalhes técnicos desnecessários. Diga o que não foi possível fazer e, quando puder, delimite o alcance: “Não foi possível carregar seus pedidos” é mais útil do que “Ocorreu um erro”.

Informe o estado da operação antes de sugerir uma ação. Se o servidor não confirmou o resultado, prefira “Não foi possível confirmar o envio” e oriente a verificar o histórico antes de repetir. Se a operação não começou ou pode ser repetida com segurança, ofereça uma única ação principal, como “Tentar novamente”.

Preserve o que a pessoa já digitou, selecionou ou anexou. Mantenha o contexto da tarefa e permita continuar de onde parou. Se o problema for amplo ou persistente, ofereça uma alternativa concreta: voltar mais tarde, consultar o status, usar outro canal ou falar com suporte.

Escolha o formato conforme o alcance e o impacto. Use mensagem inline junto ao conteúdo afetado para uma falha localizada; uma mensagem persistente ou página de indisponibilidade para um serviço inteiro; e uma notificação temporária apenas quando a falha for breve, clara e recuperável sem registro.

Quando houver um incidente em andamento, atualize a informação sem prometer um prazo que a equipe não conhece. Registre o erro para correção operacional, mas mostre à pessoa somente o contexto e a ação que ela consegue compreender e executar.

Toast negativo do Adobe Spectrum informando que um arquivo não pôde ser excluído
Exemplo real: o Adobe Spectrum usa um toast negativo para comunicar uma falha específica — o arquivo não pôde ser excluído — em vez de mostrar uma mensagem técnica genérica. Fonte: Adobe Spectrum, componente Toast — https://spectrum.adobe.com/page/toast/.

Porque isso importa?

Falhas temporárias interrompem uma expectativa já criada: a pessoa acredita que a tarefa avançou, mas o sistema não confirma o resultado. Uma mensagem genérica aumenta a incerteza e pode levar a tentativas repetidas, abandono ou duplicação de operações.

A Nielsen Norman Group trata mensagens hostis como aquelas que transferem para a pessoa o trabalho de interpretar o problema. Para falhas do sistema, a interface deve explicar a situação em termos compreensíveis e indicar uma saída possível, sem transformar um problema técnico em culpa do usuário.

O W3C inclui avisos sobre a existência de erros e estados do aplicativo no conceito de mensagem de status. Essas alterações precisam ser identificáveis por tecnologias assistivas sem deslocar o foco. O Baymard também observa, em testes de checkout, que recuperação clara, preservação dos dados e orientação específica reduzem o esforço quando algo dá errado.

  • Quando uma operação falha por rede ou servidor.
  • Quando um serviço externo está indisponível.
  • Quando o sistema precisa de nova tentativa.
  • Quando o resultado ainda não foi confirmado.
  • Quando uma falha afeta uma área inteira.
  • Quando há alternativa para continuar.
  • Quando o problema está nos dados do campo.
  • Quando a operação ainda está processando.
  • Para esconder uma falha permanente.
  • Para oferecer tentativas sem limite.
  • Para mostrar código técnico sem contexto.
  • Para prometer prazo desconhecido.
Notificação do IBM Carbon informando que uma instância está offline e oferecendo acesso ao servidor
Exemplo real: o IBM Carbon informa que uma instância está offline, explica o estado em linguagem de produto e oferece uma ação para consultar o servidor. Fonte: IBM Carbon Design System, Notification — https://carbondesignsystem.com/components/notification/usage/.

Recomendações

Faça

Práticas recomendadas
  • Explique o que falhou.
  • Informe o estado da operação.
  • Preserve os dados.
  • Ofereça uma ação segura.
  • Mantenha o contexto.
  • Mostre uma alternativa.
  • Permita consultar o status.
  • Atualize incidentes ativos.
Wireframe de uma falha temporária contextualizada com ação de tentar novamente
Exemplo correto: a falha aparece junto ao conteúdo afetado, preserva o contexto da tarefa e oferece uma única ação de recuperação. A ilustração é conceitual e não representa uma interface de empresa específica.

Evite

Práticas a evitar
  • Não culpe a pessoa.
  • Não diga apenas “Erro”.
  • Não repita uma operação incerta.
  • Não apague o preenchimento.
  • Não use jargão técnico.
  • Não prometa prazo incerto.
  • Não limite a uma cor.
  • Não esconda a recuperação.
Wireframe com mensagens de falha e ações de recuperação dispersas pela interface
Exemplo incorreto: mensagens e ações de recuperação aparecem dispersas, dificultando entender o estado da operação e qual tentativa é segura. A ilustração é conceitual e não representa uma interface de empresa específica.
Mensagem de erro do Atlassian Design System informando problema de conexão e oferecendo tentar novamente
Exemplo real: o Atlassian Design System comunica um problema de conexão, orienta verificar a internet e oferece “Try again”; a ação permanece disponível para recuperação. Fonte: Atlassian Design System, Flag — https://atlassian.design/components/flag/examples.

Acessibilidade

Para uma falha dinâmica que não exige ação imediata, prepare no DOM uma região com role="status" antes de inserir o texto, permitindo anúncio polido sem roubar o foco. Para um erro importante e urgente, avalie role="alert" ou uma região viva assertiva com parcimônia; não use interrupções fortes para falhas rotineiras.

Escreva a mensagem em texto e não dependa somente de vermelho, ícone, som ou animação. Se houver botão “Tentar novamente”, ele precisa ter nome acessível, foco visível e funcionamento por teclado. A ação deve permanecer disponível tempo suficiente e não desaparecer antes de a pessoa conseguir lê-la.

Quando a falha ocorrer em um formulário ou fluxo longo, associe a mensagem ao conteúdo afetado e preserve os dados. Se o resultado puder ter sido criado mesmo sem confirmação, ofereça uma forma persistente de consultar o status em vez de induzir uma nova submissão.

Checklist

  • A mensagem identifica o que falhou?
  • O texto diferencia falha do sistema e erro de preenchimento?
  • A operação foi classificada como concluída, processando ou não realizada?
  • A pessoa sabe se é seguro tentar novamente?
  • Os dados preenchidos foram preservados?
  • A ação de recuperação é clara?
  • Existe alternativa quando a falha persiste?
  • A mensagem permanece disponível quando necessário?
  • O texto evita jargão técnico?
  • A mensagem não depende só de cor ou ícone?
  • O estado é anunciado sem roubar o foco?
  • A ação funciona com teclado e leitor de tela?

Referências

  • Nielsen Norman Group — Hostile Error Messages and How to Fix Them. Explica como mensagens podem se tornar hostis quando aparecem cedo demais, sobrecarregam a pessoa ou não ajudam a corrigir o problema. A orientação apoia escrever a falha em linguagem compreensível e oferecer uma saída. Consultar o artigo.
  • W3C WAI — Understanding Success Criterion 4.1.3: Status Messages. Inclui avisos sobre erros e estados do aplicativo no conceito de mensagem de status e orienta que mudanças dinâmicas sejam apresentadas por tecnologias assistivas sem exigir mudança de foco. Consultar o critério.
  • W3C WAI — ARIA19. Demonstra como usar uma região de alerta ou live region para comunicar erros dinâmicos, mantendo o recipiente no DOM antes da atualização e usando texto identificável. Consultar a técnica.
  • Baymard Institute — How to Improve Validation Errors. Relata que mensagens específicas ajudam as pessoas a recuperar-se mais rapidamente e reduzem situações em que ficam bloqueadas; a evidência vem principalmente de testes de checkout e deve ser contextualizada. Consultar a pesquisa.
  • Baymard Institute — Preserving User Input When Errors Occur. Destaca que perder entradas e seleções após uma falha técnica ou de validação causa frustração intensa; a recomendação reforça preservar o trabalho já realizado. O conteúdo detalhado é parte da base premium. Consultar a diretriz.
  • IBM Carbon — Notification. Diferencia mensagens inline, toast, acionáveis e callouts, recomenda escolher o formato pelo contexto e indica que erros podem exigir ação ou bloquear a continuidade até a resolução. Consultar o componente.
  • Adobe Spectrum — Toast. Oferece variantes de toast para informar estados positivos, informativos e negativos, além de orientações sobre ações e permanência. É uma referência visual para comunicar falhas breves sem transformar todo erro em modal. Consultar o componente.
  • GOV.UK Design System — There is a problem with the service pages. Recomenda uma página específica para problemas inesperados do serviço, com orientação para tentar mais tarde, informação sobre o destino das respostas e canais alternativos quando úteis. A referência é usada como orientação de conteúdo; não será usada como exemplo visual. Consultar o padrão.
  • GOV.BR Design System — Message. Serve como referência governamental para mensagens de estado e comunicação objetiva, especialmente quando a falha precisa ser apresentada de forma contextual e acessível. Consultar o componente.
Veja também

Esta recomendação foi útil para você?