Een tabel toegankelijk maken in 5 stappen
Jaap van de Putte, 2 use it12 juni 2011
In het algemeen kun je op het web beter geen tabel gebruiken. Maar als het toch moet, dan kan dit artikel je helpen om de tabel ook toegankelijk te maken. Daarmee wordt de tabel toegankelijk voor mensen die spraak- en/of braille-uitvoer gebruiken. De aanpassingen zijn niet moeilijk, maar enige HTML-kennis is wel nodig. In 5 stappen leg ik hoe je van complexe tabel een toegankelijke tabel kunt maken. Geen zin om uitgebreid te lezen? Bekijk dan alleen de checklist hier direct onder.
Checklist opmaak toegankelijke tabel
Vooraf: Gebruik liever geen tabel. Kijk of een tabel wel echt nodig is.
- Splits een grote tabel in meerdere kleine tabellen.
- Geef de tabel een kop en een samenvatting. Een kop kan met een heading (h1, h2, h3 enzovoort). Het gebruik van de caption-tag is niet nodig. Plaats onder de titel van de tabel - indien nodig - een samenvatting. Gebruik van het summary-attribuut is niet nodig.
- Voeg rij- en kolomkoppen toe met <th>.
- Geef het bereik van de kop aan met het scope-attribuut, dus bijvoorbeeld <th scope="col">.
- Voorkom het samenvoegen van cellen. Mogelijkheden:
- Splits de cel op en herhaal de kop in elke cel
- Combineer de inhoud van meerdere cellen.
Uitgangssituatie
We gaan uit van een bestaande tabel op een website van een waterschap. De tabel ziet er als volgt uit:

Voorbeeld van de tabel die we toegankelijk gaan maken
Het is een complexe tabel, onder andere omdat deze groot is en omdat kolommen zijn samengevoegd. We gaan deze tabel in stapjes omzetten naar een toegankelijke tabel.
Stap 1: Splits tabel
De tabel wordt een stuk eenvoudiger door deze op te splitsen in verschillende tabellen. Van één tabel maken we 5 tabellen. De titel - die nu in een samengevoegde cel staat - plaatsen we boven (en buiten) de tabel.
De eerste tabel ziet er dan zo uit:

Kleine tabel, opgeknipt uit de grote tabel
Stap 2: Geef de tabel goede kop en samenvatting
In veel gevallen is een titel en samenvatting bij een tabel handig. Zo ook bij de tabel uit stap 1.
Een titel op het web is in feite een hele korte samenvatting van de inhoud die er onder staat, in dit geval de inhoud van de tabel. De titel kan als <caption> bij de tabel, maar wij kiezen voor een heading (h2), zodat deze ook wordt meegenomen in de headingslist bij spraak- en brailleuitvoer. Mogelijk is een heading voor zoekmachines ook beter.
De tabel hierboven (bij stap 1) heeft als titel: Gebruikers (ingezetenen). Deze titel vinden wij niet voldoende begrijpelijk. "Ingezetenen" is ons inziens organisatie-jargon en niet een woord dat hoort bij de woordenschat van de gemiddelde bezoeker.
Om direct duidelijk te maken waar de tabel over gaat voegen wij ook een samenvatting toe, direct onder de titel. Let op dat een samenvatting geen inleiding is, maar echt een samenvatting, dus kernachtig de inhoud van de tabel samenvat. Zie de uitwerking hieronder.
Inwoners
Mensen die wonen in het gebied van het waterschap zijn inwoners. Het waterschap noemt hen ook gebruikers of ingezetenen. De tarieven worden berekend per huishouden. Een gezin met 3 kinderen, dat in één huis woont, betaalt dus hetzelfde als een alleenstaand iemand.
Voorbeeld van een titel en samenvatting bij tabel
Stap 3: Voeg rij- en kolomkoppen toe met <th>
Als 3e stap voegen we rij- en kolomkoppen toe. Het is namelijk nodig voor spraak- en braille-uitvoer om aan te geven of de inhoud van een tabelcel een kop bevat of de gegevens.
Bij de tabel bij stap 2 zijn de rij-koppen Verontreinigingsheffing, Zuiveringsheffing, Watersysteemheffing en Wegenheffing.
In de HTML van een tabel wordt voor een cel normaal een <td> (table data) gebruikt. Voor kolom- en rij-koppen moet je daar een <th> (table header) van maken. We maken direct de tekst wat korter: in plaats van "van de WOZ-waarde" maken we "WOZ-waarde".
De code wordt dan voor de 1e rij:
<th>Verontreinigingsheffing</th>
<td>€ 50,25 per vervuilingseenheid</td>
Via de CSS kun je er voor zorgen dat de <th> ook de gewenst opmaak krijgt, bijvoorbeeld vetgedrukt.
Het goede nieuws is dat deze eenvoudige tabel met deze 3 stappen al volledig toegankelijk is. Er zijn slechts 2 kolommen en er zijn geen kolomkoppen nodig. Dat betekent dat deze tabel begrijpelijk is voor mensen met spraak/braille-uitvoer.
Stap 4: Geef het bereik van de kop aan met het scope-attribuut
Als er rij- en kolomkoppen zijn dan is het nodig om bij de <th> ook aan te geven dat de kop betrekking heeft op een rij of een kolom. Dat gebeurt met het scope-attribuut. Hieronder een voorbeeld van een tabel met rij- en kolomkoppen.

