Omfang for tabeloverskrifter
Silktide tjekker, at hver overskriftscelle i en tabel angiver, hvad den er en overskrift for – en kolonne, en række eller en gruppe af dem. Det fortæller , hvilke celler hver overskrift gælder for.
I kan en <th>-overskriftscelle være overskrift for en kolonne, en
række eller en gruppe af kolonner eller rækker. Attributten scope angiver hvilken,
hvilket fjerner enhver tvivl om tabellens struktur.
<!-- Problem: intet angiver, om "Navn" er overskrift for en kolonne eller en række -->
<th>Navn</th>
<!-- Løst: scope gør det eksplicit -->
<th scope="col">Navn</th>
Hvorfor det er vigtigt
En annoncerer de relevante overskrifter sammen med hver celle, når brugeren bevæger sig gennem en tabel. For at kunne gøre det skal den vide, hvilke celler hver overskrift gælder for. I tabeller, der har både kolonne- og rækkeoverskrifter eller overskrifter, der spænder over grupper af celler, tvinger en overskrift uden scope skærmlæseren til at gætte – og når den gætter forkert, annonceres værdier med forkert kontekst eller slet ingen.
Sådan løser du det
Tilføj en scope-attribut til hver <th>-celle. De gyldige værdier er:
col– overskriften gælder for kolonnen under den.row– overskriften gælder for rækken ved siden af den.colgroup– overskriften gælder for en gruppe af kolonner.rowgroup– overskriften gælder for en gruppe af rækker.
<table>
<tr>
<th scope="col">Navn</th>
<th scope="col">Alder</th>
</tr>
<tr>
<th scope="row">Bob</th>
<td>35</td>
</tr>
</table>
Sådan tester Silktide dette
- Find hver
<th>-overskriftscelle på hver side. - Rapportér hver celle, hvis
scope-attribut mangler eller ikke er en afrow,col,rowgroupellercolgroup.
Fejlfinding
Min enkle tabel fungerer fint uden scope
For en tabel med én øverste række af overskrifter kan browsere og skærmlæsere normalt udlede strukturen. Eksplicitte scope-værdier fjerner stadig al tvivl, koster intet og beskytter dig, når tabellen senere gøres mere kompleks, så Silktide beder om dem på hver overskriftscelle. Hvis du beslutter, at en bestemt tabel er fin, som den er, kan du fundet.