Offerte audit
Typ iets om te zoeken...

Wcag uitgelegd

Focus verlaat het dialoogvenster

Focus verlaat het dialoogvenster — WCAG 2.4.3 Focusvolgorde (post 3/11)

De cookie-popup is open. Je tabt door de opties. Accepteren. Weigeren. Instellingen.

Tab. En ineens zit je in de footer. Achter de popup. De focus is ontsnapt.

Een dialoogvenster dat de pagina bedekt, houdt de focus gevangen. Na het laatste element gaat de focus terug naar het eerste element in het venster. Dat heet een focus trap.

Zonder focus trap navigeer je door de hele achterliggende pagina terwijl de popup er nog is. Je ziet niet waar je focus is. Je weet niet waar je bent.

// Focus trap in een dialoogvenster
function trapFocus(dialog) {
  const focusable = dialog.querySelectorAll(
    'button, [href], input, select, textarea'
  );
  const first = focusable[0];
  const last = focusable[focusable.length - 1];

  dialog.addEventListener("keydown", (e) => {
    if (e.key === "Escape") { sluitDialog(); return; }
    if (e.key !== "Tab") return;

    if (e.shiftKey && document.activeElement === first) {
      e.preventDefault();
      last.focus();
    } else if (!e.shiftKey && document.activeElement === last) {
      e.preventDefault();
      first.focus();
    }
  });
}

Of: gebruik <dialog> met showModal(). Die regelt de focus trap automatisch.

Test: open een popup, tab herhaaldelijk. Blijf je in het venster? Of ontsnap je naar de achtergrond?

Zelf verder met dit onderwerp

Related Posts

"Welkom" zegt niets

"Welkom" zegt niets

“Welkom.” “Pagina 1.” “Home.” “Untitled Document.” Dat zijn titels die ik regelmatig tegenkom. Ze bestaan. Ze zijn niet leeg. Maar ze zeggen niets.

Een ontoegankelijk element met een toegankelijk alternatief: mag je het laten staan?

Een ontoegankelijk element met een toegankelijk alternatief: mag je het laten staan?

In bijna elke audit kom ik deze situatie tegen. Een PDF die helemaal niet toegankelijk is. Een poster met de programma-informatie van een evenement. Een infographic vol cijfers. En de klant zegt: “Maar die informatie staat ook gewoon als tekst op de pagina. Hoeft dat dan nog?”

Dialoogvenster krijgt geen focus bij openen

Dialoogvenster krijgt geen focus bij openen

Een popup verschijnt. “Wil je cookies accepteren?” Je drukt op Tab. En je zit in het navigatiemenu. Achter de popup. De focus is niet naar het dialoogvenster verplaatst.