Onde exibir mensagens de erro em formulários

Aprenda quando usar mensagens inline, resumo de erros e mensagens globais em formulários acessíveis.

Formulário genérico com resumo de erros no topo e mensagem junto ao campo
Nível de impácto
Alto
Status
Recomendado
Nível de evidênica
Forte evidência

Contexto

A posição da mensagem influencia a capacidade de encontrar, compreender e corrigir o erro. Uma mensagem distante pode passar despercebida ou não deixar claro qual campo precisa de atenção.

Use uma mensagem contextual próxima ao campo com erro. Em formulários longos ou com vários problemas, adicione um resumo no topo com links que levem diretamente aos campos afetados. Depois do envio, leve o foco ao resumo ou ao primeiro campo inválido, conforme o comportamento mais adequado ao fluxo. Preserve os dados já preenchidos.

Use uma mensagem global apenas quando o problema afetar o formulário ou o serviço inteiro e não puder ser associado a um campo específico.

Mensagem global de erro do Gov.br em uma faixa horizontal: “Erro. Desculpe, nenhum resultado encontrado.”
Exemplo real: o Gov.br apresenta o erro em uma faixa global, adequada quando a falha afeta a página ou o resultado como um todo. Para erros ligados a um campo, o próprio Design System diferencia a mensagem contextual, que deve ficar próxima do elemento relacionado. Fonte: Gov.br Design System — Message: https://www.gov.br/ds/components/message

Porque isso importa?

A mensagem próxima ao campo reduz a dúvida sobre onde agir. O resumo facilita a localização dos problemas, especialmente em formulários longos ou para quem navega por teclado ou leitor de tela.

A WCAG não obriga uma única posição, mas exige que o erro seja identificado e descrito em texto. A combinação entre mensagem contextual e resumo navegável ajuda diferentes pessoas a localizar e corrigir os erros sem repetir o preenchimento.

  • Mensagem junto ao campo para erros específicos.
  • Resumo no topo quando houver vários erros.
  • Links no resumo para levar aos campos afetados.
  • Foco no primeiro erro após o envio.
  • Mensagem global para falhas que afetem todo o fluxo.
  • Mensagem contextual para feedback relacionado a um componente.
  • Deixar o erro somente no topo.
  • Colocar a mensagem distante do campo.
  • Usar modal para validação comum.
  • Usar toast para erro que precisa ser corrigido.
  • Remover os dados preenchidos após o erro.
  • Exibir várias mensagens globais desconectadas.
Exemplo de mensagem de erro global da Atlassian: “Our crew is at work” oferece link para a página de status.
Exemplo real: a Atlassian usa uma mensagem global para uma indisponibilidade do serviço e oferece um próximo passo — consultar a página de status. Isso ilustra quando o feedback não pertence a um campo específico. Fonte: Atlassian Design — Error messages: https://atlassian.design/foundations/content/designing-messages/error-messages

Recomendações

Faça

Práticas recomendadas
  • Associe o erro ao campo.
  • Resuma vários erros.
  • Aponte para o campo.
  • Preserve os dados.
  • Foque o primeiro erro.
  • Reserve mensagens globais.
Formulário com resumo de erros no topo e mensagens inline associadas aos campos
O resumo no topo aponta para os campos afetados, e cada campo mantém sua própria mensagem contextual.

Evite

Práticas a evitar
  • Não deixe só no topo.
  • Não esconda o erro no rodapé.
  • Não use modal para validação comum.
  • Não use toast para erro persistente.
  • Não remova o preenchimento.
  • Não repita mensagens desconectadas.
Formulário longo com erro distante no rodapé e sem ligação com o campo afetado
A mensagem aparece distante no rodapé, sem resumo navegável ou associação clara com o campo afetado.

Acessibilidade

A mensagem inline deve estar associada programaticamente ao campo. O resumo deve permitir navegação direta até cada erro e não pode ser o único meio de identificação. Após o envio, o foco deve seguir uma ordem previsível.

Quando houver vários erros, ofereça links ou outro mecanismo equivalente para que a pessoa não precise percorrer o formulário inteiro procurando os campos inválidos. Preserve os valores preenchidos e comunique as mensagens em texto, sem depender apenas de cor, ícone ou posição.

Teste com teclado, zoom e leitor de tela.

Checklist

  • A mensagem aparece junto ao campo afetado?
  • Existe um resumo quando há vários erros?
  • Os links do resumo levam aos campos corretos?
  • O resumo não é o único meio de identificar o erro?
  • O foco chega ao resumo ou ao primeiro erro?
  • Os dados preenchidos são preservados?
  • Falhas gerais usam uma mensagem global adequada?
  • Erros comuns evitam modal e toast?
  • A solução foi testada com teclado e leitor de tela?

Referências

  • W3C — WCAG 2.2, Critério 3.3.1: Error Identification. Permite diferentes formas de apresentação, mas exige que o erro seja identificado e descrito em texto. Consultar o critério 3.3.1.
  • W3C — Técnica G139: Creating a mechanism that allows users to jump to errors. Apoia um resumo no topo com links para os campos que precisam de correção. Consultar a técnica G139.
  • W3C WAI — Form Notifications. Recomenda mensagens para cada campo com erro e foco no primeiro campo inválido após o envio. Consultar a orientação.
  • GOV.UK Design System — Error summary. Orienta usar um resumo no topo junto com mensagens próximas a cada resposta inválida. Consultar o componente.
  • GOV.UK Design System — Error message. Recomenda posicionar a mensagem junto ao campo, manter os dados preenchidos e usar o mesmo conteúdo no campo e no resumo. Consultar o componente.
  • Padrão Digital de Governo (Gov.br) — componente Message. Diferencia mensagens globais e contextuais e recomenda posicionar o feedback próximo ao elemento relacionado. Consultar o componente Message.
  • AMAWeb — Manual de acessibilidade digital. Complementa as orientações de acessibilidade para formulários, mensagens e navegação por tecnologias assistivas. Consultar o Manual.
  • Atlassian Design — Error messages. Relaciona o tipo de mensagem ao contexto: mensagens inline para uma ação ou componente específico e mensagens globais para problemas que afetam o serviço, com um próximo passo claro. Consultar as orientações.
  • USWDS — Form. Recomenda alinhar as mensagens de validação aos campos e manter validação inline em formulários longos, além de indicar o erro na página para tecnologias assistivas. Consultar o componente Form.
Veja também

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