Riepilogo e didascalia della tabella identici
Silktide controlla le tabelle che presentano sia un attributo summary sia una didascalia e segnala quelle in cui i due elementi dicono esattamente la stessa cosa. Ognuno ha uno scopo diverso, quindi duplicare uno nell'altro crea soltanto una ripetizione.
In , l'elemento <caption> è il titolo visibile della tabella, mentre l'attributo summary è una descrizione invisibile destinata a spiegare la struttura della tabella agli utenti che usano uno .
<!-- Problema: il riepilogo ripete semplicemente la didascalia -->
<table summary="Orari di apertura">
<caption>Orari di apertura</caption>
...
</table>
Perché è importante
Gli screen reader annunciano sia la didascalia sia il riepilogo quando l'ascoltatore raggiunge una tabella. Quando sono identici, lo stesso testo viene letto due volte: questo fa perdere tempo all'ascoltatore e suggerisce che il riepilogo sia stato compilato solo per spuntare una casella, anziché per essere d'aiuto. Un riepilogo utile aggiunge qualcosa che la didascalia non contiene: come è organizzata la tabella o qual è il modo migliore per leggerla.
Come risolvere il problema
- Rimuovere l'attributo
summarye mantenere la didascalia, oppure - Riscrivere il riepilogo in modo che completi la didascalia descrivendo la struttura della tabella:
<!-- Corretto: il riepilogo aggiunge informazioni strutturali -->
<table summary="Giorni nella prima colonna, orari del mattino e del pomeriggio nella seconda e nella terza colonna">
<caption>Orari di apertura</caption>
...
</table>
Si noti che l'attributo summary proviene da HTML 4 ed è obsoleto nell'HTML attuale, quindi rimuoverlo è spesso la scelta migliore a lungo termine. Un paragrafo visibile prima della tabella può fornire la stessa spiegazione a tutti.
Come Silktide esegue il controllo
- Individua ogni tabella in ciascuna pagina.
- Ignora le tabelle contrassegnate come presentazionali con
role="presentation". - Ignora le tabelle prive di un attributo
summaryo di un elemento<caption>. - Confronta i due testi, ignorando maiuscole, minuscole e spazi bianchi aggiuntivi, e segnala la tabella se sono identici.