Atributo ARIA proibido
A Silktide verifica se todos os atributos ARIA nas suas páginas são suportados pela função do elemento. Os atributos que uma função não suporta, assim como os atributos que não fazem parte da norma ARIA, são ignorados pelos navegadores — o comportamento pretendido pelo autor nunca acontece.
<!-- Problema: aria-checked não significa nada num botão -->
<button aria-checked="true">Negrito</button>
<!-- Correção: use uma função que suporte o estado de que precisa -->
<button role="switch" aria-checked="true">Negrito</button>
Porque é importante
Cada função suporta um conjunto específico de estados e propriedades, e os navegadores descartam tudo o que estiver fora desse conjunto. A página parece então correta na revisão do código, enquanto os utilizadores de não recebem nada: um controlo cuja mudança de estado nunca é anunciada, uma descrição que nunca é lida. Esta categoria também deteta atributos escritos incorretamente, como aria-lable — o caso mais prejudicial, porque o autor acredita que existe uma etiqueta e o utilizador de um não recebe nenhuma.
Como corrigir
- Corrija os nomes dos atributos escritos incorretamente (
aria-labledeve seraria-label,aria-labeledbydeve seraria-labelledby). - Se o atributo estiver correto, mas não for suportado, altere a função do elemento para uma que o suporte — ou pondere se um elemento nativo já fornece esse comportamento.
- Se o atributo não tiver nenhuma utilidade, remova-o.
Como a Silktide faz esta verificação
- Encontra todos os elementos da página que tenham pelo menos um atributo
aria-. - Determina o conjunto de atributos ARIA válidos para esse elemento: os atributos globais que funcionam em qualquer lugar (como
aria-labelearia-hidden), além dos atributos suportados pela função do elemento. - Comunica os nomes de atributos que não fazem parte da ARIA 1.2 — normalmente, erros de escrita.
- Comunica os atributos reconhecidos utilizados num elemento cuja função não os suporta, ou que exigem uma função que o elemento não tem.
Os atributos obsoletos são comunicados separadamente por Atributo ARIA obsoleto, e os valores dos atributos são validados por Valor de atributo ARIA inválido.
Resolução de problemas
O atributo funciona nos meus testes
Algumas combinações de leitores de ecrã e navegadores toleram combinações não normalizadas que outras descartam. A conformidade com a norma é o que torna o comportamento previsível em todas as tecnologias de apoio que não pode testar.
Esta verificação não comunica nada, embora eu espere resultados
Os testes ARIA podem ser desativados por website. Verifique as definições avançadas do website.