ID de aria-activedescendant ausente
A Silktide verifica todos os atributos aria-activedescendant nas suas páginas e confirma se o ID do elemento para o qual apontam realmente existe. Esse atributo indica à qual item dentro de um componente, como uma lista suspensa, está atualmente realçado.
<!-- Problema: nenhum elemento na página tem id="opt-2" -->
<ul role="listbox" aria-activedescendant="opt-2">
<li role="option" id="opt-1">Primeira opção</li>
</ul>
Por que isso é importante
Componentes como listas suspensas personalizadas, caixas de combinação e grades mantêm
o no contêiner e usam o
atributo aria-activedescendant da para indicar
qual item está ativo. Quando a referência aponta para um ID que não
existe, um usuário de não ouve
nada ao percorrer as opções — o componente parece não ter
nenhuma seleção, tornando-se inutilizável sem visão.
Como corrigir
- Faça o atributo referenciar o
iddo item atualmente ativo e atualize-o à medida que o usuário percorre o componente. - Se o componente renderizar novamente os itens, certifique-se de que os novos itens mantenham
IDs estáveis ou atualize
aria-activedescendantna mesma etapa. - Remova o atributo se o componente já não existir ou passar a gerir o foco diretamente.
Como a Silktide testa isso
- Encontra todos os elementos na página com um atributo
aria-activedescendant. - Verifica o ID referenciado em relação aos IDs dos elementos presentes na página.
- Comunica cada referência que não corresponde a nenhum elemento.
Resolução de problemas
O destino é criado posteriormente por um script
A Silktide testa a página enquanto ela é carregada. Se o elemento referenciado só existir
depois da interação do usuário, a referência continuará quebrada nesse intervalo — defina
aria-activedescendant somente quando o destino já existir.
Esta verificação não comunica nada, embora eu espere resultados
Os testes de ARIA podem ser desativados por site. Verifique as definições avançadas do site.