Links para leitores de ecrã
A Silktide encontra elementos de ligação com uma estrutura incorreta, de formas que os tornam incompatíveis com — links sem texto legível, links sem destino e etiquetas de link vazias e isoladas deixadas na página.
Para que um link funcione com tecnologia de apoio, precisa de um destino (um atributo href) e de algo legível no seu interior:
<!-- Funciona: destino e texto legível -->
<a href="\/about">Sobre nós</a>
<!-- Funciona: um link de imagem com texto alternativo -->
<a href="\/apple"><img src="apple.png" alt="Apple"></a>
Por que motivo isto é importante
Um anuncia cada link pelo seu texto. Um link com um destino, mas sem texto, é anunciado apenas como "link" — o utilizador pode ativá-lo, mas não faz ideia de para onde conduz. Um link com texto, mas sem destino, parece clicável, mas não conduz a lado nenhum. Ambos os padrões quebram o contrato básico que permite às pessoas que utilizam tecnologia de apoio navegar numa página através dos respetivos links.
Como corrigir
- Para um link com um destino, mas sem texto legível: adicione texto dentro do link ou se este contiver apenas uma imagem.
- Para um link com texto, mas sem destino: adicione o
hrefem falta ou, se o elemento for realmente um destino para o qual outros links devem saltar, mova o respetivoidpara um elemento que não seja um link:
<!-- Âncora de destino antiga, não recomendada em HTML5 -->
<a name="example"></a>
<!-- Preferível: um id num elemento normal -->
<div id="example">...</div>
- Para etiquetas
<a></a>vazias e sem atributos: remova-as, pois não têm qualquer utilidade. Muitas vezes são deixadas por editores ou scripts. - Se o elemento for realmente um botão — desencadeia uma ação em vez de navegar — utilize um elemento
<button>ou adicionerole="button"à etiqueta existente.
Como a Silktide testa isto
- Encontra todos os elementos
<a>na página e lê o respetivo texto (incluindo texto alternativo de imagens e texto adicionado por CSS), o respetivohrefe quaisquer atributosidouname. - Assinala três padrões problemáticos:
- Um link com um
href, mas sem texto legível. - Um elemento com texto e um
idouname, mas semhref— um destino que se apresenta como link ou um link sem o destino. - Uma âncora completamente vazia, sem texto,
href,idouname.
- Um link com um
- Dois padrões não são deliberadamente assinalados:
<a>com texto, mas semhref,idouname— o HTML5 permite isto como um "link de marcador", normalmente preenchido posteriormente por .- Âncoras vazias com um
idouname, mas semhref— são destinos de salto antigos, não links.