Offerte audit
Typ iets om te zoeken...

Wcag uitgelegd

JavaScript dat de focus actief verwijdert

JavaScript dat de focus actief verwijdert: WCAG 2.4.7 Focus zichtbaar (post 5/7)

element.addEventListener("focus", function() {
  this.blur();
});

Een element krijgt focus. JavaScript verwijdert de focus direct. Het element heeft een fractie van een seconde focus gehad. De gebruiker merkt niets.

Dit is het digitale equivalent van iemand een stoel aanbieden en die dan wegtrekken.

Waarom doet iemand dit?

Meestal om de “lelijke” focusindicator te voorkomen bij muisinteractie. De developer wil niet dat een knop een blauwe rand krijgt na het klikken. De oplossing: focus verwijderen na elke klik.

Het bijeffect: toetsenbordgebruikers kunnen het element niet meer gebruiken. De focus wordt direct verwijderd zodra die arriveert.

De juiste oplossing voor “focus na klik”

/* :focus-visible toont de indicator alleen bij toetsenbordnavigatie */
button:focus-visible {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}

/* Geen outline bij muisklik */
button:focus:not(:focus-visible) {
  outline: none;
}

Geen JavaScript nodig. Geen blur(). Geen verwijderde focus. De CSS regelt het.

Check je codebase: zoek naar .blur() en outline = 'none' in je JavaScript. Verwijder elk voorkomen dat focusverwijdering forceert.

Zelf verder met dit onderwerp

Related Posts

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.

outline: none, de meest destructieve regel in CSS

outline: none, de meest destructieve regel in CSS

*:focus { outline: none; } Eén regel. En elke toetsenbordgebruiker op je website navigeert blind.

Kopniveaus

Kopniveaus

Stel je voor: je opent een boek en de inhoudsopgave gaat van hoofdstuk 1 direct naar paragraaf 3.2.

WhatsApp ons (opent WhatsApp in een nieuw tabblad)