Typ iets om te zoeken...

Wcag uitgelegd

Custom component waarvan de focus is vergeten

Custom component waarvan de focus is vergeten — WCAG 2.4.7 Focus zichtbaar (post 6/7)

Een zelfgebouwde tabcomponent. Mooie styling. Hover-effecten. Transities.

Tab ernaartoe. Geen focusindicator. De developer heeft border: none en outline: none in de component-CSS gezet om de standaardstyling te verwijderen. En is vergeten een :focus-visible toe te voegen.

/* Niet doen: styling verwijderen zonder alternatief */
.tab {
  border: none;
  outline: none;
  background: transparent;
  padding: 8px 16px;
}

/* Wel doen: eigen focusstijl toevoegen */
.tab {
  border: none;
  background: transparent;
  padding: 8px 16px;
}

.tab:focus-visible {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
  border-radius: 4px;
}

Waar ik dit het vaakst tegenkom:

  • Tabs en tabpanelen
  • Accordions
  • Dropdown-menu’s
  • Custom checkboxen en radiobuttons
  • Kaartcomponenten met klikbare elementen
  • Datepickers

Elke keer dat een developer outline: none schrijft, moet in dezelfde stylesheet een :focus-visible staan. Geen uitzondering.

Tip: voeg een globale focus-stijl toe aan je project en overschrijf die alleen als het echt nodig is:

:focus-visible {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}

Dan heeft elk element standaard een zichtbare focus. En vergeet je het nooit meer.

Zelf verder met dit onderwerp

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.”

Focus verlaat het dialoogvenster

Focus verlaat het dialoogvenster

De cookie-popup is open. Je tabt door de opties. Accepteren. Weigeren. Instellingen.

Dialoogvenster krijgt geen focus bij openen

Dialoogvenster krijgt geen focus bij openen

Een popup verschijnt. “Wil je cookies accepteren?” Je drukt op Tab. En je zit in het navigatiemenu. Achter de popup. De focus is niet naar het dialoogvenster verplaatst.