Attributo scope obsoleto
Silktide controlla la presenza di attributi scope nelle celle di dati ordinarie delle tabelle. L'attributo scope descrive a cosa si applica un'intestazione, quindi dovrebbe essere usato solo nelle celle di intestazione; in una cella di dati è obsoleto e può fuorviare le tecnologie assistive.
In , scope è definito per le celle di intestazione <th>. Inserirlo in una cella di dati <td> di solito significa una di queste due cose: la cella è in realtà un'intestazione e dovrebbe essere un elemento <th>, oppure l'attributo è rimasto da un vecchio markup e dovrebbe essere rimosso.
<!-- Problema: scope in una cella di dati -->
<td scope="col">Name</td>
Perché è importante
Uno costruisce la propria rappresentazione di una tabella a partire dal markup. Un attributo scope in una cella di dati è un segnale contraddittorio: l'elemento dice "sono dati", mentre l'attributo dice "etichetto altre celle". Le diverse risolvono questa contraddizione in modo diverso: alcune ignorano l'attributo, altre trattano la cella come un'intestazione. Di conseguenza, la tabella può essere annunciata con intestazioni errate o incoerenti, a seconda del software utilizzato dal visitatore.
Come risolvere il problema
Decidi cosa rappresenta realmente la cella:
- Se funge da intestazione, trasformala in un elemento
<th>e mantieni un valorescopevalido (row,col,rowgroupocolgroup):
<!-- Corretto: l'intestazione è una vera cella di intestazione -->
<th scope="col">Name</th>
- Se contiene dati ordinari, rimuovi completamente l'attributo
scope:
<!-- Corretto: semplice cella di dati -->
<td>Name</td>
Come esegue il controllo Silktide
- Individua ogni cella di tabella in ciascuna pagina.
- Segnala ogni cella di dati
<td>che contiene un attributoscope, indipendentemente dal suo valore.