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.

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.

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.

Accordion-paneel op de verkeerde plek in de focusvolgorde

Accordion-paneel op de verkeerde plek in de focusvolgorde

Een accordion met drie secties. Je opent Sectie 1. Er verschijnt een link in het paneel.