Wcag uitgelegd

outline: none, de meest destructieve regel in CSS

outline: none, de meest destructieve regel in CSS: WCAG 2.4.7 Focus zichtbaar (post 1/7)

*:focus { outline: none; }

Eén regel. En elke toetsenbordgebruiker op je website navigeert blind.

Tab. Waar ben ik? Geen idee. Tab. Waar ben ik nu? Geen idee. Tab. Ik geef op.

Die ene CSS-regel verwijdert de focusindicator van elk interactief element. Links, knoppen, invoervelden: allemaal zonder zichtbare focus.

Waarom staat dit in zoveel codebases?

Omdat de standaard browser-outline “lelijk” is. Een blauwe of zwarte rand die niet bij het design past. En de eerste reflex van een developer is: weg ermee.

Maar de focusindicator is geen decoratie. Het is een navigatiehulpmiddel. Het equivalent van een muiscursor voor toetsenbordgebruikers.

De fix:

/* Niet doen */
*:focus { outline: none; }

/* Wel doen: vervang door een mooiere variant */
*:focus-visible {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}

:focus-visible is de sleutel. Die toont de outline alleen bij toetsenbordnavigatie, niet bij muisklikken. Zo heb je het beste van beide werelden: geen “lelijke” outline bij klikken, wél een zichtbare focus bij tabben.

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.

SC 2.4.7 - Wat betekent "Focus zichtbaar"

Stel je voor dat je een formulier invult met je muis, maar de cursor is onzichtbaar. Je klikt ergens en hoopt dat je het juiste veld raakt. Dat klinkt absurd, maar precies dat is wat er gebeurt als een website geen zichtbare focus-indicator heeft voor toetsenbordgebruikers.