Vai al contenuto
SilktideAiuto

Ambiti delle intestazioni delle tabelle

Silktide esegue un controllo per verificare che ogni cella di intestazione di una tabella dichiari a cosa si riferisce: a una colonna, a una riga o a un gruppo di colonne o righe. In questo modo, le sanno a quali celle si applica ogni intestazione.

In , una cella di intestazione <th> può fungere da intestazione per una colonna, una riga o un gruppo di colonne o righe. L'attributo scope specifica quale di questi elementi, eliminando ogni ambiguità sulla struttura della tabella.

<!-- Problema: non è specificato se "Name" è l'intestazione di una colonna o di una riga -->
<th>Name</th>

<!-- Correzione: scope lo rende esplicito -->
<th scope="col">Name</th>

Perché è importante

Uno annuncia le intestazioni pertinenti insieme a ogni cella mentre l'utente attraversa una tabella. Per farlo, deve sapere a quali celle si riferisce ogni intestazione. Nelle tabelle che hanno sia intestazioni di colonna sia intestazioni di riga, o intestazioni che si estendono su gruppi di celle, un'intestazione senza un ambito costringe lo screen reader a indovinare; e quando sbaglia, i valori vengono annunciati con il contesto sbagliato o senza alcun contesto.

Come risolvere il problema

Aggiungi un attributo scope a ogni cella <th>. I valori validi sono:

  • col: l'intestazione si applica alla colonna sottostante.
  • row: l'intestazione si applica alla riga accanto.
  • colgroup: l'intestazione si applica a un gruppo di colonne.
  • rowgroup: l'intestazione si applica a un gruppo di righe.
<table>
  <tr>
    <th scope="col">Name</th>
    <th scope="col">Age</th>
  </tr>
  <tr>
    <th scope="row">Bob</th>
    <td>35</td>
  </tr>
</table>

Come Silktide esegue il controllo

  1. Individua ogni cella di intestazione <th> in ogni pagina.
  2. Segnala quelle il cui attributo scope manca o non corrisponde a uno di row, col, rowgroup o colgroup.

Risoluzione dei problemi

La mia tabella semplice funziona anche senza ambiti

Per una tabella con una sola riga superiore di intestazioni, i browser e gli screen reader possono generalmente dedurne la struttura. Gli ambiti espliciti eliminano comunque ogni ambiguità, non hanno alcun costo e ti proteggono se in seguito la tabella diventa più complessa; per questo Silktide li richiede per ogni cella di intestazione. Se decidi che una determinata tabella va bene così com'è, puoi il risultato.

Scopri di più

Ultimo aggiornamento

Questa pagina è stata utile?