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

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.

Kopniveaus

Kopniveaus

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

Samenwerken met Proper Access

Je hebt een klant die een toegankelijkheidsaudit nodig heeft. Of misschien wordt het een terugkerend thema — steeds meer organisaties moeten vanaf juni 2025 voldoen aan de European Accessibility Act (EAA).