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

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.

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.

SC 2.4.3 - Wat betekent “Focusvolgorde”

Mensen die met het toetsenbord of andere invoerapparaten navigeren, vertrouwen op een logische focusvolgorde om door een website te bewegen. De focusvolgorde bepaalt in welke volgorde interactieve elementen (zoals knoppen, links en formuliervelden) geselecteerd worden wanneer je de Tab-toets gebruikt. Als de volgorde niet logisch is, kunnen gebruikers verdwalen of belangrijke onderdelen missen.