Avançar para o conteúdo
SilktideAjuda

Função pai ARIA em falta

A Silktide verifica elementos cuja função ARIA só faz sentido dentro de um tipo específico de contentor, como um separador que tem de estar dentro de uma faixa de separadores, e verifica se o contentor necessário está presente.

<!-- Problema: um separador sem uma lista de separadores à sua volta -->
<button role="tab">Visão geral</button>

<!-- Correção: envolver os separadores no contentor necessário -->
<div role="tablist">
  <button role="tab">Visão geral</button>
</div>

Porque é importante

As funções dos itens em são definidas pelo seu contexto: um tab é o terceiro de cinco separadores, uma option é uma escolha numa lista, e uma row faz parte de uma tabela. Os obtêm a posição, a quantidade e o comportamento de navegação a partir do widget pai. Sem este, o item pode ser identificado incorretamente, anunciado sem qualquer contexto ou totalmente ignorado — o autor adicionou metade de um widget, e os utilizadores não obtêm nenhuma das metades de forma fiável.

Como corrigir

  1. Envolva o elemento num contentor com a função necessária — por exemplo, coloque elementos com role="tab" dentro de um role="tablist".
  2. Se o pai não puder envolver fisicamente os elementos filhos no código, adicione aria-owns ao pai lógico para os adotar.
  3. Se o elemento não for realmente esse tipo de item, remova ou corrija a sua função.

Combinações comuns: tab precisa de tablist; option precisa de listbox; menuitem precisa de menu ou menubar; radio num grupo ARIA precisa de radiogroup; treeitem precisa de tree; row precisa de grid, table, treegrid ou rowgroup; as células e os cabeçalhos precisam de row.

Como a Silktide testa isto

  1. Encontra todos os elementos cuja função ARIA requer uma função pai específica.
  2. Percorre os antecessores do elemento, seguindo também qualquer adoção através de aria-owns, à procura de um elemento com uma função pai necessária.
  3. Comunica os elementos para os quais não foi encontrado nenhum antecessor desse tipo.

Resolução de problemas

A função pai está num elemento com uma função implícita

Os elementos nativos contam: um <option> dentro de um <select> não precisa de funções explícitas, porque ambos têm implicitamente as funções corretas. Os resultados aparecem quando é utilizada uma função de item explícita sem qualquer pai qualificável, explícito ou implícito.

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.

Saiba mais

Última atualização

Esta página foi útil?