Avançar para o conteúdo
SilktideAjuda

IDs dos cabeçalhos da tabela

A Silktide verifica as tabelas que associam as células aos cabeçalhos usando o atributo headers. Nessas tabelas, cada célula de cabeçalho precisa do seu próprio ID, caso contrário, as associações não funcionarão.

Em tabelas complexas — por exemplo, tabelas com dois níveis de cabeçalhos ou células que abrangem várias linhas — a relação entre uma célula e os seus cabeçalhos não pode ser determinada apenas pela posição. O resolve isso com o atributo headers: cada célula de dados lista os valores de id das células de cabeçalho que se aplicam a ela. Isso só funciona se cada célula de cabeçalho tiver realmente um id.

<!-- Problema: o segundo cabeçalho não tem id, portanto as células não podem fazer referência a ele -->
<table>
  <tr>
    <th id="name">Nome</th>
    <th>Pontuação</th>
  </tr>
  <tr>
    <td headers="name">Ada</td>
    <td>98</td>
  </tr>
</table>

Por que isso é importante

Quando uma tabela usa associações headers, um lê em voz alta os cabeçalhos associados antes de cada valor, permitindo que a pessoa saiba onde está numa tabela complexa. Uma célula de cabeçalho sem um id não pode ser referenciada, portanto as células abaixo dela são anunciadas sem contexto, e a tabela torna-se uma questão de adivinhação para quem não consegue vê-la.

Como corrigir

  1. Dê a cada célula de cabeçalho <th> da tabela um id único.
  2. Atualize o atributo headers de cada célula de dados para listar os IDs de todos os cabeçalhos que se aplicam a ela, separados por espaços:
<!-- Corrigido: todos os cabeçalhos têm um id e as células fazem referência a eles -->
<table>
  <tr>
    <th id="name">Nome</th>
    <th id="score">Pontuação</th>
  </tr>
  <tr>
    <td headers="name">Ada</td>
    <td headers="score">98</td>
  </tr>
</table>
  1. Como alternativa, considere simplificar a tabela. Tabelas simples com uma única linha ou coluna de cabeçalhos não precisam de associações headers — as células <th> com atributos scope são suficientes e muito mais fáceis de manter.

Como a Silktide faz esta verificação

  1. Encontra todas as tabelas em cada página.
  2. Ignora as tabelas em que nenhuma célula usa um atributo headers — esta verificação só se aplica a tabelas que optaram por associações explícitas de cabeçalhos.
  3. Nas tabelas restantes, comunica todas as células de cabeçalho <th> que não têm um atributo id.

Saiba mais

Última atualização

Esta página foi útil?

IDs dos cabeçalhos da tabela | Ajuda da Silktide