Contexto
Ações destrutivas podem excluir dados, remover acesso, descartar alterações ou afetar várias pessoas. O objetivo não é adicionar uma confirmação a cada clique, e sim combinar o nível de proteção com o impacto, a frequência e a reversibilidade da ação.
Use esta regra junto de Como fechar um modal corretamente quando a confirmação usar uma janela modal e de Como preservar dados após um erro no formulário quando a ação fizer parte de um fluxo que pode descartar trabalho.
Classifique a ação pelo dano possível, pela frequência e pela possibilidade de desfazer.
Prefira uma ação reversível, como arquivar, desativar ou oferecer Desfazer, quando isso atender ao objetivo da pessoa.
Para uma ação irreversível ou de alto impacto, explique no contexto o que será afetado, se a recuperação será possível e qual será a consequência.
Use um rótulo específico no botão final, como Excluir projeto, Descartar alterações ou Remover membro. Evite Sim, OK e Confirmar.
Dê destaque de perigo ao comando que realmente executa a destruição, sem depender apenas da cor. Mantenha o cancelamento claro e fácil de alcançar.
Em exclusões em massa ou com dependências, mostre a quantidade, o escopo e os efeitos relevantes antes da decisão.
Use confirmação somente quando ela reduzir um risco real. Para ações rotineiras e reversíveis, prefira feedback imediato com uma oportunidade clara de desfazer.
Porque isso importa?
A WCAG 2.2, no critério 3.3.4, exige que ações que modificam ou excluem dados controláveis ofereçam pelo menos uma proteção adequada: reversão, conferência ou confirmação. O critério não exige uma janela de confirmação para toda ação de salvar, nem transforma o modal em solução universal.
O WAI-ARIA APG recomenda que, em um diálogo modal, o foco entre no diálogo, permaneça dentro dele durante a interação e retorne ao elemento que o abriu quando o diálogo fechar. Para uma decisão difícil de reverter, o foco inicial pode ficar na opção menos destrutiva.
A Apple orienta usar alertas com parcimônia: ações destrutivas comuns e reversíveis podem usar desfazer, enquanto ações incomuns e irreversíveis justificam uma interrupção para confirmação.
Carbon e GitHub Primer convergem em uma orientação contextual: o título, a mensagem e o botão devem dizer claramente o que acontecerá; ações perigosas recebem ênfase própria; e a fricção deve acompanhar o custo de um erro. Essas recomendações de design system são referências de implementação, não prova isolada de uma regra universal.
Quando usar?
Use esta orientação para exclusão permanente, descarte de alterações sem recuperação, remoção de acesso, ações em massa, operações que afetam outras pessoas e mudanças difíceis de reverter.
Combine-a com uma confirmação quando a pessoa puder acionar a ação por engano e precisar revisar o objeto, o escopo ou a consequência antes de concluir.
Quando o item puder ser recuperado, considere arquivamento, lixeira, desativação ou uma mensagem de sucesso com Desfazer.
Quando evitar?
Evite confirmação para ações frequentes, intencionais, de baixo impacto e facilmente reversíveis. Evite também usar um modal para informar algo que não exige decisão.
Não use confirmação genérica, não esconda a consequência em texto secundário e não exija digitar uma frase para toda exclusão. A confirmação por texto deve ficar reservada para operações permanentes, amplas ou de alto alcance.
Recomendações
Faça
- Nomeie a ação e o objeto.
- Explique a consequência.
- Prefira desfazer quando possível.
- Confirme o que é irreversível.
- Mantenha cancelar claro.
- Proteja o foco do teclado.
Evite
- Não use “Sim” ou “OK”.
- Não confirme toda ação.
- Não dependa só de vermelho.
- Não esconda o alcance.
- Não remova a recuperação.
- Não deixe o foco perdido.