Links de marcador de posição
A Silktide encontra links que apontam para #, um endereço da Web que significa "o topo desta página". Normalmente, são marcadores de posição — links adicionados antes de o destino existir e que nunca foram atualizados — ou links sequestrados para acionar scripts.
<!-- Marcador de posição deixado para trás: não leva a lugar útil -->
<a href="#">Ler mais</a>
<!-- Link usado indevidamente para executar um script -->
<a href="#" onclick="openMenu()">Menu</a>
Por que isso é importante
Um visitante que clica em um link # espera ir para algum lugar; em vez disso, a página apenas rola até o topo, o que dá a impressão de que está quebrada. Quando o padrão é usado para acionar , ele também induz a tecnologia assistiva ao erro: um o anuncia como um link, prometendo navegação, quando na verdade ele se comporta como um botão — e, se os scripts não forem carregados, não faz nada.
Esses links tendem a ser sobras: um modelo enviado com navegação de marcador de posição ou um link de "em breve" que ninguém revisitou.
Como corrigir
- Se o link deveria levar a algum lugar, aponte o
hrefpara o destino real. - Se ele aciona um script, substitua-o por um
<button>, que é o que a espera para ações:
<!-- Antes: um link que finge ser um botão -->
<a href="#" onclick="openMenu()">Menu</a>
<!-- Depois: um botão real, estilizado como você quiser -->
<button onclick="openMenu()">Menu</button>
- Se o link não tem nenhuma finalidade, remova-o ou substitua-o por texto simples.
- Se um link
#for realmente intencional — por exemplo, inserido por uma estrutura que o aprimora de forma confiável — a ocorrência para que ela não seja sinalizada novamente.
Como a Silktide testa isso
- Encontra todos os links convencionais em cada página.
- Gera um relatório para cada link cujo
hrefseja exatamente#.
Links para posições nomeadas na página, como #news, são legítimos e não são sinalizados.
Solução de problemas
O link funciona porque o JavaScript o trata
Ele funciona para usuários do mouse enquanto os scripts são carregados corretamente, mas ainda é anunciado como um link para a tecnologia assistiva e ainda rola até o topo quando o script falha. Um <button> se comporta corretamente em todos esses casos; se não for viável alterar a marcação, aprove a ocorrência.
O # vem de uma estrutura ou de um componente de CMS
Componentes de menu e abas em algumas estruturas e temas de geram href="#" por padrão. Consulte a documentação do componente para saber como renderizar um botão ou um destino real.