Escopos dos cabeçalhos de tabela
A Silktide verifica se cada célula de cabeçalho de tabela declara a que ela se refere — uma coluna, uma linha ou um grupo delas. Isso informa à a que células cada cabeçalho se aplica.
Em , uma célula de cabeçalho <th> pode encabeçar uma coluna, uma linha ou um grupo de colunas ou linhas. O atributo scope indica qual é o caso, eliminando qualquer ambiguidade sobre a estrutura da tabela.
<!-- Problema: nada indica se "Name" encabeça uma coluna ou uma linha -->
<th>Name</th>
<!-- Corrigido: o scope torna isso explícito -->
<th scope="col">Name</th>
Por que isso é importante
Um anuncia os cabeçalhos relevantes junto com cada célula à medida que a pessoa percorre uma tabela. Para fazer isso, ele precisa saber a que células cada cabeçalho se aplica. Em tabelas que têm cabeçalhos de coluna e de linha, ou cabeçalhos que abrangem grupos de células, um cabeçalho sem um escopo força o leitor de tela a adivinhar — e, quando ele erra, os valores são anunciados com o contexto errado ou sem contexto algum.
Como corrigir
Adicione um atributo scope a cada célula <th>. Os valores válidos são:
col— o cabeçalho se aplica à coluna abaixo dele.row— o cabeçalho se aplica à linha ao lado dele.colgroup— o cabeçalho se aplica a um grupo de colunas.rowgroup— o cabeçalho se aplica a um grupo de linhas.
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<th scope="row">Bob</th>
<td>35</td>
</tr>
</table>
Como a Silktide faz esta verificação
- Encontra cada célula de cabeçalho
<th>em cada página. - Relata cada uma cujo atributo
scopeesteja ausente ou não seja um destes valores:row,col,rowgroupoucolgroup.
Solução de problemas
Minha tabela simples funciona bem sem escopos
Em uma tabela com uma única linha superior de cabeçalhos, navegadores e leitores de tela geralmente conseguem inferir a estrutura. Os escopos explícitos ainda eliminam toda ambiguidade, não têm custo e protegem você quando a tabela se tornar mais complexa, por isso a Silktide os solicita em cada célula de cabeçalho. Se você decidir que uma determinada tabela está adequada como está, poderá o resultado.