ID-er for tabelloverskrifter
Silktide kontrollerer tabeller som kobler cellene sine til overskrifter ved hjelp av headers-attributtet. I disse tabellene trenger hver overskriftscelle sin egen ID, ellers fungerer ikke koblingene.
I komplekse tabeller – for eksempel tabeller med to nivåer av overskrifter eller celler som går over flere rader – kan ikke forholdet mellom en celle og overskriftene bestemmes ut fra plasseringen alene. løser dette med headers-attributtet: hver datacelle oppgir id-verdiene til overskriftscellene som gjelder for den. Dette fungerer bare hvis hver overskriftscelle faktisk har en id.
<!-- Problem: den andre overskriften har ingen id, så celler kan ikke referere til den -->
<table>
<tr>
<th id="name">Navn</th>
<th>Poengsum</th>
</tr>
<tr>
<td headers="name">Ada</td>
<td>98</td>
</tr>
</table>
Hvorfor dette er viktig
Når en tabell bruker headers-koblinger, leser en de koblede overskriftene høyt før hver verdi, slik at lytteren kan holde oversikt over hvor de befinner seg i en kompleks tabell. En overskriftscelle uten en id kan ikke refereres til, så cellene under den kunngjøres uten kontekst, og tabellen blir basert på gjetting for alle som ikke kan se den.
Slik løser du det
- Gi hver
<th>-overskriftscelle i tabellen en unikid. - Oppdater hver datacelles
headers-attributt slik at det oppgir ID-ene til alle overskriftene som gjelder for den, atskilt med mellomrom:
<!-- Løst: hver overskrift har en id, og cellene refererer til dem -->
<table>
<tr>
<th id="name">Navn</th>
<th id="score">Poengsum</th>
</tr>
<tr>
<td headers="name">Ada</td>
<td headers="score">98</td>
</tr>
</table>
- Alternativt kan du vurdere å forenkle tabellen. Enkle tabeller med én rad eller kolonne med overskrifter trenger ikke
headers-koblinger i det hele tatt –<th>-celler medscope-attributter er tilstrekkelig og mye enklere å vedlikeholde.
Slik tester Silktide dette
- Finn alle tabeller på hver side.
- Hopp over tabeller der ingen celle bruker et
headers-attributt – denne kontrollen gjelder bare tabeller som har valgt eksplisitte overskriftskoblinger. - I de gjenværende tabellene rapporteres hver
<th>-overskriftscelle som ikke har etid-attributt.