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

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.

Focus springt onverwacht door de pagina

Focus springt onverwacht door de pagina

Tab. Je bent in het hoofdmenu. Tab. Je bent in de sidebar. Tab. Je bent terug in het hoofdmenu. Tab. Nu ben je in de content.

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.