Avançar para o conteúdo
SilktideAjuda

Função filha ARIA ausente

A Silktide verifica widgets de contêiner criados com funções ARIA, como barras de abas, menus e caixas de listagem, e confirma que cada um contém o tipo de item que deve conter. Uma barra de abas sem abas, ou um menu sem itens de menu, é anunciado como um widget, mas não oferece nada para operar.

<!-- Problema: uma tablist deve conter elementos com role="tab" -->
<div role="tablist">
  <button>Visão geral</button>
</div>

<!-- Correção: atribua aos elementos filhos a função necessária -->
<div role="tablist">
  <button role="tab">Visão geral</button>
</div>

Por que isso é importante

As funções compostas de descrevem um widget como um todo: tablist promete abas, listbox promete opções e menu promete itens de menu. Os ativam uma navegação especializada para esses widgets, esperando encontrar os elementos filhos prometidos. Quando os elementos filhos não têm suas funções, o widget é anunciado e depois se comporta como uma estrutura vazia — os usuários conseguem acessá-lo, mas não encontram nada dentro dele, enquanto os usuários que enxergam veem um controle totalmente funcional.

Como corrigir

  1. Adicione a função necessária a cada item dentro do contêiner — por exemplo, role="tab" a cada controle dentro de um role="tablist".
  2. Se os itens precisarem ficar em outra parte do código, conecte-os com aria-owns no contêiner.
  3. Se o contêiner não for realmente esse tipo de widget, remova ou corrija sua função.

Combinações comuns: tablist precisa de tab; listbox precisa de option; menu e menubar precisam de menuitem (ou de suas variantes checkbox e radio); radiogroup precisa de radio; tree precisa de treeitem; grid e table precisam de row; row precisa de células ou cabeçalhos.

Como a Silktide faz essa verificação

  1. Encontra todos os elementos cuja função ARIA exige funções filhas específicas.
  2. Pesquisa nos descendentes, incluindo os elementos adotados com aria-owns, pelo menos um elemento com uma função filha necessária.
  3. Relata os contêineres em que nenhum é encontrado.

Solução de problemas

Os itens são carregados posteriormente por um script

A Silktide testa a página enquanto ela é carregada. Se uma caixa de listagem ou um menu for preenchido somente quando necessário, será anunciado como vazio até esse momento; sempre que possível, renderize pelo menos os itens iniciais junto com a página.

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

Os testes de ARIA podem ser desativados por site. Verifique as configurações avançadas do site.

Saiba mais

Última atualização

Esta página foi útil?

Função filha ARIA ausente | Ajuda da Silktide