Wcag uitgelegd

Mouseover zonder focus-equivalent

Mouseover zonder focus-equivalent — WCAG 2.1.1 Toetsenbord (post 2/9)

Je hovert over een tekst. Een tooltip verschijnt. Handige extra informatie.

Je navigeert met het toetsenbord naar datzelfde element. Tab. Focus. En… niets. Geen tooltip.

De informatie bestaat alleen voor muisgebruikers.

Dit gaat niet alleen over tooltips. Denk aan:

  • Uitklapmenu’s die openen bij hover
  • Extra details die verschijnen als je erover gaat
  • Afbeeldingen die veranderen bij mouseover
  • Previews die alleen bij hover zichtbaar zijn

Het probleem: de developer heeft mouseover en mouseout gebruikt. Maar niet focus en blur.

// Niet doen: alleen muis
element.addEventListener("mouseover", toonTooltip);
element.addEventListener("mouseout", verbergTooltip);

// Wel doen: muis én toetsenbord
element.addEventListener("mouseover", toonTooltip);
element.addEventListener("focus", toonTooltip);
element.addEventListener("mouseout", verbergTooltip);
element.addEventListener("blur", verbergTooltip);

Of in CSS:

/* Niet doen */
.trigger:hover .tooltip { display: block; }

/* Wel doen */
.trigger:hover .tooltip,
.trigger:focus .tooltip,
.trigger:focus-within .tooltip { display: block; }

De check: zoek in je codebase naar mouseover, mouseout, mouseenter, mouseleave en :hover. Heeft elk ervan een toetsenbordequivalent?

Related Posts

Klikbare div in plaats van een button

Klikbare div in plaats van een button

Een div met een onclick. Ziet eruit als een knop. Doet iets als je erop klikt.

Wat kost een toegankelijkheidsaudit? (uitgebreide gids)

Dit artikel is een aanvulling op ons kortere stuk over auditkosten en gaat dieper in op de prijsverschillen in de markt.

Heb ik een desktop- en mobiele audit nodig?

Kort antwoord: een goede audit test altijd op meerdere apparaten. Maar je hoeft niet apart te betalen voor een “desktop-audit” en een “mobiele audit” — bij een professionele audit zit dat er gewoon in.