Avançar para o conteúdo
SilktideAjuda

Atributo ARIA obrigatório ausente

O Silktide verifica os elementos que declaram uma função ARIA e confirma se também fornecem os atributos exigidos por essa função. Algumas funções não podem ser usadas sem os respetivos atributos, como um controlo deslizante que nunca indica qual é o seu valor.

<!-- Problema: um controlo deslizante tem de expor o seu valor atual -->
<div role="slider" tabindex="0"></div>

<!-- Correção: forneça o estado obrigatório -->
<div role="slider" tabindex="0"
     aria-valuemin="0" aria-valuemax="100" aria-valuenow="50"></div>

Por que isso é importante

Atribuir uma função a um elemento é uma promessa: "isto é um controlo deslizante", "isto é uma caixa de seleção". Funções como estas exigem atributos de estado, porque, sem eles, a promessa fica vazia — uma pessoa utilizadora de um chega a uma caixa de seleção e não consegue saber se está selecionada, ou chega a um controlo deslizante e não consegue saber o seu valor ou intervalo. O controlo é anunciado, pode receber foco, mas é impossível de usar.

Como corrigir

  1. Adicione os atributos exigidos pela função e mantenha-os atualizados por script à medida que o estado do controlo muda — um aria-checked="false" estático numa caixa de seleção funcional é tão enganador quanto não ter atributo algum.
  2. Prefira elementos nativos quando existirem: <input type="checkbox"> e <input type="range"> expõem o respetivo estado automaticamente, sem necessidade de manter ARIA.

Como o Silktide faz esta verificação

  1. Encontra todos os elementos da página que declaram um atributo role.
  2. Consulta os atributos que a ARIA 1.2 exige para essa função — por exemplo, role="checkbox" exige aria-checked, e role="slider" exige aria-valuenow.
  3. Ignora os casos em que o elemento expõe o estado de forma nativa: uma caixa de seleção ou um botão de opção reais já incluem o respetivo estado de seleção, um <option> nativo inclui o respetivo estado de seleção, e um controlo deslizante com aria-valuetext pode omitir aria-valuenow.
  4. Comunica cada elemento que não tem um atributo obrigatório.

Resolução de problemas

Um script define o atributo depois de a página carregar

O Silktide verifica a página enquanto ela carrega. Se o seu widget só adicionar os atributos de estado na primeira interação, as pessoas ouvirão um controlo sem estado até esse momento — apresente o estado inicial diretamente na página.

Esta verificação não comunica nada, embora eu espere resultados

Os testes de ARIA podem ser desativados por website. Consulte as definições avançadas do website.

Saiba mais

Última atualização

Esta página foi útil?