Voorbeeld van een tabel met rij- en kolomkoppen
Voor een rij-kop gebruik je:
<th scope="row">
En voor een kolomkop:
<th scope="col">
De HTML-code voor de hierboven genoemde tabel wordt dan:
<tr>
<td> </td>
<th scope="col">Watersysteemheffing</th>
<th scope="col">Wegenheffing</th>
</tr><tr>
<th scope="row">Binnendijks</th>
<td>0,0327 % WOZ-waarde</td>
<td>0,0081 % WOZ-waarde</td>
</tr><tr>
<th scope="row">Buitendijks</th>
<td>0,0082 % WOZ-waarde</td>
<td>0,0081 % WOZ-waarde</td>
</tr>
</table>
In spraakuitvoer wordt deze tabel nu begrijpelijk opgelezen, bijvoorbeeld:
Binnendijks, Watersysteemheffing, 0,0327 % WOZ-waarde
Ter vergelijking: zonder gebruik van het scope-attribuut werd de tekst achter elkaar voorgelezen:
Binnendijks, 0,0327 % WOZ-waarde, 0,0081 % WOZ-waarde
Stap 5: Splits samengevoegde cellen
Doordat we de oorspronkelijke tabel hebben gesplitst hebben we ook gelijk het probleem van de samengevoegde kolommen opgelost. Stel dat er toch sprake was van samengevoegde rijen en/of kolommen, zoals in het (gefingeerde) voorbeeld hieronder:

Voorbeeld van een complexe tabel met samengevoegde rijen
Je kunt hier code toevoegen die aan spraak- en braille-uitvoer duidelijk moet maken dat het gaat om een samengevoegde rij, maar dat heeft 2 nadelen:
- Sommige spraak/braillesoftware kan hier niet goed mee omgaan. Met andere woorden: het is nog steeds niet toegankelijk.
- Het is voor de webredactie een (on)behoorlijk complexe klus.
De oplossingen:
- Herhaal de kop in elke rij of kolom en voeg geen cellen samen.
- Voeg de twee rij- of kolomkoppen samen.
Een combinatie van beide oplossingen laten we zien in onderstaande tabel.

Voorbeeld van een tabel zonder samengevoegde rijen
Complexe tabellen
Er zijn tabellen die zo complex zijn dat het meer werk eist om ze goed toegankelijk te krijgen. In dit artikel gaan we hier niet verder op in. In de literatuurlijst hieronder staan webpagina's genoemd die hier wel uitleg over geven.
Aanbevolen en geraadpleegde literatuur
Tabellen, www.webrichtlijnen.nl/aan-de-slag/tabellen 
Creating Accessible Tables, www.webaim.org/techniques/tables/ 
Meer weten?
Neem contact met ons op via het contactformulier.
Overzicht alle artikelen
- Afkortingen op het web - 10 november 2011
- Toegankelijke sjablonen voor tekstdocumenten - 10 november 2011
- In 10 stappen naar een toegankelijk tekstdocument - 19 september 2011
- Toegankelijke HTML-nieuwsbrieven - 16 augustus 2011
- Een tabel toegankelijk maken in 5 stappen - 12 juni 2011
- Toegankelijkheid zelf testen - 18 november 2010
- Veel gemeentesites niet bereikbaar op domeinnaam zonder www - 13 oktober 2010
- Cijfers en getallen op het web - 20 september 2010
- 10 tips tegen vendor lock-in - 16 april 2010
- Structureer je webtekst in 10 stappen - 8 februari 2010
- De Webredactierichtlijnen: schrijven volgens de Webrichtlijnen - 22 juni 2009
- Schrijven voor mensen en voor zoekmachines - 9 april 2009
- Search function on job boards reviewed. Part 5 (last part): Which job board has got the best search function? - 18 december 2008
- Search function on job boards reviewed. Part 4: The Vacancy Detail Page - 8 december 2008
- Search function on job boards reviewed. Part 3: Search Engine Results Page - 20 oktober 2008
- Search function on job boards reviewed. Part 2: Search Interface - 6 oktober 2008
- Search function on job boards reviewed. Part 1: Introduction - 5 september 2008
- Hyperlinks gebruiken - 17 april 2008
- Leesbare teksten op het web - 15 oktober 2007
- 10 tips voor betere webformulieren - 5 juli 2007
- De interne zoekfunctie op gemeentesites - 30 mei 2007
- Open Source Learning Management Systemen - 7 mei 2007
- Usability is het feest van de herkenning - 10 maart 2007
- Usability websites boekhandels getest - 29 juni 2006
- Test zelf de vindbaarheid van uw site - 21 juni 2006
- Ja, ik sta in Google! - 1 juni 2006


