Celleoverskrifter
Silktide tjekker tabelceller, der angiver deres overskrifter ved hjælp af attributten headers, og bekræfter, at hvert ID, de henviser til, faktisk findes. En henvisning til et manglende ID afbryder uden varsel forbindelsen mellem en celle og dens overskrift.
I komplekse tabeller kan hver datacelle have en headers-attribut, der angiver id-værdierne for de overskriftsceller, der gælder for den. Hvis et ID er stavet forkert, eller overskriften, det pegede på, er blevet omdøbt eller fjernet, holder tilknytningen stille op med at virke.
<!-- Problem: Der findes intet element med id="prise" (tastefejl for "price") -->
<td headers="prise">$40</td>
Derfor er det vigtigt
En bruger headers-tilknytninger til at annoncere de korrekte overskrifter før hver værdi. Det er sådan, en person, der ikke kan se tabellen, holder styr på, hvad hvert tal betyder. Når en henvisning ikke peger på noget, annonceres cellen uden sin kontekst, og lytteren har ingen mulighed for at vide, at noget mangler – tabellen bliver ganske enkelt sværere eller umulig at følge.
Brudte henvisninger opstår som regel med tiden: En overskrifts id omdøbes, en kolonne slettes, eller et genererer ID'er igen. Intet ændrer sig visuelt, så uden automatiseret tjek opdager ingen det.
Sådan retter du det
- Find cellens
headers-attribut, og sammenlign hvert angivet ID medid-attributterne for tabellens overskriftsceller. - Ret eventuelle tastefejl, eller opdater listen til overskriftens nuværende
id. - Hvis en refereret overskrift ikke længere findes, skal du fjerne det forældede ID fra listen.
- Hvis tabellen er enkel – én række eller kolonne med overskrifter – kan du overveje helt at fjerne
headers-tilknytninger og i stedet bruge<th>-celler medscope-attributter, som ikke kan gå i stykker på denne måde.
<!-- Rettet: Henvisningen matcher en eksisterende overskrift -->
<th id="price">Pris</th>
...
<td headers="price">$40</td>
Sådan tester Silktide dette
- Find alle tabelceller med en
headers-attribut på hver side. - Opdel attributværdien i individuelle ID'er.
- Slå hvert ID op hvor som helst på siden.
- Rapporter hver celle, der henviser til mindst ét ID, som ikke findes.
Fejlfinding
ID'et findes, men cellen rapporteres stadig
Kontrollér problemer med nøjagtige match: ID'er skelner mellem store og små bogstaver, så Price og price er forskellige ID'er. Bekræft også, at listen kun er adskilt med mellemrum – kommaer eller anden tegnsætning bliver en del af ID'et og forhindrer opslaget.