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

  1. Leia o guia completo de testes manuais com teclado
  2. Pratique usando Tab, Enter, Escape em seu site
  3. Veja exemplos de código correto
  4. Use o plugin para validar suas correções