Hoppa till innehåll
SilktideHjälp

Cellrubriker

Silktide kontrollerar tabellceller som anger sina rubriker med attributet headers och verifierar att varje ID som de hänvisar till faktiskt finns. En hänvisning till ett saknat ID bryter i tysthet kopplingen mellan en cell och dess rubrik.

I komplexa tabeller kan varje datacell innehålla ett headers-attribut med en lista över id-värdena för de rubrikceller som gäller för den. Om ett ID är felstavat, eller om rubriken som det hänvisade till har bytt namn eller tagits bort, slutar kopplingen tyst att fungera.

<!-- Problem: no element with id="prise" exists (typo for "price") -->
<td headers="prise">$40</td>

Varför detta är viktigt

En använder headers-kopplingar för att läsa upp rätt rubriker före varje värde. Det är så någon som inte kan se tabellen kan hålla reda på vad varje siffra betyder. När en hänvisning inte leder någonstans läses cellen upp utan sitt sammanhang, och lyssnaren har inget sätt att veta att något saknas – tabellen blir helt enkelt svårare eller omöjlig att följa.

Brutna hänvisningar uppstår vanligtvis med tiden: en rubriks id byter namn, en kolumn tas bort eller ett genererar om ID:n. Inget förändras visuellt, så utan automatiska kontroller märker ingen det.

Så här åtgärdar du problemet

  1. Leta reda på cellens headers-attribut och jämför varje angivet ID med id-attributen för tabellens rubrikceller.
  2. Rätta eventuella stavfel eller uppdatera listan med rubrikens aktuella id.
  3. Om en hänvisad rubrik inte längre finns tar du bort det gamla ID:t från listan.
  4. Om tabellen är enkel – en rad eller kolumn med rubriker – kan du överväga att ta bort headers-kopplingarna helt och använda <th>-celler med scope-attribut i stället. Då kan detta fel inte uppstå på samma sätt.
<!-- Fixed: the reference matches a real heading -->
<th id="price">Price</th>
...
<td headers="price">$40</td>

Så här testar Silktide detta

  1. Hitta alla tabellceller med ett headers-attribut på varje sida.
  2. Dela upp attributvärdet i enskilda ID:n.
  3. Slå upp varje ID var som helst på sidan.
  4. Rapportera varje cell som hänvisar till minst ett ID som inte finns.

Felsökning

ID:t finns men cellen rapporteras fortfarande

Kontrollera problem med exakt matchning: ID:n är skiftlägeskänsliga, så Price och price är olika ID:n. Kontrollera också att listan endast avgränsas med blanksteg – kommatecken eller annan interpunktion blir en del av ID:t och förhindrar uppslagningen.

Läs mer

Senast uppdaterad

Var den här sidan hjälpsam?