⌨️ Teste de Navegação por Teclado
Verifica se sua página é completamente navegável apenas com teclado
Por que Testar com Teclado?
Se seu site só funciona com mouse, você está excluindo muita gente:
- 👥 Deficiência motora: Não conseguem usar mouse com precisão
- ⌨️ Poder e produtividade: Muitos preferem teclado (desenvolvedores inclusos)
- 📱 Mobile: Teclado em celular é lento; automação com teclado é melhor
- 🌐 Assistência tecnológica: Switches, joysticks, reconhecimento de voz - tudo se reduz para teclado
Teste simples: Coloque o mouse de lado e tente usar seu site usando APENAS teclado. Se não conseguir, seus usuários também não conseguem.
O que o Plugin Verifica
Indicador de Foco
Procura por: Elementos sem indicador visual de focus (outline, border, mudança de cor)
Problema: Usuários de teclado não sabem onde estão
Solução: Sempre adicionar outline ou style customizado visível
️ Tabindex Positivo
Procura por: Atributos tabindex com valores > 0
Problema: Pode quebrar a ordem natural de navegação
Solução: Use tabindex="-1" ou "0", nunca positivo
Keyboard Traps
Procura por: Modais/dropdowns sem botão de fechar visível
Problema: Focus fica preso, impossível avançar
Solução: Sempre fornecer forma de sair (ESC, fechar botão)
Elementos Focáveis
Procura por: Contagem de elementos interativos
Relatório mostra: Quantos elementos podem receber focus
Interpretação: Muito poucos? Pode haver interatividade quebrada
Exemplo: Problemas Comuns
Botão Customizado sem Focus
<div onclick="submitForm()">Enviar</div>
Problema: Div não é focável, teclado não consegue ativar
Solução: Usar Button ou Adicionar Acessibilidade
<button onclick="submitForm()">Enviar</button>
Ou se deve ser div:
<div role="button" tabindex="0" onclick="submitForm()" onkeydown="if(event.key==='Enter') submitForm()">Enviar</div>
Problema: Tab sem Sair (Keyboard Trap)
Modal aberto → Tab dentro do modal → Fica preso → Não consegue sair
Problema: Sem forma de fechar com teclado (ESC ou botão)
Solução: Fornecer Forma de Fechar
Modal com botão X [✕] ou Botão "Cancelar" + Suporte para ESC
onkeydown="if(event.key==='Escape') closeModal()"
Entendendo o Relatório
Exemplo de Relatório do Plugin
Elementos focáveis encontrados: 12
Elementos sem indicador de foco: 3
- Botão "Enviar" (linha 45)
- Link "Ver mais" (linha 102)
- Campo de busca (linha 156)
Problemas com tabindex: 0
Possíveis keyboard traps: 1 (modal #contact-form)
Como Interpretar
- Elementos sem indicador: Adicione CSS com :focus ou outline
- Tabindex positivo: Remova ou mude para 0/-1
- Keyboard traps: Teste manualmente apertando Tab repetidamente
Próximos Passos
- Leia o guia completo de testes manuais com teclado
- Pratique usando Tab, Enter, Escape em seu site
- Veja exemplos de código correto
- Use o plugin para validar suas correções