Limite de tempo ajustável
O que a norma pede
Quando há limite de tempo, a pessoa pode desligá-lo, ajustá-lo ou estendê-lo antes que acabe, a menos que o limite seja parte do próprio conteúdo, essencial ou maior que 20 horas.
Formas de atender
Basta uma delas. A primeira é a preferida; as demais são alternativas para exceções.
- Uma forma de atender: há um mecanismo para desligar, ajustar ou estender o limite antes que ele acabe.
- Exceções: o limite é intrínseco ao conteúdo (como um leilão ao vivo), é essencial ou é maior que 20 horas.
- 2.2.1 (A)
Parecido na NBR 17060
A NBR 17060 trata de aplicativos. Se o seu serviço também tem app, veja o que a Bússola da NBR 17060 diz sobre o mesmo assunto:
Visões por perfil
Escolha um perfil para ver o que o requisito pede de quem ocupa esse papel:
Evite limites de tempo em formulários longos e salve o progresso automaticamente. Quando houver limite, avise antes de a sessão expirar e ofereça a opção de estender.
Sessão do formulário de benefício
A sessão expira em 15 minutos.
Errado: Expira sem aviso
No fluxo
Após 15 minutos, volta ao login e perde os dados.
Quem precisa de mais tempo nunca conclui.
Certo: Aviso e extensão
No fluxo
Aos 13 minutos: “Sua sessão vai expirar. [Continuar conectado]”.
A pessoa estende com um toque.
Mostre um aviso acessível pelo menos 20 segundos antes do fim do tempo, que receba foco e permita estender a sessão com uma ação simples. Salve rascunhos para não perder dados.
Expiração da sessão
Implementação do tempo limite.
Errado: Corte seco
setTimeout(() => location.href = "/login", 15 * 60 * 1000);Dados perdidos sem aviso.
Certo: Aviso e extensão
setTimeout(() => dialogo.showModal(), 13 * 60 * 1000); botaoContinuar.onclick = () => renovarSessao();A pessoa decide continuar.
Revise a necessidade real de cada limite de tempo e exija aviso e extensão nos critérios de aceite. Acompanhe os abandonos causados por expiração de sessão.
Política de sessão
A segurança define sessões de 10 minutos.
Errado: Corte rígido
Decisão
10 minutos sem aviso nem extensão.
Muitos abandonam o serviço.
Certo: Segurança e acesso
Decisão
10 minutos com aviso e extensão; rascunho salvo.
Seguro e inclusivo.
Deixe a página parada até o limite de tempo e confira se o aviso aparece antes e é anunciado pelo leitor de tela. Estenda a sessão e verifique se os dados permanecem.
Formulário parado
Teste com leitor de tela.
Errado: Sem aviso
(15 minutos depois)
Página de login; dados perdidos
Não atende.
Certo: Com aviso
“Sua sessão expira em 2 minutos. Continuar conectado, botão”
Enter → sessão renovada
Atende.
No aviso, diga quanto tempo resta e o que acontece quando acabar, com um botão de ação clara, como “Continuar conectado”. Se o formulário tiver limite de tempo, informe isso no início.
Aviso de expiração
Mensagem antes de a sessão acabar.
Errado: Vago
Mensagem
“Tempo esgotando.” [OK]
Não diz o que fazer.
Certo: Claro
Mensagem
“Sua sessão vai expirar em 2 minutos. Seus dados estão salvos.” [Continuar conectado]
A pessoa sabe como continuar.