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.

Related Posts

Focus verdwijnt na het sluiten van een dialoogvenster

Focus verdwijnt na het sluiten van een dialoogvenster

Je klikt op “Verwijderen.” Een bevestigingspopup verschijnt. “Weet je het zeker?” Je drukt op “Annuleren.”

Cookiebanner die pas na 30 tabs bereikbaar is

Cookiebanner die pas na 30 tabs bereikbaar is

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

Focusindicator die opgaat in de achtergrond

Focusindicator die opgaat in de achtergrond

Er is een focusindicator. Technisch gezien. Een lichtgrijze outline (#E0E0E0) op een witte achtergrond. 1 pixel dik.