1.1.1 Niet-tekstuele content
Elke afbeelding, elk pictogram en elk ander niet-tekstueel element moet een tekstbeschrijving bevatten die dezelfde informatie of functie overbrengt.
Presentatierollen en verborgen statussen op decoratieve content oplossen
Decoratieve afbeeldingen en niet-tekstuele content die geen betekenisvolle informatie overbrengen, moeten worden verborgen voor hulptechnologieën, zoals schermlezers. Zo kunnen gebruikers van hulptechnologieën zich richten op de betekenisvolle content.
Zoek in de HTML-code de decoratieve content die geen betekenisvolle informatie of functionaliteit biedt.
Voeg bij decoratieve
<svg>-elementen het attribuutaria-hidden="true"toe aan het<svg>-element.Voeg bij andere decoratieve niet-tekstuele content, zoals een
<img>die alleen als rand wordt gebruikt, een<object>die alleen voor opmaak wordt gebruikt, of een<area>die voor visuele effecten wordt gebruikt, het attribuutrole="presentation"toe.Als het decoratieve niet-tekstuele element al een
role-attribuut heeft, vervang dit dan doorrole="presentation".
Voorbeeld
!-- Incorrect -->
<svg width="100" height="100">
<circle
cx="50"
cy="50"
r="40"
stroke="black"
stroke-width="3"
fill="red"
/>
</svg>
<!-- Correct -->
<svg width="100" height="100" aria-hidden="true">
<circle
cx="50"
cy="50"
r="40"
stroke="black"
stroke-width="3"
fill="red"
/>
</svg>
Ontbrekende alt-attributen op niet-tekstuele content oplossen
Alle niet-tekstuele content, zoals afbeeldingen, video's en knoppen, moet alternatieve tekst bevatten die de content beschrijvend identificeert.
Zoek in uw HTML-code de niet-tekstuele contentelementen (bijvoorbeeld
<img>,<object>,<area>) waarbij eenalt-attribuut ontbreekt.Voeg een
alt-attribuut toe aan het element.Voer in het
alt-attribuut een beschrijvende alternatieve tekst in die de betekenis van de content weergeeft.
Opmerking: Gebruik voor decoratieve afbeeldingenalt=""(lege alternatieve tekst) om aan te geven dat de afbeelding geen betekenisvolle content bevat.
Voorbeeld
<!-- Incorrect -->
<img src="logo.png">
<!-- Correct -->
<img src="logo.png" alt="Logo of Company A with a stylized tree design">Ontbrekende alternatieve tekst voor afbeeldingsknoppen oplossen
Afbeeldingsknoppen hebben beschrijvende alternatieve tekst nodig, zodat gebruikers met een visuele beperking het doel van de knop begrijpen wanneer zij door de pagina navigeren.
Zoek in uw HTML-code het
<img>-element binnen een<button>- of<input>-element.Zoek binnen het
<img>-element hetalt-attribuut.Voeg in het
alt-attribuut een duidelijke en beknopte beschrijving van de functie van de knop toe.
Voorbeeld
<-- Incorrect -->
<button><img src="submit-button.png" alt=""></button>
<-- Correct -->
<button><img src="submit-button.png" alt="Submit form"></button>Problemen met een ontbrekend aria-labelledby-attribuut oplossen
Met het attribuut aria-labelledby kunnen hulptechnologieën, zoals schermlezers, de labels van content correct voorlezen, zodat gebruikers de context van het element beter begrijpen.
Zoek in uw HTML-code het element dat een label nodig heeft (bijvoorbeeld
<img>,<object>,<area>).Voeg binnen het element het attribuut
aria-labelledbytoe.Voer in het
aria-labelledby-attribuut een labelnaam in die het element beschrijft.
Opmerking: De labelnaam moet dezelfde betekenis hebben als het label van het bijbehorende element dat de inhoud van de afbeelding beschrijft.
Voorbeeld
<!-- Incorrect -->
<img src="chart.png" aria-labelledby="nonexistentLabel">
<!-- Correct -->
<img src="chart.png" aria-labelledby="chartTitle">
<h2 id="chartTitle">Sales Data Chart</h2>Problemen met een ontbrekende titel oplossen
Met het title-attribuut kunnen hulptechnologieën, zoals schermlezers, content met een passende titel voorlezen.
Zoek in uw HTML-code het element dat een label nodig heeft (bijvoorbeeld
<img>,<object>).Voeg binnen het element het
title-attribuut toe.Voer in het
title-attribuut een beschrijvende titel voor uw element in.
Voorbeeld
<!-- Incorrect -->
<object data="document.pdf" type="application/pdf"></object>
<!-- Correct -->
<object data="document.pdf" type="application/pdf" title="Annual Financial Report 2023"></object>Ontbrekende toegankelijke namen voor betekenisvolle afbeeldingen oplossen
Voeg toegankelijke namen toe aan SVG-elementen om tekstalternatieven te bieden, zodat gebruikers die afhankelijk zijn van schermlezers of hulptechnologieën de afbeeldingen kunnen begrijpen.
Zoek in de HTML het
<svg>-element metrole="img".
Zorg ervoor dat betekenisvolle <svg>-elementen een ARIA-rol bevatten (bijvoorbeeld role="img") voordat u een aria-label toevoegt.
Voeg binnen dat
<svg>-element eenaria-label-attribuut toe.Stel
aria-labelin op een beknopt, beschrijvend label voor de afbeelding.
Voorbeeld
<!-- Incorrect -->
<svg role="img" width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<!-- Correct -->
<svg role="img" width="100" height="100" aria-label="Red circle representing a stop sign">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>Ontbrekende toegankelijke namen voor decoratieve afbeeldingen oplossen
Door de presentatierol aan uw decoratieve afbeeldingen toe te voegen, kunnen hulptechnologieën, zoals schermlezers, onnodige content overslaan en zich concentreren op het voorlezen van wat betekenisvol is.
Zoek in de HTML-code het
<svg>-element.Voeg binnen het
<svg>-element het attribuutrole="presentation"toe.
Voorbeeld
<!-- Incorrect -->
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<!-- Correct -->
<svg width="100" height="100" role="presentation">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>Ontbrekende alternatieve tekst op elementen met de rol img oplossen
Met alternatieve tekst op elementen met de rol img kunnen schermlezers de afbeelding beschrijven, zodat gebruikers het doel en de inhoud ervan begrijpen. Door een aria-label- of aria-labelledby-attribuut toe te voegen, krijgen gebruikers de informatie om het doel of de inhoud van de afbeelding te begrijpen.
- Zoek in uw HTML-code het HTML-element met
role="img".
Voeg binnen het element eenaria-label- ofaria-labelledby-attribuut toe. Voer in het attribuut een beschrijving van de afbeelding in.
Voorbeeld
<!-- Incorrect -->
<svg role="img">
<!-- SVG content -->
</svg>
<!-- Correct -->
<svg role="img" aria-label="Company logo">
<!-- SVG content -->
</svg>Overbodige titels op afbeeldingen met lege alternatieve tekst oplossen
Wanneer een afbeelding is gemarkeerd met lege alternatieve tekst (alt=""), wordt deze bedoeld om door hulptechnologieën te worden genegeerd. Als u in dat geval een title-attribuut toevoegt, ontstaat tegenstrijdige informatie, omdat schermlezers de titel mogelijk nog steeds voorlezen. Dat doet afbreuk aan het doel van het markeren van de afbeelding als decoratief.
Zoek in de HTML-code het
<img>-element.Als de afbeelding puur decoratief is, zorg dan dat deze een lege
altheeft en verwijder eventueletitle-attributen.
Voorbeeld
<!-- Incorrect -->
<img src="decorative-divider.png" alt="" title="Section divider">
<!-- Correct -->
<img src="decorative-divider.png" alt="">Niet-beschrijvende alternatieve tekst in afbeeldingen oplossen
Alle niet-tekstuele content, zoals afbeeldingen, video's en knoppen, moet alternatieve tekst bevatten die de content beschrijvend identificeert.
Zoek in de HTML-code het
<img>-element.Zoek binnen het
<img>-element hetalt-attribuut.Vervang de bestaande beschrijving door een beschrijvendere formulering die het doel of de inhoud van de afbeelding weergeeft.
Opmerking: Als de afbeelding decoratief is en geen betekenisvolle informatie overbrengt, vervang dan de huidige beschrijving in het attribuut dooralt=""ofrole="presentation"om de afbeelding voor schermlezers te verbergen.
Voorbeeld
<!-- Incorrect -->
<img src="company-logo.png" alt="Logo">
<!-- Correct -->
<img src="company-logo.png" alt="White House logo, representing the official symbol">
1.2.1 Alleen audio en alleen video (vooraf opgenomen)
Alle vooraf opgenomen audio of video zonder beeld of geluid moet een teksttranscript bevatten dat dezelfde informatie biedt.
Ontbrekende audiotranscripten oplossen
Een teksttranscript voor audiocontent zorgt ervoor dat alle gebruikers, ook mensen die doof of slechthorend zijn, toegang hebben tot dezelfde informatie.
Zoek in de HTML-code het
<audio>-element.Voeg na het
<audio>-element een<p>-element toe.Voer binnen het
<p>-element het volledige transcript van de audiocontent in tekstvorm in.
Voorbeeld
<!-- Incorrect -->
<audio controls><source src="interview.mp3" type="audio/mpeg">Your browser does not support the audio element.</audio>
<!-- Correct -->
<audio src="interview.mp3" type="audio/mpeg" your="Your" browser="browser" does="does" not="not" support="support" the="the" audio="audio">
<p>Transcript: In this interview, Dr. Smith explains the importance of regular exercise. She discusses how physical activity can improve both mental and physical health, reduce the risk of chronic diseases, and enhance overall quality of life. She also shares tips for staying motivated and setting realistic fitness goals.</p>1.2.2 Ondertiteling (vooraf opgenomen)
Alle vooraf opgenomen video's met geluid moeten ondertiteling bevatten die de gesproken woorden en belangrijke geluiden op het scherm weergeeft.
Ontbrekende ondertiteling in videocontent oplossen
Ondertiteling voor vooraf opgenomen video's zorgt ervoor dat gebruikers die doof of slechthorend zijn de content toch kunnen begrijpen.
Zoek in de HTML-code het
<video>-element.Voeg binnen het
<video>-element een<track>-element toe.-
Voeg in het
<track>-element de volgende attributen toe:Het
kind-attribuut met de waarde"captions"(bijvoorbeeldkind="captions").Het
src-attribuut met het bestandspad van uw ondertitelingsbestand (bijvoorbeeldcaptions.vtt).Het
srclang-attribuut met de juiste taalcode (bijvoorbeelden).Het
label-attribuut om de taal van de videocontent te beschrijven (bijvoorbeeld"English").
Voorbeeld
<!-- Incorrect -->
<video src="training-overview.mp4" controls>
</video>
<!-- Correct -->
<video src="training-overview.mp4" controls>
<track src="training-overview-en.vtt" kind="captions" srclang="en" label="English">
</video>
Ontbrekende ondertiteling in ingesloten Vimeo-video's oplossen
Ondertiteling moet beschikbaar zijn in Vimeo-video's, zodat de video's toegankelijk zijn voor gebruikers die doof of slechthorend zijn. In Vimeo kunt u ondertiteling toevoegen via de video-instellingen.
Open de video op vimeo.com.
Meld u aan met het account dat eigenaar is van de video.
Ga naar Instellingen.
Selecteer het tabblad Distributie en open vervolgens Ondertitels (of Geavanceerd > Ondertitels in oudere lay-outs).
Zoek de sectie Ondertitels/CC.
Upload een .vtt- of .srt-ondertitelingsbestand.
Sla uw wijzigingen op en controleer vervolgens of de ondertiteling is ingeschakeld door een voorbeeld van de video te bekijken.
Opmerking: Ondertiteling wordt automatisch weergegeven in de ingesloten <iframe> als deze in Vimeo is ingeschakeld.
Ontbrekende ondertiteling in ingesloten YouTube-video's oplossen
YouTube-video's moeten ondertiteling bevatten, zodat gebruikers die doof of slechthorend zijn toegang hebben tot de gesproken content. YouTube biedt opties voor het handmatig uploaden van ondertiteling of voor automatische ondertiteling.
Open de video op youtube.com met het account dat eigenaar is van de video.
Ga naar YouTube Studio en selecteer de video die u wilt bewerken.
Klik in het linkermenu op Ondertitels.
Kies de taal voor uw ondertiteling.
-
Klik op Toevoegen en selecteer een van de volgende opties:
Bestand uploaden (voor .vtt- of .srt-bestanden)
Automatisch synchroniseren (plak het volledige transcript en laat YouTube de timing bepalen)
Handmatig typen
Controleer uw ondertiteling en publiceer deze.
1.3.1 Info en relaties
Alle informatie die via lay-out, opmaak of visuele structuur wordt weergegeven, moet ook beschikbaar zijn in tekst of zo zijn gecodeerd dat hulptechnologieën deze kunnen begrijpen.
Ontbrekende ARIA-landmarkrollen in de paginastructuur oplossen
Landmarkrollen helpen gebruikers van schermlezers de paginaindeling te begrijpen en snel naar de belangrijkste secties te navigeren.
Zoek in uw HTML-code de structurele elementen (bijvoorbeeld
<div>,<section>,<form>).Voeg de juiste ARIA-landmarkrol toe met het
role-attribuut (bijvoorbeeldrole="main",role="navigation",role="form"). Lees meer over de juiste landmarkrol.
Opmerking: Voeg alleen ARIA-rollen toe als het element nog geen ingebouwde landmarkrol heeft (bijvoorbeeld<nav>fungeert al alsnavigation).
Voorbeeld
<!-- Incorrect -->
<div id="main-content">
<p>Welcome to our website.</p>
</div>
<!-- Correct -->
<div id="main-content" role="main">
<p>Welcome to our website.</p>
</div>
Ontbrekende fieldset of groep voor invoervelden met dezelfde naam oplossen
Keuzerondjes of selectievakjes met dezelfde naam moeten worden gegroepeerd, zodat hun onderlinge relatie duidelijk is. Zo begrijpen gebruikers van schermlezers dat de invoervelden bij elkaar horen.
Zoek in de HTML-code de keuzerondjes of selectievakjes die hetzelfde
name-attribuut hebben.Plaats de gerelateerde invoervelden in een
<fieldset>-element.Voeg een
<legend>toe als eerste element binnen de<fieldset>om de groep te beschrijven.
U kunt de invoervelden ook in een container met role="group" of role="radiogroup" plaatsen en een label opgeven met aria-labelledby of aria-label.
Voorbeeld
<!-- Incorrect -->
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
<!-- Correct -->
<fieldset>
<legend>Select your location</legend>
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
</fieldset>
<!-- Correct -->
<div role="group" aria-label="Select your location">
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
</div>
<li>-elementen zonder bovenliggend element oplossen
Door lijstitems in een lijstelement te plaatsen, kunnen schermlezers gegroepeerde content correct herkennen.
Zoek in de HTML-code de
<li>-elementen die niet in een<ul>of<ol>zijn geplaatst.Plaats de
<li>-elementen in een<ul>(voor opsommingstekens) of<ol>(voor een genummerde lijst).
Voorbeeld
<!-- Incorrect --> <li>First item</li> <li>Second item</li> <!-- Correct --> <ul> <li>First item</li> <li>Second item</li> </ul>
Problemen met de structuur van beschrijvingslijsten (DL) oplossen
Beschrijvingslijsten worden gebruikt om paren van gerelateerde informatie weer te geven, zoals een term en de bijbehorende uitleg. Als de lijst niet correct is gestructureerd, kunnen schermlezers de content in de verkeerde volgorde voorlezen of gebruikers in verwarring brengen.
Zoek in uw HTML-code de gemarkeerde
<dl>-elementen.Plaats binnen de
<dl>de term in een<dt>-element.Plaats binnen een
<dt>-element de beschrijving in een<dd>-element.
Opmerking: Een <dt> moet ten minste één <dd> bevatten.
Verwijder alle andere elementen die rechtstreeks in de
<dl>zijn geplaatst, tenzij ze in een<dt>of<dd>staan.
Voorbeeld
<!-- Incorrect --> <dl> <p>HTML</p> <p>A markup language for web pages.</p> </dl> <!-- Correct --> <dl> <dt>HTML</dt> <dd>A markup language for web pages.</dd> </dl>
Definitietermen (DT) en definitiebeschrijvingen (DD) buiten een beschrijvingslijst (DL) oplossen
Definitietermen (<dt>) en definitiebeschrijvingen (<dd>) moeten altijd in een beschrijvingslijst (<dl>) staan. Wanneer <dt>- of <dd>-elementen buiten een <dl> worden gebruikt, kunnen schermlezers de content in de verkeerde volgorde voorlezen of gebruikers in verwarring brengen.
Zoek in uw HTML-code de gemarkeerde
<dt>- of<dd>-elementen.Zorg ervoor dat elke
<dt>en<dd>in een<dl>-element is geplaatst. Als de content geen deel uitmaakt van een beschrijvingslijst, vervang<dt>en<dd>dan door een passend element (bijvoorbeeld<h2>,<h3>,<p>).
Voorbeeld
<!-- Incorrect --> <dt>CSS</dt> <dd>A language used to style web pages.</dd> <!-- Correct --> <dl> <dt>CSS</dt> <dd>A language used to style web pages.</dd> </dl>
Onjuist gebruik van het scope-attribuut in tabellen oplossen
Wanneer een tabel het scope-attribuut gebruikt, mag dit alleen worden toegepast op koptekstcellen (<th>), zodat duidelijk is op welke gegevenscellen ze betrekking hebben. Onjuiste of ontbrekende scope-waarden kunnen ertoe leiden dat ondersteunende technologieën koppen niet correct aan tabelgegevens koppelen.
-
Zoek in uw HTML-code het gemarkeerde
scope-attribuut of de gemarkeerde tabelelementen. -
Werk het
scope-attribuut bij zodat:- Het
scope-attribuut alleen wordt toegepast op<th>-elementen. - Elk
<th>-element een geschikte scope-waarde heeft, zoalscol,row,colgroupofrowgroup. -
De waarde in uw
scope-attribuut de structuur en relaties van de tabel nauwkeurig weergeeft.
- Het
Voorbeeld
<!-- Incorrect -->
<table>
<tr>
<th>Name</th>
<th>Score</th>
</tr>
<tr>
<th>Alice</th>
<td>95</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Score</th>
</tr>
<tr>
<th scope="row">Alice</th>
<td>95</td>
</tr>
</table>
<!-- Incorrect -->
<table>
<tr>
<th scope="column1">Name</th>
<th scope="column2">Score</th>
</tr>
<tr>
<th scope="row1">Alice</th>
<td>95</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Score</th>
</tr>
<tr>
<th scope="row">Alice</th>
<td>95</td>
</tr>
</table>
Onjuist gebruik van het headers-attribuut oplossen door scope in tabellen te gebruiken
Tabellen moeten gegevenscellen (<td>) bevatten die worden beschreven door tabelkoppen (<th>). Tabellen die wel koppen maar geen gegevenscellen bevatten, bieden geen zinvolle relaties voor ondersteunende technologieën en kunnen verwarring veroorzaken voor gebruikers van schermlezers.
Zoek in uw HTML-code de gemarkeerde tabelelementen die <th>-elementen bevatten maar geen bijbehorende <td>-elementen.
Werk de tabelstructuur zo bij dat:
Elke tabel een of meer
<td>-elementen met gegevens bevat.<th>-elementen alleen worden gebruikt wanneer ze daadwerkelijke tabelgegevens beschrijven.Tabellen die alleen voor lay-out of presentatie worden gebruikt, geen
<th>-elementen bevatten.Als de tabel geen gegevens bevat, de tabel wordt verwijderd of door markup zonder tabel wordt vervangen.
Voorbeeld
<!-- Incorrect -->
<table>
<tr>
<th scope="col">Name</th>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
</tr>
<tr>
<td>John</td>
</tr>
</table>
Onjuiste ARIA-groepering voor de rol “group” oplossen
Correct gebruik van ARIA-rollen helpt schermlezers de structuur van de pagina te begrijpen, waardoor gebruikers met een beperking de inhoud gemakkelijker kunnen navigeren en ermee kunnen werken.
Zoek in de HTML-code het element met
role="group".Neem binnen het element ten minste één interactief bedieningselement op (bijvoorbeeld
<input>,<textarea>of<select>).
Opmerking: Lees meer over welk interactief bedieningselement u moet opnemen. Als er geen geschikte interactieve bedieningselementen zijn, overweeg dan omrole="group"te vervangen door een geschiktere ARIA-rol of -structuur.
Voorbeeld
<!-- Incorrect -->
<div role="group">
<p>This is a group with no interactive elements.</p>
</div>
<!-- Correct -->
<div role="group">
<label for="username">Username:</label>
<input id="username" type="text">
</div>
Onjuiste ARIA-groepering voor de rol “radiogroup” oplossen
Correct gebruik van ARIA-rollen helpt schermlezers de structuur van de pagina te begrijpen, waardoor gebruikers met een beperking de inhoud gemakkelijker kunnen navigeren en ermee kunnen werken.
Zoek in de HTML-code het element met
role="radiogroup".Neem binnen het element ten minste één keuzerondje op (bijvoorbeeld
<input type="radio">ofrole="radio").
Voorbeeld
<!-- Incorrect -->
<div role="radiogroup">
<p>Select a delivery method:</p>
</div>
<!-- Correct -->
<div role="radiogroup" aria-label="Select a delivery method">
<label><input type="radio" name="delivery" value="standard"> Standard </label><br>
<label><input type="radio" name="delivery" value="express"> Express </label><br>
<label><input type="radio" name="delivery" value="overnight"> Overnight</label>
</div>
Onjuiste ARIA-groepering voor de rol “checkbox” oplossen
Correct gebruik van ARIA-rollen helpt schermlezers de structuur van de pagina te begrijpen, waardoor gebruikers met een beperking de inhoud gemakkelijker kunnen navigeren en ermee kunnen werken.
Zoek in de HTML-code
<input type="checkbox">of een element metrole="checkbox".Plaats de selectievakjes in een container en wijs daaraan
role="group"toe.Voeg een
aria-labelledby- ofaria-label-attribuut toe aan het element metrole="checkbox"om het doel van de groep selectievakjes te beschrijven.
Voorbeeld
<!-- Incorrect -->
<div><label><input type="checkbox" id="news"> Newsletter</label><br>
<label><input type="checkbox" id="updates"> Product Updates</label><br>
<label><input type="checkbox" id="offers"> Special Offers</label>
</div>
<!-- Correct -->
<div role="group" aria-labelledby="emailPref">
<p id="emailPrefsLabel">Which types of emails would you like to receive?</p>
<label><input type="checkbox" id="news"> Newsletter</label><br>
<label><input type="checkbox" id="updates"> Product Updates</label><br>
<label><input type="checkbox" id="offers"> Special Offers</label>
</div>
Onjuiste ARIA-groepering voor de rol “radio” oplossen
Correct gebruik van ARIA-rollen helpt schermlezers de structuur van de pagina te begrijpen, waardoor gebruikers met een beperking de inhoud gemakkelijker kunnen navigeren en ermee kunnen werken.
Zoek in de HTML-code
<input type="radio">of een element metrole="radio".Groepeer de keuzerondjes binnen het element met
role="radiogroup".Voeg een
aria-labelledby- ofaria-label-attribuut toe aan het element om het doel van de groep keuzerondjes te beschrijven.
Voorbeeld
<!-- Incorrect -->
<label><input type="radio" name="contact"> Email</label><br>
<label><input type="radio" name="contact"> Phone</label><br>
<label><input type="radio" name="contact"> Text Message</label>
</div>
<!-- Correct -->
<div role="radiogroup" aria-labelledby="contactMethod">
<p id="contactMethodLabel">How would you like us to contact you?</p>
<label><input type="radio" name="contact"> Email</label><br>
<label><input type="radio" name="contact"> Phone</label><br>
<label><input type="radio" name="contact"> Text Message</label>
</div>
Ontbrekend aria-level bij de rol “heading” oplossen
ARIA-koprollen moeten voor de duidelijkheid een gedefinieerd kopniveau hebben.
Zoek in de HTML-code het element met het attribuut
role="heading".Voeg na het
role-attribuut hetaria-level-attribuut toe met een waarde van 1 tot en met 6 (bijvoorbeeldaria-level="2").
Voorbeeld
<!-- Incorrect -->
<div role="heading">Subsection Title</div>
<!-- Correct -->
<div role="heading" aria-level="2">Subsection Title</div>
Ontbrekende tabelkoppen oplossen
Tabelkoppen helpen schermlezers te begrijpen wat elke kolom of rij betekent. Als een tabel geen koppen heeft, kunnen ondersteunende technologieën gebruikers niet de juiste context bieden.
Zoek in uw HTML-code het
<table>-element en bepaal de eerste rij. Deze rij moet de koppen van de tabel definiëren (bijvoorbeeld “Naam”, “Leeftijd” enzovoort).Als de eerste rij
<td>-elementen (tabelgegevens) gebruikt, wijzigt u elk<td>-element in een<th>-element (tabelkop) om aan te geven dat deze cellen koppen zijn.Voeg
scope="col"toe aan elk<th>-element als het een kolomkop is, ofscope="row"als het een rijkop is.
Voorbeeld
<!-- Incorrect -->
<table>
<tr>
<td>Name</td>
<td>Age</td>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
Ontbrekende koppeling van gegevenscellen in lijsten oplossen
Lijsten waarmee gestructureerde gegevens worden gepresenteerd, moeten in plaats daarvan een tabel gebruiken, zodat schermlezers gegevens duidelijk aan koppen kunnen koppelen.
Zoek in de HTML-code de elementen
<ul>en<ol>die gegevens met labels en waarden presenteren.Vervang de
<ul>- of<ol>-structuur door het<table>-element.Voeg de
<th>-elementen voor koppen en<td>voor waarden toe.Voeg binnen
<th>het attribuutscope="col"toe om kolomkoppen aan te geven.
Voorbeeld
<!-- Incorrect -->
<ul>
<li><strong>Name:</strong> Ava</li>
<li><strong>Age:</strong> 25</li>
</ul>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
Onjuiste lijststructuur oplossen
Wanneer lijstitems binnen een lijstelement worden geplaatst, kunnen schermlezers gegroepeerde inhoud correct herkennen.
Zoek in de HTML-code de
<li>-elementen die niet zijn opgenomen in een<ul>of<ol>.Plaats de
<li>-elementen in een<ul>(voor opsommingstekens) of<ol>(voor een genummerde lijst).
Voorbeeld
<!-- Incorrect -->
<li>First item</li>
<li>Second item</li>
<!-- Correct -->
<ul>
<li>First item</li>
<li>Second item</li>
</ul>Ongeldige scope-attributen bij tabelkoppen oplossen
Het scope-attribuut koppelt tabelkoppen aan gegevenscellen. Onjuiste waarden of het weglaten ervan kunnen tabellen moeilijker te interpreteren maken voor gebruikers van schermlezers.
Zoek in uw HTML-code het
<th>-element met een ongeldige of ontbrekende waarde voor hetscope-attribuut.-
Vervang of voeg de
scope-waarde toe op basis van het type kop:Gebruik
scope="col"voor kolomkoppen.Gebruik
scope="row"voor rijkoppen.
Opmerking: Gebruik voor koppen op meerdere niveaus rowgroup of colgroup als groepering van toepassing is.
Voorbeeld
<!-- Incorrect -->
<th scope="column">Course</th>
<!-- Correct -->
<th scope="col">Course</th>Ontbrekend bovenliggend element voor definitie-elementen oplossen
Definitietermen en hun beschrijvingen moeten in een definitielijst worden geplaatst, zodat schermlezers definitie-inhoud correct kunnen herkennen.
Zoek in de HTML-code het element
<dt>of<dd>.Plaats het element
<dt>of<dd>in een<dl>-container.
Voorbeeld
<!-- Incorrect -->
<dt>HTML</dt>
<dd>A markup language</dd>
<!-- Correct -->
<dl>
<dt>HTML</dt>
<dd>A markup language</dd>
</dl>Ontbrekende legend in fieldset oplossen
Elke <fieldset> hoort te beginnen met een <legend> die beschrijft waarvoor de gegroepeerde formuliervelden dienen. Dit helpt gebruikers van schermlezers het doel van de groep te begrijpen.
Zoek in de HTML-code het
<fieldset>-element in uw formulier.Voeg een
<legend>toe als eerste element binnen het<fieldset>-element.Schrijf een korte, beschrijvende tekst in de
<legend>die aangeeft waarvoor de groep formuliervelden dient.
Voorbeeld
<!-- Incorrect --> <fieldset><label for="name">Name:</label><input id="name" type="text"></fieldset>
<!-- Correct --> <fieldset><legend>Personal Information</legend><label for="name">Name:</label><input id="name" type="text"></fieldset>
1.3.4 Oriëntatie
Problemen met de oriëntatie van mobiele webapps van Apple oplossen
Het vergrendelen van een webapp op staande of liggende weergave kan het voor sommige gebruikers moeilijk maken om toegang tot de inhoud te krijgen, vooral voor mensen die afhankelijk zijn van een bepaalde apparaatoriëntatie. De meta-tag apple-mobile-web-app-orientation moet zo worden ingesteld dat elke oriëntatie is toegestaan.
- Zoek in uw HTML-code de
<meta>-tag met het attribuutname="apple-mobile-web-app-orientation". - Vervang de waarde van het attribuut
content=”portrait”ofcontent=”landscape”doorcontent=”any”. - Sla uw wijzigingen op en laad de pagina opnieuw.
Voorbeeld
<meta name="apple-mobile-web-app-orientation" content="any">
Problemen met de oriëntatie van de meta viewport oplossen
Viewportinstellingen die de schermoriëntatie vergrendelen of zoomen uitschakelen, kunnen het voor gebruikers moeilijker maken om inhoud te lezen en ermee te werken. Door zowel de staande als de liggende weergave en zoomen toe te staan, hebben gebruikers flexibiliteit op basis van hun apparaat en persoonlijke behoeften.
- Zoek in uw HTML-code de
meta name="viewport"-tag. - Verwijder alle attributen die verband houden met oriëntatiebeperkingen, zoals
orientation=portraitoforientation=landscape. - Verwijder alle attributen die zoomen verhinderen, zoals
maximum-scale=1ofuser-scalable=no. - Sla uw wijzigingen op en laad de pagina opnieuw.
Voorbeeld
<!-- Incorrect -->
<meta name="viewport" content="width=device-width, maximum-scale=1, orientation=portrait">
<!-- Correct-->
<meta name="viewport" content="width=device-width">
Problemen met CSS-oriëntatie oplossen
CSS-mediaqueries die inhoud vergrendelen op staande of liggende weergave, kunnen beperken hoe gebruikers met een pagina werken. Door deze beperkingen te verwijderen, kan de inhoud zich in beide oriëntaties aanpassen.
- Zoek in uw CSS-code mediaqueries die de oriëntatie beperken, zoals:
@media screen and (orientation: portrait){ … }@media screen and (orientation: landscape) { … }
- Verwijder deze oriëntatiespecifieke mediaqueries zodat de inhoud zich vrij kan aanpassen aan beide oriëntaties.
- Sla uw wijzigingen op en laad de pagina opnieuw.
Voorbeeld:
<!-- Incorrect -->
@media screen and (orientation: portrait) {
.container {
width: 400px;
}
}
<!-- Correct-->
.container {
width: 400px;
1.3.5 Doel van invoer identificeren
Ongeldige autocomplete-waarden in formuliervelden oplossen
Formuliervelden moeten duidelijk aangeven welk type informatie ze verwachten. Dit helpt browsers gegevens automatisch in te vullen en ondersteunt gebruikers met cognitieve of motorische beperkingen.
Zoek in uw HTML-code elk formulierveld (bijvoorbeeld
<input>,<textarea>of<select>) met een ongeldigeautocomplete-waarde.Werk het
autocomplete-attribuut bij met de juiste waarde die overeenkomt met de verwachte gegevens (bijvoorbeeld"email","name","postal-code").
Opmerking: Lees meer over een lijst met juiste autocomplete-waarden.
Voorbeeld
<!-- Incorrect -->
<input type="text" name="full_name" autocomplete="fullname">
<!-- Correct-->
<input type="text" name="full_name" autocomplete="name">Ontbrekend autocomplete-attribuut in formuliervelden oplossen
Formuliervelden moeten een autocomplete-attribuut bevatten, zodat browsers gegevens automatisch kunnen invullen en de toegankelijkheid verbetert voor gebruikers met cognitieve of motorische beperkingen.
Zoek in uw HTML-code elk formulierveld (bijvoorbeeld
<input>,<textarea>of<select>) dat gebruikersgegevens verzamelt.Voeg binnen elk element het
autocomplete-attribuut toe met de juiste waarde die overeenkomt met de verwachte gegevens (bijvoorbeeld"email","name","postal-code").
<!-- Incorrect --> <input type="text" name="full_name"> <!-- Correct--> <input type="text" name="full_name" autocomplete="name">
1.4.1 Gebruik van kleur
Ontbrekende opmaak van links oplossen
Wanneer kleur de enige manier is waarop een link is opgemaakt, kunnen sommige gebruikers, zoals mensen met kleurenblindheid, deze mogelijk niet als link herkennen. Extra opmaak, zoals onderstreping of vetgedrukte tekst, zorgt ervoor dat links duidelijk opvallen.
Zoek in uw HTML-code het
<a>-element.-
Voeg attributen toe aan het
<a>-element om andere visuele aanwijzingen dan kleur toe te voegen, zoals:text-decoration: underlinefont-weight: bold
border-bottom
Opmerking: U kunt CSS-klassen of externe stylesheets gebruiken om consistente opmaak toe te passen op alle links op uw site.
Voorbeeld
<!-- Incorrect -->
<a href="features.html" style="color: blue;">View Features</a>
<!-- Correct -->
<a href="features.html" style="color: blue; text-decoration: underline;">View Features</a>1.4.2 Audiobesturing
Ontbrekende audiobediening in audiospelers oplossen
Wanneer audio automatisch wordt afgespeeld, hebben gebruikers een manier nodig om het afspelen te regelen. Met audiobediening kunnen gebruikers pauzeren, stoppen of het volume aanpassen, wat belangrijk is voor toegankelijkheid en gebruikerservaring.
Zoek in uw HTML-code het element
<audio>.Voeg het attribuut
controlsrechtstreeks toe aan het element<audio>om de ingebouwde browserbediening in te schakelen.
Opmerking: Zorg ervoor dat het attribuut niet leeg is en geen waarde heeft.
Voorbeeld
<!-- Incorrect -->
<audio src="welcome-message.mp3" autoplay></audio>
<!-- Correct -->
<audio src="welcome-message.mp3" autoplay controls></audio>
1.4.3 Contrast (minimum)
Problemen met laag contrast in tekst oplossen
Een laag kleurcontrast tussen tekst en achtergrond kan inhoud moeilijk leesbaar maken, vooral voor gebruikers met een visuele beperking. Beter contrast helpt iedereen om de inhoud gemakkelijker te lezen.
Zoek in uw HTML-code het element dat tekst bevat (bijv.
p,h1,span,button).Controleer de huidige tekstkleur en achtergrondkleur met een hulpmiddel voor kleurcontrast, zoals WebAIM Contrast Checker.
-
Zorg ervoor dat de contrastverhouding aan het volgende voldoet:
Ten minste 4.5:1 voor gewone tekst.
Ten minste 3.0:1 voor grote tekst (18pt of 14pt vet).
Als de contrastverhouding te laag is, past u de tekstkleur of de achtergrondkleur aan totdat u de minimale contrastverhouding bereikt.
Voorbeeld
<!-- Incorrect -->
<p style="color: #888; background-color: #fff;">Schedule a demo</p>
<!-- Correct -->
<p style="color: #000; background-color: #fff;">Schedule a demo</p>1.4.6 Contrast (verbeterd)
Tekst moet een hoger contrast met de achtergrond hebben, zodat mensen met een visuele beperking de tekst gemakkelijker kunnen lezen.
Problemen met verbeterd contrast in tekst oplossen
Sommige gebruikers hebben een sterker contrast nodig om tekst comfortabel te lezen. Verbeterd contrast zorgt ervoor dat tekst ook onder moeilijke visuele omstandigheden leesbaar blijft.
Zoek in uw HTML-code het element dat tekst bevat (bijv.
h2,div,label,input, enz.).Controleer de contrastverhouding tussen de tekstkleur en de achtergrond met een hulpmiddel voor contrastcontrole, zoals WebAIM Contrast Checker.
-
Controleer of de verhouding voldoet aan de verbeterde normen:
Ten minste 7:1 voor gewone tekst
Ten minste 4.5:1 voor grote tekst (18pt of 14pt vet)
Pas de kleuren zo nodig aan om aan deze verbeterde contrastniveaus te voldoen.
Voorbeeld
<!-- Incorrect -->
<h2 style="color: #aaa; background-color: #fff;">Explore Our Features</h2>
<!-- Correct -->
<h2 style="color: #000; background-color: #fff;">Explore Our Features</h2> demo</p>1.4.8 Visuele weergave
Onvoldoende regelafstand in alinea's oplossen
Een goede regel- en alinea-afstand verbetert de leesbaarheid, vooral voor gebruikers met dyslexie of een visuele beperking.
Zoek het element
<p>in uw HTML-code.Zoek in de CSS van het element
<p>de CSS-eigenschapline-heighten stel deze in op ten minste 1,5 keer de lettergrootte.
Opmerking: U kunt dit doen met inline stijlen of een CSS-klasse.Zoek in de CSS van het element
<p>de CSS-eigenschapmargin-bottomen stel deze in op ten minste 1,5 keer de regelhoogte (bijvoorbeeld1.5em).
Voorbeeld
<!-- Incorrect -->
<p style="line-height: 1.2; margin-bottom: 0.8em;">This is a sample paragraph.</p>
<!-- Correct -->
<p style="line-height: 1.5; margin-bottom: 1.5em;">This is a sample paragraph.</p>
Uitgevulde tekst in alinea's oplossen
Volledig uitgevulde tekst kan ongelijkmatige ruimte tussen woorden veroorzaken, waardoor het voor sommige gebruikers moeilijker te lezen is, vooral voor mensen met een cognitieve of visuele beperking.
Zoek in uw HTML-code het element
<p>.Controleer in de CSS van het element
<p>oftext-align: justify;is toegepast.Verwijder de waarde
justifyen stel de uitlijning in plaats daarvan in opleft.
Opmerking: U kunt dit ook doen met inline stijlen of een CSS-klasse.
Voorbeeld
<!-- Incorrect -->
<p style="text-align: justify;">This is a sample paragraph.</p>
<!-- Correct -->
<p style="text-align: left;">This is a sample paragraph.</p>Absolute lettergroottes in alinea's oplossen
Het gebruik van absolute eenheden (bijv. px, pt of cm) voor lettergroottes kan ervoor zorgen dat tekst moeilijk te vergroten of verkleinen is, wat problemen geeft voor gebruikers met een visuele beperking of gebruikers die een schermvergroter gebruiken om te lezen. Voor betere toegankelijkheid op verschillende apparaten en schermformaten moeten lettergroottes in relatieve eenheden worden gedefinieerd (bijv. em, rem, % of vw).
Zoek in uw HTML-code het element
<p>.Zoek in de CSS-opmaak van het element
<p>het attribuutfont sizedat absolute eenheden gebruikt (bijv.px,pt,cm).Vervang de absolute eenheden door relatieve eenheden (bijv.
em,rem,%) door de inline stijlen of de bijbehorende CSS-klasse aan te passen.
Voorbeeld
<!-- Incorrect --> <p style="font-size: 16px;">Welcome to our website! Enjoy exploring our features.</p> <!-- Correct --> <p style="font-size: 1rem;">Welcome to our website! Enjoy exploring our features.</p>
Absolute regelhoogtes in alinea's oplossen
Het definiëren van regelhoogtes met absolute eenheden (zoals px, pt of cm) kan problemen veroorzaken wanneer gebruikers tekst proberen aan te passen voor een betere leesbaarheid, met name gebruikers met een visuele beperking. Voor betere toegankelijkheid voor verschillende gebruikers moeten regelhoogtes worden gedefinieerd met relatieve eenheden (zoals em, rem of %).
Zoek in uw HTML-code het element
<p>.Zoek in de CSS van het element
<p>de regelhoogte die absolute eenheden gebruikt (bijv.px,pt,cm).Vervang de absolute eenheden door relatieve eenheden (bijv.
em,remof%) door de inline stijlen of de bijbehorende CSS-klasse aan te passen.
Voorbeeld
<!-- Incorrect --> <p style="line-height: 24px;">The counseling center offers free sessions for all students.</p> <!-- Correct --> <p style="line-height: 1.5em;">The counseling center offers free sessions for all students.</p>
1.4.10 Reflow
Inhoud moet zich automatisch aanpassen en herschikken, zodat deze volledig bruikbaar en leesbaar blijft op smalle schermen met een breedte van slechts 320 pixels.
Problemen met viewportbeperkingen oplossen
Met de juiste viewport-eigenschappen wordt inhoud op alle schermformaten correct weergegeven, zonder dat gebruikers horizontaal hoeven te scrollen.
Ga in uw HTML naar het gedeelte
<head>van de pagina.Voeg binnen het gedeelte
<head>de tag<meta name="viewport">toe.Als er al een tag
<meta name="viewport">aanwezig is maar deze beperkende instellingen bevat, wijzigt u het attribuutcontentervan incontent="width=device-width, initial-scale=1".
Voorbeeld
<!-- Incorrect -->
<meta name="viewport" content="width=500">
<!-- Correct -->
<meta name="viewport" content="width=device-width, initial-scale=1">1.4.11 Contrast van niet-tekstuele elementen
Bedieningselementen met laag contrast oplossen
Een laag contrast bij onderdelen van de gebruikersinterface en afbeeldingen kan het voor gebruikers met een visuele beperking moeilijk maken om deze te herkennen en te gebruiken. Onderdelen zoals knoppen, invoervelden en selectiemenu's moeten een contrastverhouding van ten minste 3:1 hebben met aangrenzende kleuren.
- Zoek in uw HTML-code het onderdeel van de gebruikersinterface dat is gemarkeerd, zoals een
select,textareaofinput. - Pas de CSS-stijlen van het onderdeel aan, zodat de rand-, achtergrond- en tekstkleuren een contrastverhouding van ten minste 3:1 hebben met de aangrenzende kleuren.
Voorbeeld:
<input type="text" style="border: 1px solid #333;">
1.4.12 Tekstafstand
Inhoud moet goed leesbaar en bruikbaar blijven wanneer gebruikers de ruimte tussen letters, woorden en regels vergroten tot de gangbare minimale waarden.
Ontoegankelijke letterafstand oplossen
Een toegankelijke letterafstand helpt gebruikers met een visuele of cognitieve beperking om tekst comfortabeler te lezen.
Zoek in uw HTML-code het element met CSS dat de letterafstand regelt (bijv.
<span style="letter-spacing: 0.08em !important;">).Verwijder
!importantuit de waardeletter-spacingals dit wordt gebruikt.Stel de waarde
letter-spacingin op ten minste0.12em.
Voorbeeld:
<!-- Incorrect -->
<span style="letter-spacing: 0.08em !important;">Inaccessible letter spacing example.</span>
<!-- Correct -->
<span style="letter-spacing: 0.12em;">Accessible letter spacing example.</span>Ontoegankelijke woordafstand oplossen
Een goede woordafstand verbetert de leesbaarheid voor gebruikers die voor de duidelijkheid afhankelijk zijn van aangepaste afstanden.
Zoek in uw HTML het element met CSS dat de woordafstand regelt (bijv.
<p style="word-spacing: 0.1em !important;">).Verwijder
!importantuit de waardeword-spacingals dit wordt gebruikt.Stel de waarde
word-spacingin op ten minste0.16em.
Voorbeeld
<!-- Incorrect -->
<p style="word-spacing: 0.1em !important;">Inaccessible word spacing example.</p>
<!-- Correct -->
<p style="word-spacing: 0.16em;">This is an example paragraph with accessible word spacing.</p>Ontoegankelijke regelhoogte oplossen
Een toegankelijke regelhoogte verbetert de leesbaarheid en helpt gebruikers om tekstblokken gemakkelijker te volgen.
Zoek in uw HTML-code het element met CSS dat de regelhoogte regelt (bijv.
<div style="line-height: 1.2 !important;">).Verwijder
!importantuit de waardeline-heightals dit wordt gebruikt.Stel de waarde
line-heightin op ten minste1.5.
Voorbeeld
<!-- Incorrect -->
<div style="line-height: 1.2 !important;">Inaccessible line height example.</div>
<!-- Correct -->
<div style="line-height: 1.5;">This block of text has accessible line height.</div>2.1.1 Toetsenbord
Alle functies en bedieningselementen moeten uitsluitend met een toetsenbord te gebruiken zijn, zonder dat toetsen snel of binnen een bepaald tijdsbestek ingedrukt hoeven te worden.
Ontoegankelijke scrolbare gebieden oplossen
Alle onderdelen van een scrolbare pagina moeten met een toetsenbord te bedienen zijn. Zo kunnen gebruikers die afhankelijk zijn van toetsenbordnavigatie door de inhoud scrollen en deze bekijken.
Zoek in uw HTML-code de scrolbare container (bijv.
<div>of<section>metoverflow: autoofoverflow: scrollin CSS).Zoek binnen het scrolbare element het attribuut
tabindexof voeg dit toe.Stel
tabindex="0"in om het scrolbare gebied met een toetsenbord focusbaar te maken.
Voorbeeld
<!-- Incorrect -->
<div style="overflow: auto; height: 200px;">
<p>This content cannot be scrolled using the keyboard.</p>
</div>
<!-- Correct -->
<div style="overflow: auto; height: 200px;" tabindex="0">
<p>This content can now be scrolled using the keyboard.</p>
</div>Ontoegankelijke inlineframes oplossen
Inlineframes mogen geen negatieve tabindex-waarden gebruiken, omdat toetsenbordgebruikers er dan geen toegang toe hebben.
Zoek in uw HTML-code het inlineframe-element (
<iframe>).Zoek binnen het element
<iframe>het attribuuttabindex.Verwijder elke negatieve tabindex-waarde (bijv.
tabindex="-1") en vervang deze doortabindex="0"om het frame met het toetsenbord toegankelijk te maken.
Voorbeeld
<!-- Incorrect -->
<iframe src="video.html" tabindex="-1"></iframe>
<!-- Correct -->
<iframe src="video.html" tabindex="0"></iframe>2.2.1 Timing aanpasbaar
Door de gebruiker te regelen wijzigingen in tijdgebonden inhoud oplossen
Om de toegankelijkheid voor gebruikers te waarborgen, moet inhoud die automatisch wordt vernieuwd door de gebruiker te regelen zijn of duidelijk worden aangekondigd, zodat gebruikers de vernieuwingsfrequentie kunnen aanpassen.
Zoek in uw HTML-code het element
<meta>binnen het element<body>.
Opmerking: Als het element<meta>niet bestaat, voegt u een nieuwe tag<meta>toe.Voeg een attribuut
http-equiv="refresh"toe aan het element<meta>.Als het element
<meta>bestaat maar de vernieuwingstijd te kort is, past u het attribuutcontentaan om een langer vernieuwingsinterval in te stellen (bijv.content="72000").
Voorbeeld
<!-- Incorrect -->
<meta http-equiv="refresh" content="5">
<!-- Correct -->
<meta http-equiv="refresh" content="72000">2.2.2 Pauzeren, stoppen, verbergen
Verouderde tags in inhoud oplossen
Gebruik geen verouderde HTML-elementen, zoals <blink> en <marquee>, om moderne en toegankelijke webpraktijken te bevorderen. Veel hulptechnologieën ondersteunen deze elementen niet en ze kunnen toegankelijkheidsproblemen veroorzaken.
Zoek in uw HTML-code naar verouderde tags zoals
<blink>of<marquee>.Vervang de tag
<blink>of<marquee>door een toegankelijker alternatief, zoals een tag<span>, en pas geschikte CSS toe voor animatie of opmaak.
Voorbeeld
<!-- Incorrect -->
<blink>Registration ends soon!</blink>
<marquee>Scrolling announcement</marquee>
<!-- Correct -->
<span style="animation: blink-animation 1s infinite;">Registration ends soon!</span>
<div style="animation: scroll-left 10s linear infinite;">Scrolling announcement</div>2.4.1 Blokken omzeilen
Ontbrekend omzeilmechanisme oplossen
Een link “Naar hoofdinhoud gaan” helpt gebruikers om herhaalde navigatie-elementen over te slaan en rechtstreeks naar de kerninhoud van de pagina te gaan.
Zoek in uw HTML-code het element
<body>.Voeg direct na de openingstag
<body>een tag<a>toe en gebruik het attribuuthrefom te verwijzen naar het gedeelte met de hoofdinhoud (het element<main>). Met deze link kunnen gebruikers de navigatie overslaan en rechtstreeks naar de hoofdinhoud gaan.
Opmerking: U kunt een ID-verwijzing naar het gedeelte met de hoofdinhoud gebruiken (bijv. id="main-content") voor eenvoudige navigatie.
Voorbeeld
<!-- Incorrect -->
<body>
<nav>...</nav>
<main id="main-content">...</main>
</body>
<!-- Correct -->
<body>
<a href="#main-content">Skip to main content</a>
<nav>...</nav>
<main id="main-content">...</main>
</body>2.4.2 Paginatitel
Ontbrekende paginatitels oplossen
Een beschrijvende titel helpt gebruikers het doel van de pagina te begrijpen en helpt bij de navigatie, vooral voor gebruikers van schermlezers.
Zoek in uw HTML-code het gedeelte
<head>van de pagina.Voeg een element
<title>toe binnen het element<head>.Voer een duidelijke en beschrijvende titel voor de pagina in binnen de tag
<title>.
Voorbeeld
<!-- Incorrect -->
<head>
</head>
<!-- Correct -->
<head>
<title>Contact Us - YuJa Inc.</title>
</head>2.4.3 Focusvolgorde
Toetsenbordgebruikers moeten zich in een duidelijke, logische volgorde door de inhoud kunnen bewegen.
Onjuiste focusvolgorde oplossen
De focusvolgorde zorgt ervoor dat interactieve elementen voor toetsenbordgebruikers in een logische, intuïtieve volgorde te doorlopen zijn.
Zoek in uw HTML-code het gemarkeerde interactieve element (bijvoorbeeld
<a>,<button>,<input>, enzovoort).Controleer de volgorde ervan in de HTML-code en zorg ervoor dat deze een logische volgorde volgt van de bovenkant van de pagina of sectie naar de onderkant, zonder belangrijke elementen over te slaan. Lees meer over focusvolgorde.
Opmerking:
Als elementen niet in de gewenste focusvolgorde staan, wijzig dan hun
tabindex-waarden om een correcte focusvolgorde te garanderen.Als u een aangepast element focusbaar maakt (zoals een
<div>of<span>), gebruik dantabindex="0"om het op te nemen in de natuurlijke tabvolgorde.
Voorbeeld
<!-- Incorrect-->
<button>Start</button>
<input type="text" placeholder="First Name" tabindex="3">
<input type="text" placeholder="Last Name" tabindex="1">
<button>Submit</button>
<!-- Correct-->
<button>Start</button>
<input type="text" placeholder="First Name" tabindex="1">
<input type="text" placeholder="Last Name" tabindex="2">
<button>Submit</button>2.4.4 Linkdoel (in context)
Het doel van elke link moet duidelijk zijn uit de linktekst zelf of uit de informatie eromheen.
Ontbrekende linkbeschrijvingen oplossen
Elke link moet duidelijk beschrijven wat het doel ervan is, zodat gebruikers begrijpen wat er gebeurt wanneer zij de link activeren.
Zoek in uw HTML-code het element dat als link wordt gebruikt (bijvoorbeeld
<a>,<input>of<button>met een linkactie).Vervang de vage linktekst (bijvoorbeeld “Klik hier” of “Meer”) door een korte, beschrijvende tekst die de bestemming of actie uitlegt.
Opmerking: Als de link pictogrammen of afbeeldingen gebruikt, voeg dan een toegankelijke naam toe met het attribuutaria-labeloftitle.
Voorbeeld
<!-- Incorrect -->
<a href="/reports">Report</a>
<!-- Correct -->
<a href="/reports">View quarterly reports</a>
2.4.5 Meerdere manieren
Ontbrekende meerdere navigatiemethoden oplossen
Pagina’s moeten meer dan één manier bieden waarop gebruikers content kunnen vinden. Veelvoorkomende opties zijn navigatielandmarks, een zoekfunctie of een link “navigatie overslaan”. Door ten minste twee methoden toe te voegen, kunnen gebruikers met verschillende behoeften gemakkelijker door de pagina navigeren.
- Voeg in uw HTML-code een andere manier toe waarop gebruikers de content kunnen vinden, op een van de volgende manieren:
-
-
Een navigatielandmark toevoegen om het hoofdnavigatiegebied te identificeren.
<nav> <ul> <li><a href="/home">Home</a></li> <li><a href="/courses">Courses</a></li> <li><a href="/contact">Contact</a></li> </ul> </nav> -
Een zoeklandmark toevoegen aan een zoekfunctie, als die er is.
<form role="search"> <label for="search">Search</label> <input id="search" type="text" name="q"> <button type="submit">Go</button> </form> -
Een link “navigatie overslaan” bovenaan uw pagina toevoegen, zodat gebruikers herhaalde content kunnen overslaan.
<a href="#maincontent" class="skip-link">Skip to main content</a>
-
-
- Sla uw wijzigingen op en laad de pagina opnieuw.
2.4.6 Koppen en labels
Ontbrekende labels bij formuliervelden oplossen
Formuliervelden hebben beschrijvende labels nodig, zodat gebruikers begrijpen welke informatie zij moeten invoeren.
Zoek in uw HTML-code het element
<form>en de bijbehorende velden (bijvoorbeeld<input>,<textarea>).Voeg voor elk veld ervóór een
<label>-element toe.Neem binnen het
<label>-element een attribuutfor=""op met een waarde die overeenkomt met deidvan het bijbehorende formulierveld.
Voorbeeld
<!-- Incorrect -->
<input type="email" id="email" name="email" />
<!-- Correct -->
<label for="email">Email address</label> <input type="email" id="email" name="email" />rly reports</a>Knoppen zonder label oplossen
Knoppen moeten duidelijke labels hebben die aangeven welke actie ze uitvoeren. Toegankelijke labels zorgen ervoor dat gebruikers van schermlezers het doel van de knop begrijpen.
Zoek in uw HTML-code het element
<button>.Voeg binnen het element
<button>een attribuutaria-labeltoe.Voer binnen het attribuut
aria-labeleen korte beschrijving in die het doel van de knop duidelijk maakt.
Voorbeeld
<!-- Incorrect -->
<button>Close</button>
<!-- Correct -->
<button aria-label="Close window">Close</button>2.4.8 Locatie
Ontbrekende indicatoren voor de paginalocatie oplossen
Pagina’s moeten gebruikers een manier bieden om te begrijpen waar zij zich binnen de site of toepassing bevinden. Dit kan door kruimelpaden, sitemaplinks, indicatoren voor de huidige pagina of relationele links toe te voegen.
- Zoek in uw HTML-code het gedeelte waar de navigatie-elementen staan of waar de paginastructuur wordt bepaald (bijvoorbeeld elementen binnen een
nav,headerof bovenaan debodyvan de pagina). - Voeg een indicator voor de paginalocatie toe aan uw navigatie-elementen, op een van de volgende manieren:
-
Een kruimelpad toevoegen: Voeg een
nav-element toe met een geordende lijst die het pad naar de huidige pagina toont. Het is een navigatiehulp die gebruikers laat zien welk pad zij hebben gevolgd om hun huidige locatie te bereiken.<nav aria-label="Breadcrumb"> <ol> <li><a href="/home">Home</a></li> <li><a href="/courses">Courses</a></li> <li aria-current="page">Course Details</li> </ol> </nav> -
Een sitemaplink toevoegen: Plaats de sitemaplink in de
footervan uw HTML-code.<footer> <a href="/sitemap">Sitemap</a> </footer> -
Een indicator voor de huidige pagina toevoegen: Zoek de
a-tag van de actieve pagina en voeg het attribuutaria-current="page"toe.<nav> <ul> <li><a href="/home">Home</a></li> <li><a href="/about" aria-current="page">About</a></li> </ul> -
Relationele links toevoegen: Zoek het gedeelte
headvan uw HTML-code en voeglink-elementen toe voor de vorige, volgende of bovenliggende pagina’s.<link rel="prev" href="/chapter-1"> <link rel="next" href="/chapter-3"> <link rel="up" href="/table-of-contents">
-
- Controleer of er ten minste één locatie-indicator aanwezig is.
- Sla uw wijzigingen op en laad de pagina opnieuw.
2.4.9 Linkdoel (alleen link)
Problemen met het linkdoel oplossen
Links met dezelfde toegankelijke naam (de linktekst of het label aria-label) moeten naar dezelfde bestemming leiden. Als twee links er hetzelfde uitzien maar naar verschillende plaatsen gaan, kunnen gebruikers in verwarring raken.
- Zoek in uw HTML-code de links die zijn gemarkeerd omdat ze dezelfde linktekst of hetzelfde aria-label hebben.
- Los het probleem op met een van de onderstaande opties:
-
Als de links naar dezelfde bestemming moeten verwijzen, zoek dan de
a-tag van de links en pas dehref-waarden erin zo aan dat ze gelijk zijn.<a href="/about">Read more</a> <a href="/about">Read more</a> -
Als de links naar verschillende bestemmingen moeten verwijzen, wijzig dan de linktekst of het
aria-labelzodat elk doel duidelijk wordt beschreven.<a href="/about">Read more about us</a> <a href="/contact">Read more about contacting us</a>
-
- Sla uw wijzigingen op en laad de pagina opnieuw.
2.4.10 Sectiekoppen
Ontbrekende paginakoppen oplossen
Koppen helpen gebruikers de structuur van een pagina te begrijpen. Zonder koppen met een juiste structuur kan het voor mensen die hulptechnologieën gebruiken lastig zijn om te navigeren en de inhoud te begrijpen.
- Zoek in uw HTML-code het hoofdinhoudsgebied van de pagina (bijvoorbeeld de
body). -
Voeg kopelementen toe die het hoofdonderwerp van de pagina beschrijven.
Opmerking: Elke pagina moet beginnen met ten minste éénh1-element. Als de pagina meerdere secties heeft, voeg dan subkoppen toe (bijvoorbeeldh2,h3,h4)<h1>Course Overview</h1> <h2>Course Objectives</h2> <h2>Course Materials</h2> <h3>Required Readings</h3> <h3>Optional Resources</h3> - Zorg ervoor dat er ten minste één kop aanwezig is en dat de koppen een duidelijke opzet van de paginainhoud vormen.
- Sla uw wijzigingen op en laad de pagina opnieuw.
Ontbrekende sectiekoppen oplossen
Elk section-element moet een kop bevatten die het doel ervan beschrijft. Zonder kop begrijpen gebruikers mogelijk de inhoud of functie van die sectie niet.
- Zoek in uw HTML-code het
section-element dat is gemarkeerd. - Voeg een
h2-element toe als eerste onderliggende element insection.
Opmerking: Het kopniveau kan afhangen van de koppenstructuur van uw pagina. -
Neem binnen het
h2-element een kop voor uw sectie op.<section> <h2>Advanced Accessibility</h2> <p>This course covers advanced topics in accessibility.</p> </section> - Sla uw wijzigingen op en laad de pagina opnieuw.
2.5.3 Label in naam
Afwijkende toegankelijke naam en zichtbaar label oplossen
Zorg ervoor dat de toegankelijke naam van interactieve elementen overeenkomt met hun zichtbare label, zodat verwarring wordt voorkomen en duidelijkheid wordt gewaarborgd voor gebruikers die afhankelijk zijn van hulptechnologieën.
Zoek in uw HTML-code het interactieve element (bijvoorbeeld
button,div) met een attribuutaria-label.Vervang de inhoud van het element door dezelfde tekst als in het attribuut
aria-label.
Voorbeeld
<!-- Incorrect -->
<button aria-label="Submit Form">Send</button>
<!-- Correct -->
<button aria-label="Submit Form">Submit Form</button>2.5.5 Doelgrootte
Onvoldoende grootte van interactieve elementen oplossen
Interactieve elementen, zoals knoppen, links en formulierbesturingselementen, moeten groot genoeg zijn, zodat gebruikers er gemakkelijk mee kunnen werken met een muis of toetsenbord.
Zoek in uw HTML-code het interactieve element (bijvoorbeeld
button,input,textarea).Zoek de attributen
widthenheightin uw element.Pas de attributen
widthenheightaan, zodat het element minimaal 44px bij 44px groot is (bijvoorbeeldwidth: 44px; height: 44px).
Voorbeeld
<!-- Incorrect -->
<button style="width: 16px; height: 16px;">More Infomation</button>
<!-- Correct -->
<button style="width: 44px; height: 44px;">More Information</button>2.5.8 Doelgrootte (minimum)
Te kleine aanraakdoelen oplossen
Aanraakdoelen, zoals knoppen, links of andere interactieve elementen, moeten groot genoeg zijn, zodat gebruikers van apparaten met een aanraakscherm er gemakkelijk op kunnen tikken.
Zoek in uw HTML-code het interactieve element (bijvoorbeeld
button,input,textarea).Zoek de attributen
widthenheightin uw element.Pas de attributen
widthenheightaan, zodat het element minimaal 24px bij 24px groot is (bijvoorbeeldwidth: 24px; height: 24px).
Voorbeeld
<!-- Incorrect -->
<button style="width: 16px; height: 16px;">Infomation</button>
<!-- Correct -->
<button style="width: 24px; height: 24px;">Infomation</button>3.1.1 Taal van de pagina
Ontbrekende taaldeclaratie oplossen
Elke webpagina moet aangeven in welke taal deze is geschreven, zodat hulptechnologieën, zoals schermlezers, de inhoud correct kunnen voorlezen.
Zoek in uw HTML-code het element
<html>.Voeg binnen het element
<html>een attribuutlangtoe en voer een waarde in die de juiste taal van de pagina weergeeft (bijvoorbeeldlang="en"voor Engels,lang="es"voor Spaans).
Voorbeeld
<!-- Incorrect --> <html> <!-- Correct --> <html lang="en">
Afwijkende opgegeven taal oplossen
De opgegeven taal van de pagina moet overeenkomen met de taal die daadwerkelijk in de inhoud wordt gebruikt, zodat hulptechnologieën de inhoud correct kunnen interpreteren en weergeven.
Zoek in uw HTML-code het element
<html>.Zoek binnen het element
<html>de attributenlangenxml:lang.Stel de waarde van de attributen
langenxml:langin op dezelfde geldige taalcode die overeenkomt met de taal die in uw inhoud wordt gebruikt.
Voorbeeld
<!-- Incorrect --> <html lang="fr" xml:lang="en"> <!-- Correct --> <html lang="en" xml:lang="en">
3.1.2 Taal van onderdelen
Ongeldige waarde voor het attribuut lang oplossen
Als delen van uw webpagina in een andere taal zijn geschreven, moet u hulptechnologieën, zoals schermlezers, op de hoogte stellen van de wijziging. Dit helpt gebruikers die van deze hulpmiddelen afhankelijk zijn om de inhoud in de juiste taal te begrijpen.
Zoek in uw HTML-code het inhoudselement (bijvoorbeeld
<p>,<span>,<div>) waarbij het ongeldige attribuutlangis gemarkeerd.Werk het attribuut
langbij met een geldige waarde die de juiste taal weergeeft (bijvoorbeeldlang="en"voor Engels,lang="es"voor Spaans).
Voorbeeld
<!-- Incorrect -->
<p lang="espanol-spain">Este es un párrafo en español.</p> <!-- Correct --> <p lang="es">Este es un párrafo en español.</p>
3.2.2 Bij invoer
Ontbrekende verzendknoppen oplossen
Formulieren moeten een expliciete trigger hebben, zodat gebruikers, met name gebruikers van een toetsenbord of schermlezer, gegevens met succes kunnen verzenden. Acties mogen alleen plaatsvinden wanneer een gebruiker bewust een verzendelement activeert.
Zoek het element
<form>in uw HTML.Voeg binnen het element
formeen<button type="submit">of<input type="submit">toe vóór de afsluitende tag</form>, als deze ontbreekt.Gebruik een duidelijk gelabelde verzendknop die het formulier alleen verzendt wanneer erop wordt geklikt of op Enter wordt gedrukt (bijvoorbeeld
<button type="submit">Submit</button>).
Voorbeeld
<!-- Incorrect --> <form action="/submit" method="post">
<input type="text" name="name" required>
</form> <!-- Correct -->
<form action="/submit" method="post">
<input type="text" name="name" required>
<button type="submit">Submit</button>
</form>
3.2.4 Consistente identificatie
Niet-beschrijvende linkteksten oplossen
Links moeten tekst hebben die hun doel of bestemming duidelijk beschrijft.
Zoek in uw HTML het element
<a>met vage of generieke tekst, zoals “klik hier”.Vervang de tekst tussen de
<a>-tags door beschrijvende linktekst die de bestemming of het doel uitlegt.
Voorbeeld
<!-- Incorrect --> <a href="/report">Click here</a> <!-- Correct --> <a href="/report">View Annual Report</a>
3.2.5 Wijziging op verzoek
Gebruikers informeren over nieuwe tabbladen
Als een link in een nieuw tabblad of nieuw venster wordt geopend, moeten gebruikers daarover duidelijk worden geïnformeerd. Dit helpt verwarring te voorkomen, met name bij mensen die schermlezers of toetsenbordnavigatie gebruiken, doordat de juiste verwachting wordt gewekt.
Zoek in uw HTML-code het element
<a>met het attribuuttarget="_blank".Voeg een
aria-labeltoe of pas de zichtbare tekst aan zodat deze “(opent in een nieuw tabblad)” bevat.
Voorbeeld
<!-- Incorrect --> <a href="https://example.com" target="_blank">Visit Example</a> <!-- Correct --> <a href="https://example.com" target="_blank" aria-label="Visit Example (opens in a new tab)">Visit Example</a>
3.3.1 Foutidentificatie
Foutbeschrijvingen voor invoervelden als atomair markeren
Wanneer formulierfouten worden aangekondigd met een live-regio met aria-live="assertive", moet deze ook aria-atomic="true" bevatten. Zo wordt het volledige foutbericht voorgelezen aan gebruikers van schermlezers.
Zoek in uw HTML-code het element met
aria-live="assertive"dat wordt gebruikt om foutberichten aan te kondigen..Voeg het attribuut
aria-atomic="true"toe aan hetzelfde element.
Voorbeeld
<!-- Incorrect --> <label for="email">Email</label> <input type="email" id="email" name="email" required> <div id="email-error" aria-live="assertive"> Please enter a valid email address. </div> <!-- Correct --> <label for="email">Email</label> <input type="email" id="email" name="email" required> <div id="email-error" aria-live="assertive" aria-atomic="true"> Please enter a valid email address. </div>
3.3.2 Invoerlabel
Onduidelijk invoerlabel oplossen
Formulierinvoervelden moeten toegankelijke namen hebben, zodat gebruikers, ook gebruikers van schermlezers, weten welke informatie wordt gevraagd. Zonder label of aria-label is het doel van het invoerveld onduidelijk.
- Zoek in uw HTML-code het
input-element op dat is gemarkeerd. -
Voeg binnen het element een
aria-label-attribuut toe om het invoerveld een toegankelijke naam te geven.<input type="text" aria-label="First Name"> - Sla uw wijzigingen op en laad de pagina opnieuw.
4.1.2 Naam, rol, waarde
Elementen van de gebruikersinterface moeten hun naam, doel en huidige waarde beschikbaar stellen, zodat hulptechnologieën ze kunnen begrijpen en ermee kunnen werken.
Ontbrekende toegankelijke namen voor elementen van de gebruikersinterface oplossen
Alle knoppen, invoervelden en andere interactieve elementen moeten toegankelijke namen hebben, zodat schermlezers kunnen aankondigen wat elk item doet.
Zoek in uw HTML-code de componenten van de gebruikersinterface op, zoals
<input>,<button>,<select>of andere aanklikbare elementen.Voeg binnen het component een toegankelijke naam toe met een van de volgende methoden:
Voeg een
<label>-element toe met eenfor-attribuut dat is gekoppeld aan deidvan het element (bijvoorbeeld<label for="username">Username</label>).Gebruik het
aria-label-attribuut om het element rechtstreeks te beschrijven (bijvoorbeeldaria-label="Search this site").Gebruik het
aria-labelledby-attribuut om te verwijzen naar een ander element dat de naam bevat (bijvoorbeeldaria-labelledby="search-label").
Voorbeeld
<!-- Incorrect --> <input type="text" id="username" name="username"> <!-- Correct --> <input type="text" id="username" name="username" aria-label="Username">
Ontbrekende toegankelijke namen voor links oplossen
Links moeten toegankelijke namen hebben die hun bestemming of functie beschrijven.
Zoek in uw HTML-code het
<a>-element op.Voeg binnen het
<a>-element eentitle- ofaria-label-attribuut toe dat duidelijk beschrijft waar de link naartoe leidt of wat de link doet.
Voorbeeld
<!-- Incorrect --> <a href="/downloads/report.pdf">Download Report</a> <!-- Correct --> <a href="/downloads/report.pdf" title="Download the 2024 Annual Report">Download Report</a>
Ontbrekende toegankelijke namen voor knoppen oplossen
Knoppen moeten duidelijke labels hebben die aangeven welke actie ze uitvoeren. Toegankelijke labels zorgen ervoor dat gebruikers van schermlezers het doel van de knop begrijpen.
-
Zoek in uw HTML-code het
<button>-element op. - Voeg binnen het
<button>-element eenaria-label-attribuut toe. - Voer in het
aria-label-attribuut een korte beschrijving in die het doel van de knop duidelijk weergeeft.
Voorbeeld
<!-- Incorrect --> <button>×</button> <!-- Correct --> <button aria-label="Close window">×</button>
Geneste interactieve besturingselementen oplossen
Interactieve besturingselementen mogen niet binnen andere interactieve elementen worden genest. Het nesten van besturingselementen (bijvoorbeeld een <button> binnen een link of een <a> binnen een <button>) kan gebruikers van hulptechnologieën in verwarring brengen en leiden tot onverwacht of defect gedrag van het toetsenbord en de schermlezer.
- Zoek in uw HTML-code het interactieve besturingselement op dat binnen een ander interactief besturingselement is geplaatst (bijvoorbeeld
<button>,<a>,<input>). - Pas de HTML-code zo aan dat elk interactief element afzonderlijk staat en slechts één actie uitvoert.
Voorbeeld
<!-- Incorrect --> <a href="/profile"> <button>View Profile</button> </a> <!-- Correct --> <a href="/profile">View Profile</a>
Ontbrekende toegankelijke namen voor <iframe>
<iframe>-elementen moeten een duidelijke, beschrijvende, toegankelijke naam hebben, zodat gebruikers van schermlezers begrijpen welke inhoud het ingesloten frame bevat. Zonder label kondigen hulptechnologieën mogelijk alleen “frame” of “iframe” aan, wat geen nuttige context biedt.
- Zoek in uw HTML-code het
<iframe>-element op. -
Voeg een toegankelijke naam toe met een van de volgende methoden:
- Een
title-attribuut (het meest gebruikelijk en aanbevolen). - Een
aria-label- ofaria-labelledby-attribuut dat verwijst naar zichtbare tekst op de pagina.
- Een
- Zorg ervoor dat het label duidelijk het doel of de inhoud van het ingesloten frame beschrijft.
- Houd de beschrijving kort maar zinvol, zodat gebruikers weten wat ze kunnen verwachten.
Voorbeeld
<!-- Incorrect --> <iframe src="https://yuja.com/map"></iframe> <!-- Correct --> <iframe src="https://yuja.com/map" title="Map showing our office location"></iframe>
Problemen met ARIA-toegankelijkheid
Ontbrekende toegankelijke namen voor links oplossen
Links moeten toegankelijke namen hebben die hun bestemming of functie beschrijven.
Zoek in uw HTML-code het
<a>-element op.Voeg binnen het
<a>-element eentitle- ofaria-label-attribuut toe dat duidelijk beschrijft waar de link naartoe leidt of wat de link doet.
Voorbeeld
<!-- Incorrect --> <a href="/downloads/report.pdf">Download Report</a> <!-- Correct --> <a href="/downloads/report.pdf" title="Download the 2024 Annual Report">Download Report</a>
Ongeldige ARIA-attributen verwijderen
ARIA-attributen mogen alleen worden gebruikt bij specifieke rollen of HTML-elementen. Als een ARIA-attribuut wordt gebruikt waar dat niet is toegestaan, werkt het niet goed en kan het gebruikers in verwarring brengen.
Zoek in uw HTML-code het element met ongeldige ARIA-attributen op (bijvoorbeeld
aria-liveop<button>,aria-expandedop<div>).Verwijder de ongeldige ARIA-attributen of voeg het juiste rolattribuut toe dat bij het ARIA-attribuut past.
Voorbeeld
<!-- Incorrect --> <div aria-checked="true">Option 1</div> <!-- Correct --> <div role="checkbox" aria-checked="true">Option 1</div>
Ongeldige ARIA-rollen oplossen
Gebruik uitsluitend geldige ARIA-rollen om de rol van elementen te definiëren.
Zoek in uw HTML-code het
role-attribuut op bij een willekeurig element.Vervang elke ongeldige rolwaarde door een geldige ARIA-rol die is gedefinieerd in de ARIA-specificatie.
Voorbeeld
<!-- Incorrect --> <div role="navigationbar">Main Menu</div> <!-- Correct --> <div role="navigation">Main Menu</div>
Ontbrekende toegankelijke naam voor brailleeigenschappen oplossen
Wanneer brailleeigenschappen worden gebruikt, moeten ze een bijbehorende toegankelijke naam hebben die hulptechnologieën kunnen begrijpen.
Zoek in uw HTML-code een element op met het attribuut
aria-braillelabelofaria-brailleroledescription.Voeg binnen het element een
aria-labeltoe dat overeenkomt met de betekenis van het braillelabel.
Voorbeeld
<!-- Incorrect --> <div aria-braillelabel="Submit Button"></div> <!-- Correct --> <div aria-braillelabel="Submit Button" aria-label="Submit"></div>
Voorwaardelijk onjuiste ARIA-attributen oplossen
ARIA-attributen mogen alleen worden gebruikt wanneer de context van de rol van het element dat vereist. Wanneer een attribuut nodig is, moet het op de juiste manier worden gebruikt om een correcte toegankelijkheid te garanderen.
Zoek in uw HTML-code het element met het gemarkeerde ARIA-attribuut op (bijvoorbeeld
aria-expanded,aria-checked).Zoek de
rolebinnen het element op (bijvoorbeeldrole="button",role="checkbox").Raadpleeg de specificatie van ARIA-rollen om te controleren of het attribuut vereist is voor die rol.
Verwijder het ongeldige attribuut voor de rol van het element.
Opmerking: Als het attribuut vereist is, controleert u of de waarde van het attribuut juist is.
Voorbeeld
<!-- Incorrect --> <p aria-expanded="true">Click here for more details on the product.</p> <!-- Correct --> <p>Click here for more details on the product.</p>
Gebruik van verouderde ARIA-rollen oplossen
Verouderde ARIA-rollen moeten worden vervangen door de bijgewerkte rollen om de toegankelijkheidsnormen te handhaven.
Zoek in uw HTML-code het element met de verouderde ARIA-rol op (bijvoorbeeld
role="presentation",role="toolbar").Vervang de verouderde rol door een geldige ARIA-rol die beter bij het doel van het element past (bijvoorbeeld
role="none",role="navigation").
Voorbeeld
<!-- Incorrect --> <div role="toolbar"> <button>Save</button> <button>Cancel</button> </div> <!-- Correct --> <div role="navigation"> <button>Save</button> <button>Cancel</button> </div>
Ongeldige ARIA-dialoogvensters oplossen
Dialoogelementen moeten een geldige toegankelijke naam hebben, zodat ze correct worden beschreven voor hulptechnologieën.
Zoek in uw HTML-code het element met
role="dialog"ofrole="alertdialog"op (bijvoorbeeld<div role="dialog">).Voeg binnen het element een
aria-label- ofaria-labelledby-attribuut toe en neem een toegankelijke naam voor het dialoogvenster op.
Voorbeeld
<!-- Incorrect --> <div role="dialog"> <h2>Unsaved Changes</h2> <p>You have unsaved changes. Are you sure you want to leave?</p> </div> <!-- Correct --> <div role="dialog" aria-label="Unsaved Changes"> <h2>Unsaved Chages</h2> <p>You have unsaved changes. Are you sure you want to leave?</p> </div>
Verborgen body-element oplossen
Zorg ervoor dat het body-element niet ten onrechte voor hulptechnologieën is verborgen.
Zoek in uw HTML-code het
<body>-element op.Verwijder alle
aria-hidden="true"-attributen van het<body>-element, zodat de inhoud toegankelijk blijft.
Voorbeeld
<!-- Incorrect --> <body aria-hidden="true"> <h1>Welcome to Our Website</h1> <p>Explore our features and services.</p> </body> <!-- Correct --> <body> <h1>Welcome to Our Website</h1> <p>Explore our features and services.</p> </body>
Ontbrekende toegankelijke namen voor invoervelden oplossen
Invoervelden moeten een toegankelijke naam hebben die hun doel voor gebruikers beschrijft.
Zoek in uw HTML-code het element van het invoerveld op (bijvoorbeeld
<input>,<select>,<textarea>).Voeg binnen het element een
aria-label- ofaria-labelledby-attribuut toe om het invoerveld een toegankelijke naam te geven.
Voorbeeld
<!-- Incorrect --> <input type="text" name="email"> <!-- Correct --> <input type="text" name="email" aria-label="Email address">
Gebruik van verboden ARIA-attributen oplossen
Sommige ARIA-attributen zijn bij bepaalde elementen niet toegestaan, omdat ze schermlezers in verwarring kunnen brengen of toegankelijkheidsproblemen kunnen veroorzaken.
Zoek in uw HTML-code het element met een verboden ARIA-attribuut op (bijvoorbeeld
aria-pressedop een niet-interactief element).Verwijder het verboden ARIA-attribuut van het element.
Voorbeeld
<!-- Incorrect --> <div aria-pressed="true"> <span>Save changes</span> </div> <!-- Correct --> <div> <span>Save changes</span> </div>
Ontbrekende vereiste ARIA-attributen oplossen
Sommige ARIA-rollen hebben specifieke attributen nodig om hun doel aan hulptechnologieën over te brengen. Als die attributen ontbreken, begrijpen gebruikers die afhankelijk zijn van schermlezers mogelijk niet hoe het element zich gedraagt. Lees meer over welke ARIA-attributen vereist zijn voor elke rol.
Zoek in uw HTML-code het element met de gemarkeerde ARIA-rol op (bijvoorbeeld
role="checkbox",role="slider",role="progressbar").Bepaal welk vereist ARIA-attribuut voor die rol ontbreekt (bijvoorbeeld
aria-checked,aria-valuenow,aria-valuemin).Voeg het ontbrekende ARIA-attribuut toe met een passende waarde die de status of het gedrag van het element weergeeft.
Voorbeeld
<!-- Incorrect --> <div role="slider" tabindex="0"></div> <!-- Correct --> <div role="slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="50" tabindex="0"></div>
Ontbrekende vereiste ARIA-onderliggende elementen oplossen
Sommige bovenliggende rollen vereisen specifieke onderliggende rollen voor een goede toegankelijkheid. Als die ontbreken, kunnen schermlezers de structuur mogelijk niet correct interpreteren. Lees meer over de lijst met ARIA-rollen.
Zoek in uw HTML-code het bovenliggende element op met een rol waarvoor specifieke onderliggende elementen vereist zijn (bijvoorbeeld
role="list"moet onderliggende elementen metrole="listitem"bevatten).Voeg het vereiste onderliggende element toe met de juiste
role-attributen.
Voorbeeld
<!-- Incorrect --> <div role="list"> <div>First Name</div> <div>Last Name</div> </div> <!-- Correct --> <div role="list"> <div role="listitem">First Name</div> <div role="listitem">Last Name</div> </div>
Ontbrekend vereist ARIA-bovenliggend element oplossen
Sommige ARIA-rollen moeten zich binnen een specifieke bovenliggende rol bevinden om hun semantische betekenis te behouden. Zonder de juiste bovenliggende rol kunnen hulptechnologieën het element mogelijk niet correct interpreteren. Lees meer over de lijst met ARIA-rollen.
Zoek in uw HTML-code het element op met een rol die een specifiek bovenliggend element vereist (bijvoorbeeld
role="row"moet zich binnenrole="table"ofrole="rowgroup"bevinden).Voeg het vereiste bovenliggende element toe met de juiste
role-attributen.
Voorbeeld
<!-- Incorrect --> <div role="row"> <div role="cell">User Name</div> </div> <!-- Correct --> <div role="table"> <div role="row"> <div role="cell">User Name</div> </div> </div>
Ongeldig gebruik van ARIA-rollen oplossen
Ongeldige ARIA-rollen bestaan niet in de ARIA-specificatie en worden genegeerd door hulptechnologieën, waardoor uw inhoud moeilijker te begrijpen of te doorlopen kan zijn. Lees meer over de lijst met ARIA-rollen.
Zoek in uw HTML-code het element op met een ongeldige rolwaarde (bijvoorbeeld
role="unsupportedrole",role="presentation").Vervang het
role-attribuut door een geldige rol op basis van de functie van het element.
Voorbeeld
<!-- Incorrect --> <div role="structure"> Content about accessibility. </div> <!-- Correct --> <div role="region" aria-label="Accessibility Info"> Content about accessibility. </div>
Gebruik van abstracte ARIA-rollen oplossen
Abstracte ARIA-rollen zijn niet bedoeld om rechtstreeks in code te worden gebruikt. Ze bestaan alleen om gedeelde kenmerken van andere rollen te definiëren en het gebruik ervan heeft geen effect op hulptechnologie. Lees meer over de lijst met ARIA-rollen.
Zoek in uw HTML-code het element op dat een abstracte ARIA-rol gebruikt (bijvoorbeeld
role="input",role="command",role="widget").Vervang het
role-attribuut door een concrete rol die het werkelijke doel van het element weergeeft.
Voorbeeld
<!-- Incorrect --> <div role="command">Run</div> <!-- Correct --> <div role="button">Run</div>
Gebruik van niet-ondersteunde ARIA-rollen oplossen
De ARIA-specificatie herkent niet-ondersteunde ARIA-rollen niet en ze werken mogelijk niet goed in alle browsers of schermlezers. Dit kan leiden tot verwarring of genegeerde inhoud. Lees meer over de lijst met ARIA-rollen.
Zoek in uw HTML-code het element op met een niet-ondersteunde ARIA-rol (bijvoorbeeld
role="footnote",role="banneritem",role="error").Vervang het
role-attribuut door een ondersteunde ARIA-rol die het doel van het element weergeeft.
Voorbeeld
<!-- Incorrect -->
<span role="error">Invalid input</span>
<!-- Correct -->
<span role="alert">Invalid input</span>
Gebruik van ongeldige ARIA-rolbeschrijving oplossen
Een onjuiste aangepaste rolbeschrijving kan hulptechnologieën en gebruikers in verwarring brengen. Gebruik deze alleen wanneer u de standaardrolbeschrijving moet vervangen door iets zinvollers.
Zoek in uw HTML-code het element op met een ongeldige
aria-roledescription.Verwijder de
aria-roledescriptionof vervang deze door een juistearia-label.
Voorbeeld:
<!-- Incorrect -->
<div role="button" aria-roledescription="Clicky thing">Submit</div>
<!-- Correct -->
<div role="button" aria-label="Submit Form">Submit</div>
Ontbrekende toegankelijke naam voor schakelelementen oplossen
Schakelelementen, zoals selectievakjes, keuzerondjes en schakelaars, hebben duidelijke namen nodig, zodat schermlezers hun status en functie kunnen beschrijven.
Zoek in uw HTML-code het schakelelement zonder toegankelijke naam op (bijvoorbeeld
role="checkbox",role="radio",role="switch").Voeg een toegankelijke naam toe met het
aria-label- ofaria-labelledby-attribuut.
Voorbeeld
<!-- Incorrect -->
<div role="switch"></div>
<!-- Correct -->
<div role="switch" aria-label="Dark mode toggle"></div>Ongeldige ARIA-attribuutwaarden oplossen
ARIA-attributen moeten specifieke waarden gebruiken. Het gebruik van de verkeerde waarde kan hulptechnologieën in verwarring brengen en toegankelijkheidsproblemen veroorzaken. Lees meer over ARIA-waarden.
Zoek in uw HTML-code het element op met een ongeldige ARIA-waarde (bijvoorbeeld
aria-expanded="perhaps",aria-checked="maybe").Vervang de ongeldige waarde door een waarde die door de ARIA-specificatie is toegestaan.
Voorbeeld
<!-- Incorrect -->
<input type="checkbox" aria-checked="sometimes">
<!-- Correct -->
<input type="checkbox" aria-checked="true">Ongeldige aria-level-waarden oplossen
Het kenmerk aria-level moet een positief geheel getal zijn, beginnend bij 1. Het wordt gebruikt bij elementen met de rol heading om hun niveau in de documentstructuur aan te geven.
Zoek in uw HTML-code elk gebruik van het kenmerk
aria-levelmet de waarde 0, een negatief getal of een niet-geheel getal (bijv.aria-level="zero",aria-level="0",aria-level="-1")Vervang de waarde door een positief geheel getal (1 of hoger).
Opmerking: Gebruik het kenmerk aria-level alleen bij elementen met role="heading". Als het element niet de rol heading heeft, verwijdert u het kenmerk.
Voorbeeld
<!-- Incorrect -->
<div role="heading" aria-level="zero">Title</div>
<!-- Correct -->
<div role="heading" aria-level="1">Title</div>Ongeldige ARIA-kenmerken oplossen
Sommige ARIA-kenmerken zijn mogelijk verkeerd gespeld of op de verkeerde plaats gebruikt. Deze kenmerken werken niet en kunnen hulptechnologieën misleiden. Meer informatie over ARIA-kenmerken.
Zoek in uw HTML-code het element met een ongeldig of verkeerd gespeld ARIA-kenmerk (bijv.
aria-unchecked,aria-visible,aria-foo).Verwijder het ongeldige ARIA-kenmerk of vervang het door een geldig kenmerk.
Voorbeeld
<!-- Incorrect -->
<button aria-unchecked="true">Submit</button>
<!-- Correct -->
<button aria-pressed="false">Submit</button>
Focusbare elementen met de presentatierol oplossen
Elementen met de presentatierol worden bedoeld om door schermlezers te worden genegeerd. Wanneer deze elementen focusbaar zijn, kan de presentatierol schermlezers in verwarring brengen.
Zoek in uw HTML-code elk focusbaar element met
role="presentation"ofrole="none"(bijv. elementen mettabindex="0"of native focusbare elementen zoals<a>en<button>).Verwijder de presentatierol (
role="presentation"ofrole="none") om de interactieve betekenis van het element te behouden.
Opmerking: Als het element niet interactief hoeft te zijn, verwijdert u in plaats daarvan de focusbare elementen, bijvoorbeeld door tabindex of het kenmerk href te verwijderen.
Voorbeeld
<!-- Incorrect -->
<a href="#" role="presentation">Link</a>
<!-- Correct -->
<a href="#">Link</a>Globale ARIA-kenmerken bij elementen met de presentatierol oplossen
Elementen met de presentatierol worden bedoeld om door hulptechnologieën te worden genegeerd. Wanneer deze elementen zowel presentatierollen als globale ARIA-kenmerken bevatten, kunnen ze schermlezers in verwarring brengen.
Zoek in uw HTML-code een focusbaar element met
role="presentation"ofrole="none"dat ook globale ARIA-kenmerken bevat, zoalsaria-label,aria-describedbyofaria-hidden.Verwijder de presentatierol (
role="presentation"ofrole="none") om de interactieve betekenis van het element te behouden.
Opmerking: Als het element niet interactief hoeft te zijn, verwijdert u in plaats daarvan de ARIA-kenmerken.
Voorbeeld
<!-- Incorrect -->
<div role="presentation" aria-label="Decorative container"></div>
<!-- Correct -->
<div aria-label="Decorative container"></div>p>Ongeldige tabindex-waarden oplossen
Het gebruik van tabindex met de waarde -1 of 0 kan de volgorde van toetsenbordnavigatie onbedoeld verstoren, waardoor gebruikers moeilijker door de inhoud kunnen navigeren.
Zoek in uw HTML-code het element met een ongepaste
tabindex-waarde (bijv.tabindex="-1",tabindex="0").Verwijder de tabindex-waarde om de normale toetsenbordnavigatie te herstellen.
Voorbeeld
<!-- Incorrect -->
<h2 tabindex="-1">Header</h2>
<!-- Correct -->
<h2>Header</h2>Overbodige ARIA-rollen oplossen
Als een element zijn native betekenis al kan overbrengen, is het toevoegen van een overeenkomstige ARIA-rol overbodig en kan dit hulptechnologieën in verwarring brengen.
Zoek in uw HTML-code het element met een overbodige rol (bijv.
<button role="button">,<a role="link">).Verwijder het overbodige kenmerk
role.
Voorbeeld
<!-- Incorrect --> <button role="button">Save</button> <!-- Correct --> <button>Save</button>
Best practices
Goede toegankelijkheid vereist dat veelvoorkomende code- en inhoudsproblemen worden verholpen om de duidelijkheid, ordening en bruikbaarheid voor alle gebruikers te verbeteren. Door best practices toe te passen, creëert u inhoud die inclusiever en gebruiksvriendelijker is.
Het gebruik van visuele tags zonder semantische betekenis oplossen
Gebruik semantische tags zoals <strong> en <em> in plaats van uitsluitend visuele tags zoals <b> en <i>, zodat hulptechnologieën het belang of de nadruk van tekst begrijpen.
Zoek in de HTML-code de
<b>-tags en vervang ze door<strong>als de tekst belangrijk is.Zoek in de HTML-code de
<i>-tags en vervang ze door<em>als de tekst benadrukt moet worden.
Voorbeeld
<!-- Incorrect -->
<p><b>Important:</b> Save your changes.</p>
<p><i>Note:</i> Restart required.</p>
<!-- Correct -->
<p><strong>Important:</strong> Save your changes.</p>
<p><em>Note:</em> Restart required.</p> Problemen met niet-unieke alternatieve tekst oplossen
Afbeeldingen moeten alternatieve tekst (alt-tekst) hebben die hun inhoud nauwkeurig beschrijft. Als twee afbeeldingen verschillende inhoud tonen maar dezelfde alt-tekst hebben, kunnen gebruikers worden misleid. Ook wanneer twee afbeeldingen dezelfde bestandsbron gebruiken maar een verschillende alt-tekst hebben, ontstaat inconsistentie.
Zoek in uw HTML-code de
<img>-elementen die zijn gemarkeerd vanwege een probleem met niet-unieke alt-tekst.-
Pas bij afbeeldingen met verschillende bronnen (
src) maar dezelfde alt-tekst de alt-tekst aan, zodat elke beschrijving uniek is en overeenkomt met de inhoud van de afbeelding.<img src="team-photo.jpg" alt="Team standing together outside office"> <img src="office.jpg" alt="Front view of office building"> -
Zorg er bij afbeeldingen met dezelfde bron (
src) voor dat de alt-tekst bij alle exemplaren consistent is.<img src="logo.png" alt="Company logo"> <img src="logo.png" alt="Company logo"> Sla uw wijzigingen op en laad de pagina opnieuw.
Herhaalde alt-tekst bij afbeeldingen oplossen
Dezelfde alt-tekst gebruiken voor meerdere afbeeldingen kan verwarrend zijn voor gebruikers van schermlezers. Elke afbeelding moet een uniek alt-kenmerk hebben dat de specifieke inhoud of het doel ervan beschrijft.
Zoek in uw HTML-code het
<img>-element met dezelfde alternatieve beschrijving in het kenmerkalt.Pas de beschrijving in het kenmerk
altvan de afbeelding aan, zodat deze de specifieke inhoud beschrijft.
Opmerking: Als de afbeelding puur decoratief is, gebruikt u in plaats daarvan een leeg kenmerkalt(alt="").
Voorbeeld
<!-- Incorrect -->
<img src="math-icon.png" alt="Icon"> <img src="science-icon.png" alt="Icon">
<!-- Correct -->
<img src="math-icon.png" alt="Math icon showing a calculator"> <img src="history-icon.png" alt="History icon showing a scroll and feather pen">
Landmarkrollen bij geneste elementen oplossen
Landmarkrollen zijn bedoeld om de belangrijkste gebieden van een pagina te identificeren. Ze mogen alleen worden gebruikt bij elementen op het hoogste niveau, om toegankelijke navigatie te ondersteunen.
Zoek in uw HTML-code het element met de landmarkrol (bijv.
role="main",role="banner",role="navigation") dat zich binnen andere structurele elementen bevindt (bijv.<div>,<section>of<article>)Verplaats de landmarkrol buiten de structurele elementen en plaats deze onder de tag
<body>, of op het hoogste niveau van de opbouw van uw code.
Voorbeeld
<!-- Incorrect -->
<div class="article"> <section role="main">Content</section> </div>
<!-- Correct -->
<section role="main">Content</section>Dubbele landmarkgebieden oplossen
Landmarks helpen gebruikers te navigeren door de paginastructuur te definiëren. Als dezelfde rol meerdere keren wordt gebruikt zonder duidelijk onderscheid, kan dit gebruikers van hulptechnologieën in verwarring brengen.
Zoek in uw HTML-code het element met herhaalde landmarkrollen (bijv.
role="navigation",role="main").Verwijder de dubbele landmark die geen eigen doel dient, of wijzig de landmarkrol in een rol die de functie van het gedeelte beter weergeeft.
Opmerking: Als meerdere landmarks met dezelfde rol nodig zijn, voegt u een uniek label toe metaria-labelofaria-labelledbyom ze van elkaar te onderscheiden.
Voorbeeld
<!-- Incorrect -->
<nav role="navigation">Main links</nav> <nav role="navigation">Sidebar links</nav>
<!-- Correct -->
<nav role="navigation" aria-label="Main">Main links</nav> <nav role="navigation" aria-label="Sidebar">Sidebar links</nav>
Ongeldige scope-kenmerken bij tabelkoppen oplossen
Het kenmerk scope koppelt tabelkoppen aan gegevenscellen. Onjuiste waarden of een ontbrekend kenmerk kunnen tabellen moeilijker te interpreteren maken voor gebruikers van schermlezers.
Zoek in uw HTML-code het
<th>-element met een ongeldige of ontbrekende waarde voor het kenmerkscope.-
Vervang of voeg de waarde van
scopetoe op basis van het type kop:Gebruik
scope="col"voor kolomkoppen.Gebruik
scope="row"voor rijkoppen.
Opmerking: Gebruik bij koppen op meerdere niveaus
rowgroupofcolgroupals groepering van toepassing is.
Voorbeeld
<!-- Incorrect -->
<th scope="column">Course</th>
<!-- Correct -->
<th scope="col">Course</th>
Dubbele bijschriften bij tabellen oplossen
Tabellen hebben unieke beschrijvingen nodig, zodat gebruikers begrijpen wat ze bevatten. Als hetzelfde bijschrift bij meerdere tabellen wordt hergebruikt, vermindert dit de duidelijkheid bij het gebruik van hulptechnologie.
Zoek in uw HTML-code het element
<caption>binnen het element<table>.Vervang binnen het element
<caption>het dubbele bijschrift door een specifiek bijschrift dat de tabel beschrijft.
Voorbeeld
<!-- Incorrect --> <table> <caption>Data table</caption> ... </table> <!-- Correct --> <table> <caption>Student Enrollment by Department – Fall 2025</caption> ... </table>
Problemen met niet-unieke alternatieve tekst oplossen
Afbeeldingen moeten alternatieve tekst (alt-tekst) hebben die hun inhoud nauwkeurig beschrijft. Als twee afbeeldingen verschillende inhoud tonen maar dezelfde alt-tekst hebben, kunnen gebruikers worden misleid. Ook wanneer twee afbeeldingen dezelfde bestandsbron gebruiken maar een verschillende alt-tekst hebben, ontstaat inconsistentie.
Zoek in uw HTML-code de
<img>-elementen die zijn gemarkeerd vanwege een probleem met niet-unieke alt-tekst.Pas bij afbeeldingen met verschillende bronnen (
src) maar dezelfde alt-tekst de alt-tekst aan, zodat elke beschrijving uniek is en overeenkomt met de inhoud van de afbeelding.
<img src="team-photo.jpg" alt="Team standing together outside office"> <img src="office.jpg" alt="Front view of office building">
Zorg er bij afbeeldingen met dezelfde bron (src) voor dat de alt-tekst bij alle exemplaren consistent is.
<img src="logo.png" alt="Company logo"> <img src="logo.png" alt="Company logo">
Sla uw wijzigingen op en laad de pagina opnieuw.
Onjuiste <noscript>-elementen oplossen
Het element <noscript> biedt alternatieve inhoud voor gebruikers bij wie JavaScript is uitgeschakeld. Zorg ervoor dat het zinvolle, toegankelijke inhoud bevat en geen essentiële informatie dupliceert of verbergt. U mag niet vertrouwen op <noscript>-inhoud voor belangrijke functionaliteit, tenzij een toegankelijk alternatief wordt geboden.
- Zoek in uw HTML-code de gemarkeerde
<noscript>-elementen. - Zorg ervoor dat uw
<noscript>-elementen nuttige alternatieve inhoud bevatten die gebruikers laat weten welke functionaliteit zonder JavaScript niet beschikbaar is.
Opmerking: Verwijder <noscript>-elementen die leeg, dubbel of puur decoratief zijn.
Voorbeeld
<!-- Incorrect -->
<noscript></noscript>
<!-- Correct -->
<noscript>
<p>This site requires JavaScript to function properly. Please enable JavaScript in your browser.</p>
</noscript>
Het gebruik van visuele tags zonder semantische betekenis oplossen
Gebruik semantische tags zoals <strong> en <em> in plaats van uitsluitend visuele tags zoals <b> en <i>, zodat hulptechnologieën het belang of de nadruk van tekst begrijpen.
Zoek in de HTML-code de
<b>-tags en vervang ze door<strong>als de tekst belangrijk is.Zoek in de HTML-code de
<i>-tags en vervang ze door<em>als de tekst benadrukt moet worden.
Voorbeeld
<!-- Incorrect --> <p><b>Important:</b> Save your changes.</p> <p><i>Note:</i> Restart required.</p> <!-- Correct --> <p><strong>Important:</strong> Save your changes.</p> <p><em>Note:</em> Restart required.</p>
Ontbrekende kop van niveau 1 (H1) oplossen
Elke pagina heeft één duidelijke kop van niveau 1 (<h1>) nodig, zodat gebruikers, vooral gebruikers van hulptechnologie, het hoofddoel of het onderwerp van de pagina begrijpen. Een ontbrekende of onjuiste koppenstructuur kan navigatie verwarrend maken.
- Zoek in uw HTML-code het hoofdinhoudsgebied van de pagina (bijv. binnen het element
<body>). -
Voeg een element
<h1>toe dat het hoofdonderwerp of het doel van de pagina duidelijk beschrijft.
Opmerking: Zorg ervoor dat er slechts één<h1>per pagina is en dat deze vóór andere koppen van een lager niveau wordt toegevoegd (bijv.<h2>,<h3>,<h4>).
Voorbeeld
<!-- Incorrect --> <body> <h2>Course Overview</h2> <p>This page describes available courses.</p> </body> <!-- Correct --> <body> <h1>Available Courses</h1> <h2>Course Overview</h2> <p>This page describes available courses.</p> </body>
Overgeslagen kopniveaus oplossen
Koppen moeten een logische volgorde volgen, zodat gebruikers de structuur van de pagina begrijpen. Het overslaan van kopniveaus kan gebruikers van schermlezers in verwarring brengen en de inhoud moeilijker navigeerbaar maken.
- Controleer in uw HTML-code de koppenstructuur (bijv. van
<h1>tot<h6>) op de hele pagina. - Pas uw kopniveaus aan, zodat ze een juiste hiërarchie vormen en er geen niveaus worden overgeslagen (bijv.
<h2>hoort onder<h1>te staan en<h3>onder<h2>).
Voorbeeld
<!-- Incorrect --> <h1>Academic Programs</h1> <h3>Undergraduate Programs</h3> <p>Details about undergraduate offerings.</p> <!-- Correct --> <h1>Academic Programs</h1> <h2>Undergraduate Programs</h2> <p>Details about undergraduate offerings.</p>
Lege koppen oplossen
Koppen moeten zinvolle tekst bevatten, zodat gebruikers de structuur en inhoud van een pagina begrijpen. Lege koppen, zoals koppen zonder tekst of met alleen decoratieve elementen, geven geen informatie aan gebruikers van schermlezers en kunnen verwarrend zijn bij het navigeren.
- Zoek in uw HTML-code de gemarkeerde kopelementen die geen zichtbare, beschrijvende tekst bevatten.
- Werk elke lege kop bij door een duidelijke beschrijving toe te voegen van de inhoud van het gedeelte.
Opmerking: Als de kop niet nodig is, verwijdert u het kopniveau.
Voorbeeld
<!-- Incorrect --> <h2></h2> <p>Information about campus housing.</p> <!-- Correct --> <h2>Campus Housing</h2> <p>Information about campus housing.</p>
Ontbrekende of onjuist gedefinieerde omringende gebieden oplossen
Het gebruik van gebiedselementen zoals <header>, <nav>, <main>, <aside> en <footer> helpt bij het beschrijven van de structuur van uw pagina. Deze elementen vertellen schermlezers waar belangrijke delen van de pagina beginnen en eindigen.
- Zoek in uw HTML-code de hoofdgebieden van uw pagina (bijv. de bovenste banner, het navigatiemenu, de hoofdinhoud, de zijbalk of de voettekst).
- Als uw pagina algemene containers zoals
<div>gebruikt, wijzigt u deze naar het juiste gebiedselement (bijv. vervang<div id="main">door<main>.) - Zorg ervoor dat u rond elk gebied het juiste gebiedselement hebt toegevoegd:
-
<header>voor het bovenste gedeelte of de sitekop. -
<nav>voor de navigatielinks. -
<main>voor de centrale pagina-inhoud. -
<aside>voor aanvullende of gerelateerde informatie. -
<footer>voor het onderste gedeelte of de afsluitende inhoud.
-
- Als u ARIA-rollen gebruikt (bijv.
role="main"ofrole="navigation"), plaats ze dan binnen het juiste gebiedselement.
Opmerking: Gebruik ARIA-rollen alleen als u geen native HTML-gebiedselementen kunt gebruiken.
Voorbeeld
<!-- Incorrect -->
<div id="header">
<h1>Welcome to Our Site</h1>
</div>
<div id="menu">
<ul><li><a href="#">Home</a></li></ul>
</div>
<div id="content">
<p>Main content goes here.</p>
</div>
<!-- Correct -->
<header>
<h1>Welcome to Our Site</h1>
</header>
<nav>
<ul><li><a href="#">Home</a></li></ul>
</nav>
<main>
<p>Main content goes here.</p>
</main>