Tabellen zonder frustratie in HTML
Tabellen in HTML zijn een krachtig hulpmiddel om gegevens overzichtelijk te presenteren. Denk aan prijslijsten, roosters, productvergelijkingen of rapportages. Toch horen we vaak dat beginnende webbouwers tabellen lastig vinden. De code lijkt al snel rommelig en zonder de juiste kennis wordt de weergave onoverzichtelijk. In dit artikel leer je stap voor stap hoe je tabellen maakt die niet alleen goed werken, maar ook toegankelijk en gebruiksvriendelijk zijn.
Wanneer gebruik je een tabel?
Tabellen zijn bedoeld om gestructureerde data weer te geven. Een tabel gebruik je wanneer je gegevens in rijen en kolommen wilt presenteren. Voorbeelden:
- Een prijstabel van verschillende abonnementen 
- Een lesrooster 
- Een overzicht van producteigenschappen 
- Statistieken of meetgegevens 
Gebruik een tabel niet voor lay-outdoeleinden. Vroeger werd HTML vaak misbruikt door pagina’s in tabellen te zetten om kolommen te maken, maar daarvoor zijn tegenwoordig CSS-technieken zoals flexbox en grid veel geschikter.
De basisstructuur van een tabel
Een eenvoudige tabel bestaat uit drie belangrijke onderdelen:
- <table>– de container van de hele tabel
- <tr>– een rij in de tabel
- <td>– een cel in de tabel
Een voorbeeld van de simpelste tabel:
Kopcellen toevoegen
Een tabel wordt pas echt duidelijk wanneer je kopcellen toevoegt met <th> in plaats van <td>. Deze worden standaard vetgedrukt weergegeven en geven semantische waarde.
Hier snapt zowel de browser als de gebruiker beter dat de eerste rij koppen bevat.
Extra structuur met <thead>, <tbody> en <tfoot>
Voor langere tabellen is het slim om een duidelijke scheiding aan te brengen tussen kop, inhoud en eventueel een voetnoot.
Met deze structuur kan een browser de inhoud beter begrijpen. Ook schermlezers profiteren hiervan, omdat zij direct weten waar de koprij en inhoud beginnen.
Cellen samenvoegen
Soms wil je cellen laten doorlopen over meerdere rijen of kolommen. Dat doe je met de attributen rowspan en colspan.
Hier zie je dat de kopcel “Verkoop” over twee kolommen loopt.
Tabellen en toegankelijkheid
Toegankelijke tabellen zijn belangrijk voor gebruikers die een schermlezer gebruiken. Om dit goed te doen, kun je de attributen scope en headers gebruiken.
Voorbeeld met scope
Met scope="col" geef je aan dat de kopcel een kolom beschrijft. Met scope="row" geef je aan dat de kopcel een rij beschrijft. Dit maakt de tabel veel duidelijker voor schermlezers.
Tabellen opmaak geven met CSS
Kale tabellen ogen vaak saai. Met CSS kun je ze beter leesbaar maken.
Met deze simpele CSS maak je een nette, leesbare tabel met afwisselende achtergrondkleuren voor de rijen.
Responsieve tabellen
Een uitdaging bij tabellen is dat ze op mobiele schermen vaak te breed zijn. Een simpele oplossing is horizontaal scrollen mogelijk maken:
In je HTML zet je de tabel in een container:
Een andere aanpak is tabellen ombouwen tot kaarten op mobiel, maar dat vereist meer CSS en soms JavaScript. Voor veel situaties is horizontaal scrollen de meest praktische oplossing.
Praktisch voorbeeld: prijstabel
Een prijstabel met drie abonnementen kan er zo uitzien:
Met de juiste CSS krijgt deze tabel een professionele uitstraling en is hij direct bruikbaar voor een commerciële website.
Veelgemaakte fouten met tabellen
- Tabellen gebruiken voor lay-out in plaats van data. 
- Geen kopcellen gebruiken, waardoor de tabel onduidelijk wordt. 
- Geen rekening houden met mobiele schermen. 
- Te veel inline-styling in plaats van nette CSS. 
- Ontbrekende alt-teksten bij afbeeldingen in tabellen. 
Tabellen kunnen frustrerend zijn als je niet weet hoe je ze goed moet opbouwen. Maar met de juiste structuur, semantiek en styling maak je van elke tabel een krachtig hulpmiddel om data helder te presenteren.

