Utdatert scope-attributt
Silktide kontrollerer om scope-attributter er plassert på vanlige dataceller i tabeller. Scope-attributtet beskriver hva en overskrift gjelder for, så det hører bare hjemme på overskriftsceller. På en datacelle er det utdatert og kan villede hjelpemiddelteknologi.
I er scope definert for overskriftsceller med <th>. Når det plasseres på en datacelle med <td>, betyr det vanligvis én av to ting: Cellen er egentlig en overskrift og bør være en <th>, eller attributtet er blitt stående igjen fra gammel kode og bør fjernes.
<!-- Problem: scope på en datacelle -->
<td scope="col">Navn</td>
Hvorfor dette er viktig
En danner seg et bilde av en tabell basert på oppmerkingen. Et scope-attributt på en datacelle er et motstridende signal: Elementet sier «Jeg er data», mens attributtet sier «Jeg merker andre celler». Ulike håndterer denne motsetningen forskjellig – noen ignorerer attributtet, mens andre behandler cellen som en overskrift – slik at tabellen kan bli lest opp med feil eller uensartede overskrifter, avhengig av hvilken programvare den besøkende bruker.
Slik løser du det
Finn ut hva cellen egentlig er:
- Hvis den fungerer som en overskrift, endrer du den til en
<th>og beholder en gyldigscope-verdi (row,col,rowgroupellercolgroup):
<!-- Løst: overskriften er en ekte overskriftscelle -->
<th scope="col">Navn</th>
- Hvis den inneholder vanlige data, fjerner du
scope-attributtet fullstendig:
<!-- Løst: vanlig datacelle -->
<td>Navn</td>
Slik tester Silktide dette
- Finn alle tabellceller på hver side.
- Rapporter hver datacelle med
<td>som har etscope-attributt, uansett hvilken verdi det har.