Offerte audit
Typ iets om te zoeken...

Wcag uitgelegd

Eenvoudige tabel die onnodig horizontaal scrollt

Eenvoudige tabel die onnodig horizontaal scrollt — WCAG 1.4.10 Reflow (post 9/10)

Openingstijden. Twee kolommen. Dag en tijd.

Maandag: 09:00 - 17:00 Dinsdag: 09:00 - 17:00

Bij 320 pixels breedte past dit prima in één kolom. Maar de tabel scrollt toch horizontaal. Waarom? Omdat het een <table> is en iemand er overflow-x: auto op heeft gezet.

“Maar tabellen zijn toch uitgezonderd van reflow?”

Ja en nee. De uitzondering geldt voor complexe tabellen met veel kolommen — een spreadsheet met tien kolommen moet je niet in een kolom proppen. Maar een tabel met twee kolommen? Die hoeft niet horizontaal te scrollen.

De betere aanpak: maak van een eenvoudige tabel een lijstweergave bij smalle schermen.

@media (max-width: 320px) {
  .tabel thead { display: none; }
  .tabel tr {
    display: block;
    margin-bottom: 1rem;
  }
  .tabel td {
    display: flex;
    justify-content: space-between;
  }
  .tabel td::before {
    content: attr(data-label);
    font-weight: bold;
  }
}

Het resultaat: in plaats van een horizontaal scrollende tabel zie je bij smal scherm:

Maandag 09:00 - 17:00

Dinsdag 09:00 - 17:00

Leesbaar. Geen horizontaal scrollen nodig.

De vuistregel: heeft je tabel twee of drie kolommen? Dan is een lijstweergave bij smal scherm bijna altijd beter. Heeft je tabel acht kolommen met data? Dan mag die horizontaal scrollen — maar zet de scrollbar dan op de tabel, niet op de hele pagina.

Zelf verder met dit onderwerp

Related Posts

Vaste elementen die het scherm overnemen

Vaste elementen die het scherm overnemen

Je opent een webpagina en zoomt in tot 400%. Onderaan: een cookiemelding. Die is nu niet meer een bescheiden balkje — het neemt de helft van je scherm in beslag.

Content verdwijnt door overflow hidden

Content verdwijnt door overflow hidden

Je zoomt in op een webpagina. De tekst wordt groter. En dan, halverwege een zin, houdt de tekst op. Alsof iemand de rest heeft afgeknipt.

Kolommen die niet onder elkaar gaan

Kolommen die niet onder elkaar gaan

Sidebar links. Content rechts. Op een groot scherm: perfect. Bij 400% zoom: twee kolommen gepropt in 320 pixels. De sidebar neemt de helft in beslag. De content wordt zo smal dat je twee woorden per regel leest. Of je moet horizontaal scrollen.