Gå til indhold
SilktideHjælp

Forældet scope-attribut

Silktide tjekker for scope-attributter på almindelige dataceller i tabeller. scope-attributten beskriver, hvad en overskrift gælder for, så den hører kun til på overskriftsceller. På en datacelle er den forældet og kan vildlede hjælpeteknologi.

I er scope defineret for <th>-overskriftsceller. Hvis den sættes på en <td>-datacelle, betyder det som regel én af to ting: Cellen er i virkeligheden en overskrift og bør være en <th>, eller attributten er efterladt fra gammel markup og bør fjernes.

<!-- Problem: scope på en datacelle -->
<td scope="col">Navn</td>

Hvorfor det er vigtigt

En danner sit billede af en tabel ud fra markup. En scope-attribut på en datacelle er et modstridende signal: Elementet siger "Jeg er data", mens attributten siger "Jeg mærker andre celler". Forskellige løser denne modstrid forskelligt – nogle ignorerer attributten, mens andre behandler cellen som en overskrift – så tabellen kan blive annonceret med forkerte eller inkonsekvente overskrifter, afhængigt af hvilken software den besøgende bruger.

Sådan løser du det

Afgør, hvad cellen reelt er:

  1. Hvis den fungerer som en overskrift, skal du ændre den til en <th> og beholde en gyldig scope-værdi (row, col, rowgroup eller colgroup):
<!-- Løst: overskriften er en rigtig overskriftscelle -->
<th scope="col">Navn</th>
  1. Hvis det er almindelige data, skal du fjerne scope-attributten helt:
<!-- Løst: almindelig datacelle -->
<td>Navn</td>

Sådan tester Silktide dette

  1. Find alle tabelceller på hver side.
  2. Rapportér hver <td>-datacelle, der har en scope-attribut, uanset dens værdi.

Få mere at vide

Sidst opdateret

Var denne side nyttig?

Forældet scope-attribut | Silktide Hjælp