Typ iets om te zoeken...

Wcag uitgelegd

Heading in een summary: zelfde probleem

Heading in een summary: zelfde probleem — WCAG 4.1.2 Naam, rol, waarde (post 8/12)

Net als bij een button: een <summary> heeft de impliciete rol van een button. En een button eet de rollen van zijn kinderen op.

<!-- Niet doen: heading in summary verliest zijn rol -->
<details>
  <summary><h3>Veelgestelde vragen</h3></summary>
  <p>Hier staan de antwoorden.</p>
</details>

<!-- Wel doen: heading buiten summary -->
<h3>Veelgestelde vragen</h3>
<details>
  <summary>Hoe wijzig ik mijn wachtwoord?</summary>
  <p>Ga naar je profielpagina en klik op "Wachtwoord wijzigen".</p>
</details>

Ik zie dit bij bijna elke FAQ-pagina die met <details>/<summary> is gebouwd. De developer denkt: “De titel van de FAQ is een heading.” Klopt. Maar niet binnenin de summary.

De oplossing: zet de heading boven het <details>-element. De <summary> bevat de vraag als platte tekst.

Related Posts

aria-expandd (met twee d's)

aria-expandd (met twee d's)

Een menuknop. aria-expanded om aan te geven of het menu open is. Maar de developer typte aria-expandd. Met twee d’s.

Tabs zonder tablist

Tabs zonder tablist

Twee elementen met role="tab". Een element met role="tabpanel". Maar geen role="tablist".

aria-label op een div: wordt genegeerd

aria-label op een div: wordt genegeerd

Een developer wil een sectie een naam geven voor schermlezers. Plakt aria-label="Zoekresultaten" op een <div>.