Atributo accesskey
A Silktide encontra elementos que declaram um accesskey, uma forma antiga de atribuir ao elemento o seu próprio atalho de teclado. Esses atalhos estão sempre ativos e não podem ser desativados pelo visitante, o que causa mais problemas do que resolve.
Por que isso é importante
O atributo accesskey em cria um atalho de teclado de um
único caractere, que é acionado sempre que a tecla é pressionada. Isso entra
em conflito com a forma como muitas pessoas já usam o teclado:
pessoas que usam e navegadores reservam
combinações de teclas que podem se sobrepor, portanto um accesskey pode
substituir silenciosamente um atalho do qual alguém depende — e a combinação
de teclas que o aciona varia conforme o navegador e o sistema operacional.
Pessoas que digitam usando entrada de voz ou têm pouca destreza também podem
acionar o atalho acidentalmente.
O critério de sucesso 2.1.4 da (Atalhos de teclado de
caracteres, nível A) exige que os atalhos de um único caractere possam ser
desativados, remapeados ou acionados somente enquanto o elemento tiver
. Um accesskey não atende a nenhum
desses requisitos: está sempre ativado, e somente o site pode alterá-lo.
Como corrigir
- Remova o atributo
accesskey. Ele raramente oferece valor real, e sua remoção não altera nada visível na página.
<!-- Atalho sempre ativo que pode entrar em conflito com o do usuário -->
<a href="/search" accesskey="s">Pesquisar</a>
<!-- Corrigido: um link normal, acessível com Tab como todo o resto -->
<a href="/search">Pesquisar</a>
- Se você realmente precisar de atalhos de teclado, implemente-os para que o visitante possa desativá-los ou remapeá-los, ou para que só se apliquem enquanto o controle relevante estiver em foco.
Como a Silktide testa isso
- Encontra todos os elementos no HTML da página que declaram um atributo
accesskeycom um valor não vazio. - Relata cada um deles. Valores vazios (
accesskey="") são ignorados, pois algumas bibliotecas de componentes renderizam o atributo como uma operação nula e ele não cria nenhum atalho.
Solução de problemas
Adicionamos accesskeys para melhorar a acessibilidade
Essa já foi uma recomendação comum, mas a experiência mostrou que os conflitos com atalhos do navegador e de superam o benefício, e as orientações atuais recomendam evitar o atributo. Páginas bem estruturadas, com bons cabeçalhos e regiões, atendem melhor às pessoas que usam o teclado.
Atalhos implementados em JavaScript
Esta verificação abrange apenas o atributo accesskey. Os atalhos
implementados em scripts são abrangidos por
Atalhos de teclado de caracteres; as duas
verificações são complementares e podem aparecer na mesma página.