aria-label aria-labelledby en aria-describedby
Voorzie elementen van toegankelijke namen en beschrijvingen
aria-label aria-labelledby en aria-describedby is een gratis HTML Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject HTML Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus HTML Academy bevat in totaal 4 lessen.
Waarom toegankelijke namen belangrijk zijn
Elk interactief element heeft een toegankelijke naam nodig — een teksttekenreeks die hulptechnologie gebruikt om het element te identificeren. Zonder toegankelijke naam kunnen schermlezers gebruikers niet vertellen wat een knop of invoerveld doet.
aria-label
aria-label geeft rechtstreeks op een element een tekstuele toegankelijke naam:
<button aria-label="Close dialog">×</button>
<!-- The × character has no accessible meaning
aria-label provides the name: 'Close dialog, button' -->
<input type="search" aria-label="Search products">
<!-- No visible label — aria-label provides the accessible name -->aria-labelledby
aria-labelledby verwijst naar een ander element als toegankelijke naam:
<h2 id="section-title">Billing Information</h2>
<form aria-labelledby="section-title">
<!-- Form's accessible name is 'Billing Information' -->
</form>
<!-- Multiple id references: -->
<button aria-labelledby="action-verb object-name">
Delete
</button>
<span id="object-name" hidden>User Account</span>
<!-- Screen reader: 'Delete User Account, button' -->aria-describedby
aria-describedby geeft een uitgebreide beschrijving (als aanvulling op de naam):
<label for="pwd">Password</label>
<input
type="password"
id="pwd"
aria-describedby="pwd-hint"
>
<p id="pwd-hint">Must be 8+ characters with one uppercase letter and one number.</p>
<!-- Screen reader: 'Password [input]' then reads the description on focus -->Label versus beschrijving
Het verschil tussen een toegankelijke naam en een beschrijving:
- Toegankelijke naam — identificeert het element (aria-label, aria-labelledby of een label-element)
- Beschrijving — vult de naam aan met extra context (aria-describedby)
- Schermlezers kondigen aan: naam, rol, toestand → daarna de beschrijving
aria-label bij oriëntatiepunten
Gebruik aria-label om meerdere oriëntatiepunten van hetzelfde type van elkaar te onderscheiden:
<nav aria-label="Primary">...</nav>
<nav aria-label="Breadcrumb">...</nav>
<!-- Screen reader landmark list:
'Primary, navigation'
'Breadcrumb, navigation' -->
<!-- When only one nav, aria-label is optional but still helpful -->aria-labelledby bij secties
Koppel secties aan hun koppen voor context in schermlezers:
<section aria-labelledby="about-heading">
<h2 id="about-heading">About Our Team</h2>
<p>We are a team of passionate developers...</p>
</section>
<!-- Screen reader: 'About Our Team, region' when entering section -->aria-label versus zichtbare tekst
aria-label overschrijft zichtbare tekst — wees voorzichtig:
<button aria-label="Delete account permanently">
Delete
</button>
<!-- Screen reader hears: 'Delete account permanently'
Sighted user reads: 'Delete' -->
<!-- Best practice: visible text and aria-label should agree
If possible, include extra context in visible text too:
<button>Delete account permanently</button> -->
<!-- aria-label should start with the visible text when possible
for speech recognition users who use voice commands -->aria-describedby voor foutmeldingen
Koppel foutmeldingen aan hun invoervelden:
<label for="email">Email</label>
<input
type="email"
id="email"
aria-describedby="email-error"
aria-invalid="true"
>
<span id="email-error" role="alert">
Please enter a valid email address.
</span>
<!-- When input receives focus, screen reader reads:
'Email [field], invalid. Please enter a valid email address.' -->Meerdere verwijzingen met aria-describedby
aria-describedby kan naar meerdere elementen verwijzen:
<input
type="password"
aria-label="New password"
aria-describedby="pwd-hint pwd-strength"
>
<p id="pwd-hint">Must be 8+ characters.</p>
<meter id="pwd-strength" aria-label="Password strength" value="2" max="4">Medium</meter>
<!-- Both elements are announced as the description -->Zichtbare versus verborgen labels
Wanneer een zichtbaar label niet mogelijk is, gebruik je de klasse sr-only:
<label for="search" class="sr-only">Search</label>
<input type="search" id="search" placeholder="Search...">
/* Visually hidden but in accessibility tree: */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0;
}Korte controle
Wat is het verschil tussen aria-label en aria-labelledby?
Samenvatting: ARIA-labels
Essentiële regels voor toegankelijke naamgeving:
aria-label— naam als inline tekst voor elementen zonder zichtbare labelsaria-labelledby— verwijst via id naar bestaande zichtbare tekstaria-describedby— aanvullende beschrijving (wordt na de naam voorgelezen)- Geef de voorkeur aan zichtbare labels en standaard-HTML-label-elementen
- aria-label bij oriëntatiepunten onderscheidt meerdere gebieden van hetzelfde type
Leer HTML met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 40
- Lessen
- 159
Veelgestelde vragen
Is de les “aria-label aria-labelledby en aria-describedby” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad HTML Academy, waaronder “aria-label aria-labelledby en aria-describedby”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus HTML Academy bevat in totaal 4 lessen.
Wat leer ik in “aria-label aria-labelledby en aria-describedby”?
Voorzie elementen van toegankelijke namen en beschrijvingen Je oefent met HTML Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met HTML Academy te beginnen?
Ervaring vooraf is niet nodig. HTML Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “aria-label aria-labelledby en aria-describedby”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over HTML Academy?
Ja. Elke les over HTML Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Wanneer gebruikt u ARIA in plaats van native HTML
- role button alert dialog en landmark
- aria-label aria-labelledby en aria-describedby
- aria-hidden en aria-live