Typ iets om te zoeken...

Wcag uitgelegd

Cookiebanner die pas na 30 tabs bereikbaar is

Cookiebanner die pas na 30 tabs bereikbaar is — WCAG 2.4.3 Focusvolgorde (post 5/11)

Een cookiebanner onderaan het scherm. “Wij gebruiken cookies.” Twee knoppen: Accepteren en Weigeren.

Je drukt op Tab. De focus gaat naar het logo. Tab. Naar het menu. Tab. Tab. Tab. Door alle menulinks. Tab. Door de content. Tab. Door de sidebar. Tab. Door de footer.

En dan — eindelijk — bij de cookiebanner.

Ondertussen bedekt de banner de content die je net probeerde te lezen.

Het probleem: de cookiebanner staat onderaan de HTML. De focus volgt de HTML-volgorde. Dus eerst de hele pagina, dan de banner.

Twee oplossingen:

  1. Zet de banner bovenaan in de HTML:
<div class="cookiebanner" role="dialog" aria-label="Cookiemelding">
  <p>Wij gebruiken cookies.</p>
  <button autofocus>Accepteren</button>
  <button>Weigeren</button>
</div>
<header>...</header>
<main>...</main>
  1. Verplaats de focus met JavaScript:
window.addEventListener("load", () => {
  const banner = document.querySelector(".cookiebanner");
  if (banner) banner.querySelector("button")?.focus();
});

Waarom is dit zo belangrijk?

Omdat de cookiebanner de eerste interactie is die je van je bezoeker vraagt. Als die interactie pas na 30 tabs bereikbaar is, begin je de ervaring met frustratie.

Related Posts

Negatieve outline-offset die de focus verbergt

Negatieve outline-offset die de focus verbergt

Een link met een donkere achtergrond. De focusindicator is er, een zwarte outline van 2 pixels. Maar outline-offset: -4px duwt die outline naar binnen. Onder de achtergrondkleur.

overflow: hidden knipt de focusindicator af

overflow: hidden knipt de focusindicator af

Een mooie kaartcomponent. Afgeronde hoeken. overflow: hidden om te voorkomen dat content buiten de hoeken valt.

Focus springt onverwacht door de pagina

Focus springt onverwacht door de pagina

Tab. Je bent in het hoofdmenu. Tab. Je bent in de sidebar. Tab. Je bent terug in het hoofdmenu. Tab. Nu ben je in de content.