Typ iets om te zoeken...

Wcag uitgelegd

Dialoogvenster dat de achtergrond niet afschermt

Dialoogvenster dat de achtergrond niet afschermt — WCAG 1.3.2 Betekenisvolle volgorde (post 8/9)

Een popup verschijnt. “Weet je het zeker? Dit item wordt permanent verwijderd.”

Je drukt op Tab. En ineens zit je in het navigatiemenu. Achter de popup. Je kunt door de hele pagina tabben terwijl het dialoogvenster open is.

Een schermlezer leest vrolijk de achterliggende pagina voor. Het dialoogvenster is niet meer dan een extra laag — de rest van de pagina is nog steeds bereikbaar.

Waarom is dit een probleem?

Omdat de context zoek is. Je was bezig met een actie (iets verwijderen) en ineens zit je in het hoofdmenu. De pagina communiceert niet dat er een dialoogvenster actief is dat je aandacht vraagt.

De oplossing: gebruik het <dialog>-element.

<dialog aria-modal="true" aria-label="Bevestig verwijdering">
  <h2>Weet je het zeker?</h2>
  <p>Dit item wordt permanent verwijderd.</p>
  <button>Annuleren</button>
  <button>Verwijderen</button>
</dialog>

Het <dialog>-element met aria-modal="true":

  • Beperkt de focus tot het dialoogvenster
  • Voorkomt dat een schermlezer de achtergrond voorleest
  • Geeft de focus terug aan het trigger-element bij sluiten

Geen <dialog> beschikbaar? Dan moet je het handmatig doen: aria-hidden="true" op de achterliggende content, een focus trap in JavaScript, en focusmanagement bij openen en sluiten. Veel werk. Veel foutgevoelig. Gebruik liever <dialog>.

Related Posts

Carrousel-knoppen voor de content

Carrousel-knoppen voor de content

“Vorige. Volgende.” Dat is het eerste wat een schermlezergebruiker hoort bij je carrousel. Vorige en volgende. Maar vorige en volgende van wat?

Framework met Engels label, Nederlandse interface

Framework met Engels label, Nederlandse interface

Een datepicker uit een UI-framework. Het veld toont “Kies een datum” in het Nederlands. Maar het aria-label — automatisch gegenereerd door het framework — zegt “Select date” in het Engels.

Focus die alleen een kleurverandering is

Focus die alleen een kleurverandering is

Een link. Bij focus wordt de tekst blauw. Dat is de focusindicator. Geen outline. Geen onderstreping. Geen achtergrondverandering. Alleen: de tekst verandert van kleur.