IDs de descrição ARIA ausentes
A Silktide verifica elementos que associam texto descritivo adicional a si mesmos referindo-se a outros elementos por ID e relata referências a IDs que não existem na página. Uma referência quebrada remove silenciosamente a descrição.
O atributo aria-describedby associa um
elemento a texto suplementar localizado em outra parte da página — texto de
ajuda abaixo de um campo de formulário ou uma explicação de um controle:
<!-- Problema: a referência diz "email-help", mas o id do parágrafo é "email-helpp" -->
<input type="email" aria-describedby="email-help">
<p id="email-helpp">Insira seu endereço de e-mail profissional</p>
Por que isso é importante
As descrições transmitem as orientações que evitam que as pessoas cometam erros — requisitos de formato, avisos e explicações das consequências. Um lê a descrição depois do nome do elemento, mas somente se a referência for resolvida. Quando ela não aponta para nada, o visitante recebe o campo sem suas orientações e não tem como saber que algo está faltando. Os visitantes que enxergam ainda veem o texto de ajuda ao lado do campo, então o problema passa por todas as revisões visuais — e é exatamente por isso que a verificação automatizada é importante neste caso.
Como corrigir
- Encontre o elemento que contém o texto descritivo e faça com que o valor de
aria-describedbycorresponda exatamente ao seuid(IDs diferenciam maiúsculas de minúsculas):
<!-- Corrigido: a referência corresponde ao id do parágrafo -->
<input type="email" aria-describedby="email-help">
<p id="email-help">Insira seu endereço de e-mail profissional</p>
- Se o elemento descritivo tiver sido removido, restaure-o ou remova o
atributo
aria-describedbyobsoleto. - Quando um elemento for descrito por vários outros, liste cada ID separado por espaços e verifique cada um deles.
Como a Silktide testa isso
- Encontra todos os elementos com um atributo
aria-describedbyem cada página. - Divide o valor do atributo em IDs individuais.
- Relata cada ID referenciado que não existe em nenhuma parte da página.