Wcag uitgelegd

overflow: hidden knipt de focusindicator af

overflow: hidden knipt de focusindicator af — WCAG 2.4.7 Focus zichtbaar (post 4/7)

Een mooie kaartcomponent. Afgeronde hoeken. overflow: hidden om te voorkomen dat content buiten de hoeken valt.

Je tabt naar de link in de kaart. De focusindicator verschijnt. Maar alleen de bovenkant en onderkant. De linker- en rechterrand zijn afgeknipt door de container.

overflow: hidden op de parent verbergt alles wat buiten de container valt. Inclusief de outline van kindelementen.

/* Niet doen: overflow hidden zonder ruimte voor focus */
.kaart {
  overflow: hidden;
  border-radius: 8px;
}

/* Optie 1: padding voor de outline */
.kaart {
  overflow: hidden;
  border-radius: 8px;
  padding: 4px;
}

/* Optie 2: inset box-shadow in plaats van outline */
.kaart a:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px #0066CC;
}

Optie 1 geeft de outline ruimte om binnen de container te tekenen. Optie 2 gebruikt een inset box-shadow die altijd binnen het element blijft — nooit buiten de container.

Waar komt dit voor?

  • Productkaarten in webshops
  • Afbeeldingsgalerijen met afgeronde hoeken
  • Carrousel-slides
  • Card-based layouts

Tab door je kaarten. Wordt de focusindicator overal volledig getoond?

Related Posts

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.

JavaScript dat de focus actief verwijdert

JavaScript dat de focus actief verwijdert

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.

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.