Naar inhoud springen
SilktideHelp

ID's voor tabelkoppen

Silktide voert controles uit op tabellen die hun cellen met behulp van het headers-attribuut aan koppen koppelen. In deze tabellen heeft elke kopcel een eigen ID nodig, anders kunnen de koppelingen niet werken.

In complexe tabellen – bijvoorbeeld tabellen met twee niveaus koppen of cellen die meerdere rijen beslaan – kan de relatie tussen een cel en de bijbehorende koppen niet alleen op basis van de positie worden bepaald. lost dit op met het headers-attribuut: elke gegevenscel bevat de id-waarden van de kopcellen die erop van toepassing zijn. Dit werkt alleen als elke kopcel daadwerkelijk een id heeft.

<!-- Probleem: de tweede kop heeft geen id, dus cellen kunnen er niet naar verwijzen -->
<table>
  <tr>
    <th id="name">Naam</th>
    <th>Score</th>
  </tr>
  <tr>
    <td headers="name">Ada</td>
    <td>98</td>
  </tr>
</table>

Waarom dit belangrijk is

Wanneer een tabel headers-koppelingen gebruikt, leest een de gekoppelde koppen vóór elke waarde hardop voor. Zo kan de luisteraar bijhouden waar die zich in een complexe tabel bevindt. Een kopcel zonder id kan niet worden gekoppeld. Daardoor worden de cellen eronder zonder context aangekondigd en wordt de tabel giswerk voor iedereen die deze niet kan zien.

Zo lost u het op

  1. Geef elke <th>-kopcel in de tabel een unieke id.
  2. Werk het headers-attribuut van elke gegevenscel bij en vermeld daarin de ID's van alle koppen die erop van toepassing zijn, gescheiden door spaties:
<!-- Opgelost: elke kop heeft een id en cellen verwijzen ernaar -->
<table>
  <tr>
    <th id="name">Naam</th>
    <th id="score">Score</th>
  </tr>
  <tr>
    <td headers="name">Ada</td>
    <td headers="score">98</td>
  </tr>
</table>
  1. U kunt ook overwegen de tabel eenvoudiger te maken. Voor eenvoudige tabellen met één rij of kolom koppen zijn headers-koppelingen helemaal niet nodig – <th>-cellen met scope-attributen zijn voldoende en veel eenvoudiger te onderhouden.

Zo test Silktide dit

  1. Zoek alle tabellen op elke pagina.
  2. Sla tabellen over waarin geen enkele cel een headers-attribuut gebruikt – deze controle is alleen van toepassing op tabellen die expliciete kopkoppelingen gebruiken.
  3. Rapporteer in de overgebleven tabellen elke <th>-kopcel die geen id-attribuut heeft.

Meer informatie

Laatst bijgewerkt

Was deze pagina nuttig?