Issues:
Audit digitale toegankelijkheid leerdam.city.nl
(Alleen de bevindingen)
Scope van de evaluatie
Naam website | leerdam.city.nl |
---|---|
Datum | 22 juli 2025 |
Scope van de website |
Binnen de scope van het onderzoek valt:
|
Conformiteitsdoel | WCAG 2.1 niveau AA |
Uitgebreide toetsresultaten
1. Waarneembaar
1.1 Tekstalternatieven
1.1.1 Niet-tekstuele content (Niveau A)
Informatie over succescriterium 1.1.1 Niet-tekstuele content
Uitkomst: Onvoldoende
Bevinding 1: Op de Homepagina staat, onder de kop "Ontheffingsloket Leerdam", het logo van, denk ik, de gemeente Vijfheerenlanden. Het logo heeft een alt-attribuut met de tekst "logo" en staat in een <a> element. Het logo dient, in dit geval, als link naar de homepagina. De huidige alternatieve tekst voldoet niet aan de toegankelijkheidseisen voor een alternatieve tekst. Voorleessoftware leest nu voor "Navigeer naar de begin pagina.", dat is de tekst in het aria-label van de link. Gebruikers van voorleessoftware weten niet dat op die plek het logo staat. Geef het logo een toegankelijke alternatieve tekst, bijvoorbeeld: "Logo gemeente Vijfheerenlanden - Homepagina ontheffingenloket Leerdam". Verwijder het aria-label attribuut uit het <a> element waar het logo in staat. Bij een toegankelijke alternatieve tekst van het logo is dit aria-label overbodig.
Dit geldt voor alle pagina's waar het logo voorkomt en de functie van link naar de homepagina heeft.
Bevinding 2: Op de Homepagina staat, onder het logo van de website, een drietal mogelijkheden om in te loggen. De eerste optie is middels eHerkenning. Dit is een <button> element met daarin een <img> element. De afbeelding in het <img> element is het logo van eHerkenning en heeft als alternatieve tekst "eHerkenning login icon". Deze tekst is niet helemaal correct en geeft gebruikers van voorleessoftware een verkeerd beeld van de afbeelding. Pas de alternatieve tekst aan en maak daar "Logo eHerkenning" van.
Dit geldt ook voor de Homepagina in het Engels.
Bevinding 3: Op de pagina "Inlog stap 1 gebruikersnaam" staat het logo van de website. Deze afbeelding heeft geen alt-attribuut. Voorleessoftware zal, in de meeste gevallen, de bestandsnaam van de afbeelding voorlezen. Gebruikers van voorleessoftware hebben niks aan deze informatie. Het alt-attribuut is een vereiste voor afbeeldingen ook wanneer deze decoratief zijn. Geef deze afbeelding een alternatieve tekst. Bijvoorbeeld: "Logo gemeente Vijfheerenlanden".
Dit geldt ook voor het logo op de pagina:
- Inlog stap 2 wachtwoord.
1.3 Aanpasbaar
1.3.1 Info en relaties (Niveau A)
Informatie over succescriterium 1.3.1 Info en relaties
Uitkomst: Onvoldoende
Bevinding 4: Op de pagina "Persoonlijk dashboard" staan, onder de koppen "Mijn aanvragen" en "Mijn producten", twee visueel vormgegeven tabellen. Deze tabellen hebben een verkeerde ARIA role gekregen. De overkoepelende <div> elementen, met de class="ql-table", hebben een role="grid". De geneste cel-elementen hebben een role="columnheader" en role="gridcell". Dit is niet toegestaan volgens de ARIA-standaard. Een element met de role="grid" kan enkel items met role="row" of treegrid of rowgroup bevatten. Een element met role="row" kan wel elementen met de role="gridcell en role="columnheader" hebben. Een betere oplossing is om een visuele tabel programmatisch als tabel op te maken. Gebruik hiervoor het <table> element met <th>, <thead>, <tr>, <th> ,<td>, etc.
Bevinding 5: Op de pagina "Productkeuze" (in het Nieuwe aanvraag proces) staan, onder de kop "Productkeuze", twee selectiemogelijkheden; "Dagontheffing binnenstad Leerdam" en "Jaarontheffing autoluwe binnenstad Leerdam". Deze selectiemogelijkheden worden door voorleessoftware voorgelezen als "tabel" en "klikbaar", terwijl ze functioneren als link (want ze gaan naar een nieuwe pagina). Gebruikers van voorleessoftware weten nu niet goed wat ze kunnen verwachten, dit kan verwarrend zijn. Pas het <a> element toe in plaats van het huidige <div> element (dat als tabel fungeert). Dit geldt voor beide selectiemogelijkheden.
Bevinding 6: Op de pagina "Productkeuze" (in het Nieuwe aanvraag proces) staat de kop Productkeuze. Deze kop staat in een <h1> element en heeft een role="heading" attribuut en een aria-level="2" attribuut. De waarde van het aria-level attribuut komt niet overeen met het <h1> element. Beide attributen zijn ook overbodig omdat de kop al in een <h1> element staat. Verwijder deze attributen uit het <h1> element. Gebruik <h1> t/m <h6> elementen om koppen te programmeren.
Dit komt op meerdere pagina's voor. Onder andere ook op de pagina:
- Reden ontheffing in het Nieuwe aanvraag proces
Bevinding 7: Advies: Om te voorkomen dat elementen onnodig focus krijgen, of niet bereikbaar zijn middels toetsenbordnavigatie, of verkeerde rollen krijgen is het van belang om zoveel mogelijk gebruik te maken van semantisch HTML. Wordt toch een custom component gebruikt dan is het heel belangrijk dat de ARIA op de juiste wijze wordt toegepast zodat componenten bruikbaar zijn en blijven voor hulpsoftware.
Bevinding 8: Advies: De pagina "Inlog stap 1 gebruikersnaam" heeft geen <h1> element op de pagina, alleen een <h3> element. Gebruikers van hulpsoftware kunnen aan de hand van de koppenstructuur door de pagina navigeren. Op deze pagina ontbreekt het hoogste niveau van de koppenstructuur, de <h1>. Dit werkt verwarrend voor deze groep gebruikers. Zorg ervoor dat op iedere pagina een <h1> element aanwezig is en style deze met CSS. Sla ook geen niveaus over.
Dit geldt ook voor de pagina:
- Inlog stap 2 wachtwoord.
Bevinding 9: Advies: Op de pagina "Persoonlijk dashboard" wordt gebruik gemaakt van een <h1> element en een <h3> element. Gebruikers van hulpsoftware kunnen aan de hand van de koppenstructuur door de pagina navigeren. Hierin wordt onderscheid gemaakt in belangrijkheid door het gebruik van de verschillende kopniveaus. Op deze pagina ontbreekt het <h2> element en daarmee een niveau. Dit kan verwarrend zijn voor gebruikers van hulpsoftware. Sla geen kopniveaus over op een pagina. Vervang de <h3> elementen, op deze pagina voor <h2> elementen en pas CSS styling toe om de koppen visueel aan te passen.
Bevinding 10: Advies: De pagina "Inlog stap 1 gebruikersnaam" heeft geen landmarks in de HTML-code. Zo wordt geen gebruik gemaakt van bijvoorbeeld een <main> element. Gebruikers van voorleessoftware kunnen via landmarks navigeren door een pagina. Geen landmarks bemoeilijkt deze vorm van navigatie. Zorg ervoor dat iedere pagina gebruik maakt van semantisch HTML zoals; een<main> element, een <header> element of een <footer> element.
Dit geldt ook voor de pagina "Inlog stap 2 wachtwoord".
1.3.5 Identificeer het doel van de input (Niveau AA)
Informatie over succescriterium 1.3.5 Identificeer het doel van de input
Uitkomst: Onvoldoende
Bevinding 11: De invoervelden op de pagina "Mijn gegevens" hebben geen autocomplete attribuut. Gebruikers, in het algemeen, maar vooral gebruikers met een cognitieve beperking of gebruikers met slechtzicht of die blind zijn of gebruikers met een motorische beperking, hebben baat bij het gebruik van het autocomplete attribuut. Het zorgt ervoor dat gebruikers geholpen worden met het invullen van persoonlijke gegevens. Geef de invoervelden het autocomplete attribuut met de juiste, bijpassende waarde.
Dit geldt ook voor de invoervelden die staan op de pagina "Particulier account" (in het Nieuwe account aanmaken proces).
1.4 Onderscheidbaar
1.4.1 Gebruik van kleur (Niveau A)
Informatie over succescriterium 1.4.1 Gebruik van kleur
Uitkomst: Onvoldoende
Bevinding 12: Op de pagina "Particulier account" (in het Nieuwe account aanmaken proces) staat een formulier met een aantal invoervelden. Deze invoervelden zijn verplicht om in te vullen, maar dit wordt alleen aangeven door middel van een rode rand om het invoerveld. Nergens in de tekst staat dat de invoervelden verplicht zijn. Gebruikers die kleurenblind zijn zien het kleurverschil van de rand niet en weten niet dat deze velden verplicht zijn. Plaats boven het formulier een <p> element met daarin een tekst die aangeeft dat de velden verplicht zijn en om welke velden het dan gaat.
1.4.3 Contrast (minimum) (Niveau AA)
Informatie over succescriterium 1.4.3 Contrast (minimum)
Uitkomst: Onvoldoende
Bevinding 13: Op de Homepagina staat, in de header, een taalkeuze menu en een kop. De achtergrond van de header is een foto. De tekst van het menu en de kop is wit, de foto heeft verschillende kleuren. Op een aantal plekken heeft de witte tekst een contrastwaarde van 2:1 in combinatie met de achtergrond (o.a. de crèmekleurige (HEX #C9B58C) gevel bij de eerste "e" in "Leerdam"). Gebruikers met slechtzicht of gebruikers die kleurenblind zijn ondervinden hinder van een te lage contrastwaarde. De tekst is minder goed leesbaar voor deze groep gebruikers. Geef de tekst een achtergrondkleur zodat de contrastwaarde van de combinatie een waarde heeft van minimaal 4,5:1 voor het menu en 3:1 voor de kop.
Dit geldt ook voor onder andere de pagina's:
- Homepagina (Engels)
- Persoonlijk dashboard
- Mijn gegevens (alleen de kop staat daar)
Bevinding 14: Op de pagina "Inlog stap 1 gebruikersnaam" staat, onder de kop "Login to ontheffingsloket Leerdam", een invoerveld met het label "User name". De achtergrond, waar de tekst op staat, is wit en de tekst zelf is groen/blauw (HEX #4D949D). Deze combinatie heeft een contrastwaarde van 3,4:1. Gebruikers met slechtzicht of die kleurenblind zijn ondervinden hinder van een te lage contrastwaarde en hebben moeite met het lezen van de tekst. Hierdoor missen zij belangrijke informatie. Pas de kleur van de tekst aan zodat deze in combinatie met de achtergrond een contrastwaarde heeft van minimaal 4,5:1.
Dit geldt ook voor de pagina "Inlog stap 2 wachtwoord". Daar staat hetzelfde invoerveld. Het invoerveld voor password heeft hetzelfde contrastissue.
1.4.4 Herschalen van tekst (Niveau AA)
Informatie over succescriterium 1.4.4 Herschalen van tekst
Uitkomst: Onvoldoende
Bevinding 15: Op de pagina "Persoonlijk dashboard" staat, onder de kop "Mijn producten", een visuele tabel met vijf categorieën (beginnend met "Naam"). Bij een vergrotingspercentage van 150% (op een schermgrootte van 1280px X 1024px) verdwijnen deze categorieën van het scherm en komen nergens terug, ook niet in een uitklapmenu. Gebruikers die het scherm vergroten, omdat ze slechtziend zijn, raken informatie kwijt. Zorg ervoor dat alle informatie ten alle tijden zichtbaar is of terug te vinden is in een menu.
1.4.10 Reflow (Niveau AA)
Informatie over succescriterium 1.4.10 Reflow
Uitkomst: Onvoldoende
Bevinding 16: Op de Homepagina vallen de taalkeuze button, voor Nederlands en Engels, en de kop "Ontheffingenloket Leerdam" deels over elkaar heen bij een vergrotingspercentage vanaf 250% (op een schermgrootte van 1280px X 1024px). Gebruikers die vergrotingssoftware gebruiken of die de webpagina vergroten d.m.v. de vergrotingsfunctie in de browser hebben moeite met het lezen van de tekst en het bedienen van de knop. Zorg ervoor dat tekst en interactieve elementen niet over elkaar heen lopen wanneer de pagina wordt ingezoomd.
Dit geldt ook voor de pagina's:
- Homepagina (Engels).
- Persoonlijk dashboard
Bevinding 17: Op de pagina "Inlog stap 1 gebruikersnaam" staat het logo van de website. Bij een vergrotingspercentage van 400% (op een schermgrootte van 1280px X 1024px) valt het logo, aan de linkerkant van het scherm, deels buiten het vlak van de inlog. Dit zorgt voor een horizontale scrollbar. Gebruikers die een webpagina vergroten moeten nu twee-dimensionaal scrollen om de volledige inhoud te kunnen zien en dat kan verwarrend werken. Pas in CSS de overflow-clip-margin aan zodat het logo binnen de kaders van zijn ouderelement blijft.
Dit geldt ook voor de pagina "Inlog stap 2 wachtwoord".
Bevinding 18: Op de pagina "Persoonlijk dashboard" staan, onder de koppen "Mijn aanvragen" en "Mijn producten", twee tabellen. Deze tabellen veranderen van layout op een vergrotingspercentage van 400% (bij een schermgrootte van 1280px X 1024px) en krijgen meer een visuele lijststructuur. Tevens krijgen de tabellen een horizontale scrollbar direct onder de tabel. Dit mag zolang de tabel dezelfde visuele layout behoudt. Dat laatste is op deze pagina niet het geval. Voor gebruikers van vergrotingssoftware is de wisseling in layout verwarrend. Laat een tabel in de originele layout, ook bij het coderen voor een kleiner scherm.
Bevinding 19: Op de pagina "Reden ontheffing" (in het Nieuwe aanvraag proces) staat, onder de tekst "U kunt optioneel ook een document uploaden", een bestandkiezer. Op een vergrotingspercentage van 400% (bij een schermgrootte van 1280px X 1024px) is de placeholdertekst niet meer volledig leesbaar. Voor gebruikers die vergrotingssoftware gebruiken of die de webpagina vergroten d.m.v. de vergrotingsfunctie in de browser is de placeholdertekst niet leesbaar en missen zij informatie. Zorg ervoor dat de placeholdertekst leesbaar blijft, ook bij een hoger vergrotingspercentage.
Bevinding 20: Advies: Op de Homepagina wordt een horizontale scrollbar zichtbaar wanneer gebruikers de pagina vergroten. Dit gebeurt vanaf 125% (op een schermgrootte van 1280px X 1024px). Deze scrollbar is overbodig want alle content blijft gewoon zichtbaar, ook op 400% inzoomen. Verwijder deze horizontale scrollbar.
Dit gebeurt ook op de pagina's:
- Persoonlijk dashboard
- Mijn gegevens
- Nieuwe aanvraag proces
1.4.11 Contrast van niet-tekstuele content (Niveau AA)
Informatie over succescriterium 1.4.11 Contrast van niet-tekstuele content
Uitkomst: Voldoende
Bevinding 21: Advies: Op de Homepagina staan, als eerste interactieve elementen, twee knoppen voor het kiezen van de taal van de webpagina. Beide knoppen hebben een zichtbare focusrand, maar door de achtergrondafbeelding is deze slecht zichtbaar. Let bij het gebruik van foto's als achtergrondafbeelding op dat de focusrand goed zichtbaar blijft en een contrastwaarde heeft van 3:1.
2. Bedienbaar
2.1 Toetsenbordtoegankelijk
2.1.1 Toetsenbord (Niveau A)
Informatie over succescriterium 2.1.1 Toetsenbord
Uitkomst: Onvoldoende
Bevinding 22: Op de pagina "Persoonlijk dashboard" staan, onder de koppen "Mijn aanvragen" en "Mijn producten", twee tabellen. Deze tabellen zijn niet bereikbaar middels toetsenbordnavigatie en alleen te bedienen met een muis. Gebruikers die afhankelijk zijn van toetsenbordnavigatie kunnen de informatie in de tabellen niet openen en aanpassen. Zorg ervoor dat de tabellen bereikbaar en bedienbaar zijn middels toetsenbordnavigatie.
2.2 Genoeg tijd
2.2.1 Timing aanpasbaar (Niveau A)
Informatie over succescriterium 2.2.1 Timing aanpasbaar
Uitkomst: Onvoldoende
Bevinding 23: Wanneer een gebruiker ingelogd is heeft de website een tijdslimiet bij inactiviteit. De gebruiker krijgt een melding te zien dat hij/zij binnen tien seconden uitgelogd wordt. Deze tijd is niet aan te passen en er wordt ook niet aangegeven hoe je kan voorkomen dat je uitgelogd wordt. Gebruikers met een fysieke beperking of een cognitieve beperking hebben vaak meer tijd nodig om te reageren. 10 seconden is dan te kort. Geef de gebruiker op z'n mist 20 seconden de tijd om te reageren en geef in de melding aan hoe de tijd verlengt kan worden (bijvoorbeeld: "druk op een willekeurige toets"). Zie succescriterium 4.1.3 voor het toegankelijk maken van de melding voor voorleessoftware.
2.4 Navigeerbaar
2.4.2 Paginatitel (Niveau A)
Informatie over succescriterium 2.4.2 Paginatitel
Uitkomst: Onvoldoende
Bevinding 24: De pagina "Inlog stap 1 gebruikersnaam" heeft als paginatitel "conneqt identity". Gebruikers van voorleessoftware navigeren aan de hand van de paginatitel door de tabbladen die zij open hebben staan. De huidige titel geeft niet weer wat de inhoud van de pagina is en wekt verwarring en misschien ook frustratie op bij gebruikers van voorleessoftware. Geef de pagina een passende titel die de inhoud van de pagina dekt. Zoals bijvoorbeeld; "Login Ontheffingenloket Leerdam".
Dit geldt ook voor de pagina:
- Inlog stap 2 wachtwoord.
Bevinding 25: De pagina "Persoonlijk dashboard" heeft als paginatitel "Ontheffingenloket Leerdam". Dit is exact dezelfde paginatitel als de beginpagina (Homepagina) van deze website. Voor gebruikers van voorleessoftware kan dit verwarrend werken omdat zij de paginatitel gebruiken om te navigeren tussen tabbladen. Geef de pagina een unieke titel die de inhoud van de pagina dekt.
Dit geldt ook voor de pagina's:
- Mijn gegevens
- Aanvraag gegevens
- Nieuwe aanvraag proces
- Nieuwe account aanmaken proces
2.4.3 Focus volgorde (Niveau A)
Informatie over succescriterium 2.4.3 Focus volgorde
Uitkomst: Onvoldoende
Bevinding 26: Op de pagina "Mijn gegevens" staat, onder het logo, een <form> element. Dit <form> element heeft een tabindex="0", waardoor deze in de focusvolgorde wordt opgenomen en voorleessoftware de gegevens in het formulier voorleest. Het element krijgt geen focusrand (zie succescriterium 2.4.7). Het is verwarrend en niet nodig om het formulier op deze wijze op te nemen in de focusvolgorde en voor te laten lezen door voorleessoftware. Verwijder het tabindex attribuut uit het <form> element.
Dit geldt onder andere ook voor de pagina's:
- Aanvraag gegevens
- Productkeuze in het Nieuwe aanvraag proces
- Datumkeuze in het Nieuwe aanvraag proces
- Reden ontheffing in het Nieuwe aanvraag proces
- Kenteken toevoegen in het Nieuwe aanvraag proces
- Nieuwe account aanmaken proces
Bevinding 27: Op de pagina "Inlog stap 1 gebruikersnaam" wordt, bij het invoerveld, de link "Forgot password" en de knoppen "Next" en "Cancel", gebruik gemaakt van het tabindex attribuut. Deze hebben allen een positieve waarde van < 0. Om te voorkomen dat dit attribuut problemen veroorzaakt in de focusvolgorde is het beter om ervoor te zorgen dat de interactieve elementen in de HTML-code op de juiste volgorde staan. Middels het gebruik van CSS kan dan de visuele volgorde aangepast worden.
Dit geldt ook voor de pagina:
- Inlog stap 2 wachtwoord.
2.4.6 Koppen en labels (Niveau AA)
Informatie over succescriterium 2.4.6 Koppen en labels
Uitkomst: Onvoldoende
Bevinding 28: Op de pagina "Reden ontheffing" (in het Nieuwe aanvraag proces) staat, onder de tekst "U kunt optioneel ook een document uploaden", een bestandkiezer. Deze heeft een label met de tekst "Reden ontheffing". Dit is onduidelijke tekst voor de bestandkiezer. Gebruikers met een cognitieve beperking hebben moeite met het invullen van formulieren wanneer labels niet duidelijk genoeg zijn. Pas de tekst van het label aan naar bijvoorbeeld: "Kies bestand reden ontheffing".
Bevinding 29: Op de pagina "Validatie" (in het Nieuwe aanvraag proces) staat een knop, met de tekst "ok". Dit is geen beschrijvende tekst van de knop. Deze knop zorgt ervoor dat de gebruiker teruggaat naar het dashboard. Gebruikers van hulpsoftware ondervinden hinder van onduidelijke labels. Het maakt het navigeren over de pagina lastiger omdat het label, van deze knop, niet aangeeft wat het resultaat is van de actie. Geef de knop het label "Terug naar dashboard".
2.4.7 Focus zichtbaar (Niveau AA)
Informatie over succescriterium 2.4.7 Focus zichtbaar
Uitkomst: Onvoldoende
Bevinding 30: Op de pagina "Inlog stap 1 gebruikersnaam" staan, onder het invoerveld "User name", twee knoppen met de benaming "Next" en "Cancel". Beide knoppen krijgen geen zichtbare focusrand wanneer een gebruiker door de pagina navigeert d.m.v. toetsenbordnavigatie. Hierdoor raken zij de focusrand kwijt wat verwarrend kan werken. Zorg voor een zichtbare focusrand om deze knoppen en plaats deze dan iets buiten de rand van de knop zodat deze niet precies op de rand vallen.
Dit geldt ook voor de pagina:
- Inlog stap 2 wachtwoord.
Bevinding 31: Op de pagina "Mijn gegevens" staat, onder het logo, een formulier. Het logo krijgt een zichtbare focusrand, maar wanneer een gebruiker verder tabt verdwijnt de focusrand. Pas wanneer nogmaals de tab-toets wordt gebruikt wordt de focusrand weer zichtbaar om het invoerveld "E-mail". Voor gebruikers, die middels toetsenbordnavigatie door een pagina navigeren, is dit verwarrend. Zorg ervoor dat de focusrand ten alle tijden zichtbaar is bij het navigeren middels toetsenbordnavigatie. En geef alleen interactieve elementen, zoals een link of een button, de focus. Plaats geen andere elementen, zoals tabellen of een heel formulier in de focusvolgorde. Zie succescriterium 2.4.3 voor de oplossing.
Dit geldt onder andere ook voor de pagina's:
- Aanvraag gegevens
- Productkeuze in het Nieuwe aanvraag proces
- Datumkeuze in het Nieuwe aanvraag proces
- Reden ontheffing in het Nieuwe aanvraag proces
- Nieuwe account aanmaken proces
Bevinding 32: Op de pagina "Aanvraag gegevens" staan, onder de kop "Aanvraag gegevens", twee knoppen; "Aanvraag annuleren" en "Vorige". De knoppen krijgen wel de focus, maar de huidige focusrand is nauwelijks zichtbaar. Gebruikers met slechtzicht of die kleurenblind zijn, en afhankelijk zijn van toetsenbordnavigatie, ondervinden hinder van een nauwelijks zichtbare focusrand. Geef de knoppen een andere achtergrondkleur zodat de focusrand zichtbaar is.
Dit geldt voor alle knoppen met de blauwe kleur (HEX #28347F).
Zoals op de pagina's :
- Mijn gegevens.
- Productkeuze (in het Nieuwe aanvraag proces).
Bevinding 33: Op de pagina "Productkeuze" (in het Nieuwe aanvraag proces) staan twee mogelijkheden om te selecteren; "Dagontheffing binnenstad Leerdam" en "Jaarontheffing autoluwe binnenstad Leerdam". Deze selectiemogelijkheden krijgen geen focusrand wanneer een gebruiker navigeert met het toetsenbord. De achtergrond krijgt wel een grijze achtergrond echter is deze achtergrond niet afdoende voor gebruikers die slechtzicht hebben of die kleurenblind zijn. Geef de selectiemogelijkheden een focusrand.
2.5 Input modaliteiten
2.5.3 Label in naam (Niveau A)
Informatie over succescriterium 2.5.3 Label in naam
Uitkomst: Onvoldoende
Bevinding 34: Op de Homepagina staan, als eerste interactieve elementen, twee knoppen voor het kiezen van de taal van de webpagina. Beide knoppen hebben een aria-label attribuut waarvan de tekst niet overeenkomt met de visuele tekst in de knoppen zelf. Gebruikers van spraakgestuurde hulpsoftware ondervinden hinder van het verschil in benaming. Wanneer zij de visuele naam gebruiken voor het bedienen van de knop zal de knop niet reageren en gebeurt er niks. Geef de knoppen een visuele tekst en een aria-label attribuut die exact hetzelfde zijn, zoals; "English" en "Nederlands".
Dit geldt ook voor de Homepagina (Engels).
Bevinding 35: Op de pagina "Persoonlijk dashboard" staan, onder het logo, twee klikbare elementen. Het element met de naam "Mijn gegevens" heeft geen toegankelijke naam. Gebruikers van spraakgestuurde hulpsoftware ondervinden hinder wanneer een toegankelijke naam ontbreekt. Zij kunnen het element niet aansturen of bereiken met het uitspreken van de visuele naam. Geef het element een toegankelijke, programmatische naam die exact hetzelfde is als de visuele naam. In dit geval is dat "Mijn gegevens".
Bevinding 36: Op de pagina "Reden ontheffing" (in het Nieuwe aanvraag proces) staat, onder de tekst "U kunt optioneel ook een document uploaden", een bestandkiezer. Deze heeft een label, met de tekst "Reden ontheffing" en een visuele knop met de tekst "Bestanden kiezen". De naam van het inputveld is "Reden ontheffing". Dit kan verwarrend werken voor gebruikers van spraakgestuurde hulpsoftware. Zorg ervoor dat de tekst van de visuele knop overeenkomt met de programmatische naam van de bestandenkiezer. Zie succescriterium 2.4.6 voor de suggestie voor de naam.
3. Begrijpelijk
3.1 Leesbaar
3.1.1 Taal van de pagina (Niveau A)
Informatie over succescriterium 3.1.1 Taal van de pagina
Uitkomst: Onvoldoende
Bevinding 37: De pagina "Inlog stap 1 gebruikersnaam" heeft geen lang attribuut. Hierdoor is de taal van de pagina niet bepaald en gebruikt voorleessoftware de taalinstelling ingesteld door de gebruiker. Deze pagina is in het Engels. Wanneer een gebruiker van voorleessoftware de taal ingesteld heeft op Nederlands zal voorleessoftware de tekst, op de pagina, voorlezen op z'n Nederlands. Dit kan onbegrijpelijk zijn en zorgt ervoor dat gebruikers informatie niet begrijpen en informatie missen. Plaats altijd een lang-attribuut om de taal van de gehele pagina aan te geven.
Dit geldt ook voor de pagina:
- Inlog stap 2 wachtwoord.
3.1.2 Taal van onderdelen (Niveau AA)
Informatie over succescriterium 3.1.2 Taal van onderdelen
Uitkomst: Onvoldoende
Bevinding 38: De pagina "Inlog stap 1 gebruikersnaam" heeft geen lang attribuut. Hierdoor is de taal van de pagina, in dit geval Engels, niet bepaald en gebruikt voorleessoftware de taalinstelling ingesteld door de gebruiker. De componenten van de website hebben ook geen taalinstelling. Wanneer een gebruiker van voorleessoftware de taal van de voorleessoftware ingesteld heeft op Nederlands, zal voorleessoftware de tekst, op de pagina, voorlezen op z'n Nederlands. Dit kan onbegrijpelijk zijn en zorgt ervoor dat gebruikers informatie niet begrijpen en informatie missen. Plaats een lang-attribuut wanneer een component in taal afwijkt van de webpagina waar deze op staat.
3.2 Voorspelbaar
3.2.2 Bij input (Niveau A)
Informatie over succescriterium 3.2.2 Bij input
Uitkomst: Onvoldoende
Bevinding 39: Op de pagina "Inlog stap 1 gebruikersnaam" staat een invoerveld voor de user name. Wanneer de gebruiker daar een invoer doet en naar een ander tabblad of een document navigeert en dat selecteert dan wijzigt de context en komt de volgende stap in het inlogproces in beeld. Zonder dat de gebruiker de knop "Next" heeft geactiveerd. Gebruikers met een cognitieve beperking ondervinden hinder van het zomaar wijzigen van de context. Voor deze groep gebruikers kan dit verwarrend werken. Zorg ervoor dat gebruikers kunnen schakelen tussen tabbladen en apps zonder dat de context wijzigt en dat de context pas wijzigt op het moment dat de gebruiker een daartoe bedoelde actie uitvoert.
3.3 Assistentie bij invoer
3.3.1 Foutidentificatie (Niveau A)
Informatie over succescriterium 3.3.1 Foutidentificatie
Uitkomst: Onvoldoende
Bevinding 40: Op de pagina "Inlog stap 2 wachtwoord" staan twee invoervelden. Wanneer één van de twee velden incorrect ingevuld wordt komt onder de modal de tekstuele melding "Invalid username or password". De identificatie van het incorrect ingevulde veld is niet duidelijk. Gebruikers met een cognitieve beperking hebben moeite met het identificeren en aanpassen van incorrect ingevulde velden en hebben een duidelijke identificatie nodig. Geef duidelijk aan welk veld niet correct is ingevuld.
Bevinding 41: Op de pagina "Mijn gegevens" staan, in het formulier onder het logo, twee invoervelden. Eén met het label "E-mail" en de tweede met het label "Telefoonnummer". Beide invoervelden geven geen foutmelding wanneer verkeerde informatie wordt ingevuld. Dit is voor veel gebruikers vervelend, maar vooral voor gebruikers die blind zijn of slecht zicht hebben en voor gebruikers met een cognitieve beperking is het vervelend dat de velden geen controle uitvoeren op de invoer. Beide invoervelden hebben een type attribuut, maar met de verkeerde waarde. Geef de juiste waarde aan het type attribuut. Voor het e-mail invoerveld is dat type="email" en voor het telefoonnummer invoerveld is dat type="tel". Zorg ervoor dat de meldingen gekoppeld zijn aan het invoerveld waar de fout plaats vind, dat deze koppeling zichtbaar, hoorbaar en duidelijk is en dat een foutsuggestie gegeven wordt in de melding.
Dit geldt ook voor de invoervelden "Emailadres" en "Email voor bevestiging" op de pagina "Particulier account" (in het Nieuwe account aanmaken proces).
Bevinding 42: Advies: Op de pagina Datumkeuze (in het Nieuwe aanvraag proces) staat een invoerveld voor de datum. De gebruiker kan de datum weghalen en op de knop "volgende" klikken zonder dat een foutmelding gedaan wordt over het ontbreken van een datum. Dit is voor alle gebruikers heel vervelend omdat je ook niet terug kunt in het aanvraag proces om de datum aan te passen. Zorg ervoor dat een foutmelding zichtbaar wordt bij een onjuiste invoer en maak deze ook toegankelijk. Geef een foutsuggestie en maak hem zichtbaar voor hulpsoftware.
Bevinding 43: Advies: Op de pagina "Reden ontheffing" (in het Nieuwe aanvraag proces) staat een formulier met twee invoervelden. Het eerste veld is verplicht en wanneer je niks invoert dan krijg je een foutmelding, maar wanneer je een enter geeft in dat vak en verder niks invult kun je wel verder in het proces. Dit is voor alle gebruikers vervelend. Zorg ervoor dat de gebruiker echt niet verder kan in het proces zonder iets in te vullen. Doe dit door programmatisch aan te geven wat je minimaal verwacht aan invoer.
Dit geldt ook voor de invoervelden "Voornaam" en "Achternaam" op de pagina "Particulier account" (in het Nieuwe account aanmaken proces).
3.3.2 Labels of instructies (Niveau A)
Informatie over succescriterium 3.3.2 Labels of instructies
Uitkomst: Voldoende
Bevinding 44: Advies: Op de pagina "Datumkeuze" (in het Nieuwe aanvraag proces) staat een invoerveld voor de datum. Deze heeft een label met de tekst "Op welke datum moet het product geldig zijn?". Deze kan iets duidelijker. Maak hier bijvoorbeeld van: "Kies een datum waarop het product geldig moet zijn.".
3.3.3 Foutsuggestie (Niveau AA)
Informatie over succescriterium 3.3.3 Foutsuggestie
Uitkomst: Onvoldoende
Bevinding 45: Op de pagina "Inlog stap 2 wachtwoord" staan twee invoervelden. Wanneer de velden incorrect worden ingevuld door de gebruiker, krijgt deze alleen te zien dat een fout zich voordoet. De gebruiker krijgt geen suggesties om de invoer op een juiste wijze aan te passen. Gebruikers met een cognitieve beperking hebben moeite met het identificeren en aanpassen van een incorrecte invoer. Geef altijd een suggestie om de invoer goed aan te passen. Dit kan zijn: "De gebruikersnaam is incorrect. Een e-mailadres heeft de volgende opbouw: test@test.com".
Bevinding 46: Op de pagina "Mijn gegevens" krijgt een gebruiker geen foutmelding wanneer een fout gemaakt wordt met het invullen van de invoervelden. Zie succescriterium 3.3.1 voor de oplossing hiervoor. Geef in de foutmelding een duidelijke foutsuggestie zodat de gebruiker weet hoe de fout te herstellen. Dit kan zijn: "Het e-mailadres is incorrect. Een e-mailadres heeft de volgende opbouw: test@test.com".
Bevinding 47: Op de pagina "Kenteken toevoegen" (in het Nieuwe aanvraag proces) staat een invoerveld voor het kenteken. Wanneer de gebruiker een ongeldig kenteken invoert komt een foutmelding tevoorschijn. Deze modal geeft aan dat een ongeldig kenteken in ingevoerd, maar geeft geen foutsuggestie. Gebruikers met een cognitieve beperking hebben moeite met het identificeren en aanpassen van een incorrecte invoer. Geef altijd een foutsuggestie in een foutmelding bij een invoerveld.
Bevinding 48: Op de pagina "Particulier account" (in het Nieuwe account aanmaken proces) staat een formulier met invoervelden. Wanneer een gebruiker zijn/haar BSN incorrect invoert wordt een foutmelding zichtbaar. De foutmelding bevat de tekst "Ongeldige BSN", maar geeft geen foutsuggestie om gebruikers te helpen met aanpassen/corrigeren. Gebruikers met een cognitieve beperking hebben moeite met het identificeren en aanpassen van een incorrecte invoer. Geef altijd een foutsuggestie in een foutmelding bij een invoerveld.
4. Robuust
4.1 Compatibel
4.1.2 Naam, rol, waarde (Niveau A)
Informatie over succescriterium 4.1.2 Naam, rol, waarde
Uitkomst: Onvoldoende
Bevinding 49: Op de pagina "Persoonlijk dashboard" staan, onder de koppen "Mijn aanvragen" en "Mijn producten", twee visueel vormgegeven tabellen. Deze tabellen hebben een verkeerde ARIA role gekregen. De overkoepelende <div> elementen, met de class="ql-table", hebben een role="grid". De geneste cel-elementen hebben een role="columnheader" en role="gridcell". Dit is niet toegestaan volgens de ARIA-standaard. Een element met de role="grid" kan enkel items met role="row" of treegrid of rowgroup bevatten. Een element met role="row" kan wel elementen met de role="gridcell en role="columnheader" hebben. Een betere oplossing is om een visuele tabel programmatisch als tabel op te maken. Gebruik hiervoor het <table> element met <th>, <thead>, <tr>, <th> ,<td>, etc.
Bevinding 50: Op de pagina "Persoonlijk dashboard" staan, onder het logo, twee klikbare elementen. Deze elementen hebben geen specifieke, programmatische rol. Voor gebruikers van hulpsoftware is niet duidelijk of deze elementen een link zijn of een knop. Gebruik semantisch HTML om interactieve elementen te bouwen. In dit geval het <a> element, omdat de gebruiker naar een andere pagina navigeert middels het element.
Haal ook het tabindex attribuut uit het element. Zolang de interactieve elementen in de juiste volgorde staan in HTML is een tabindex attribuut overbodig en kan het alleen maar dingen stuk maken.
Bevinding 51: Op de pagina "Productkeuze" (in het Nieuwe aanvraag proces) staan, twee klikbare elementen; "Dagontheffing binnenstad Leerdam" en "Jaarontheffing autoluwe binnenstad Leerdam". Deze klikbare elementen hebben een verkeerde programmatische rol. Het zijn linkjes (want ze gaan naar een nieuwe pagina), maar hebben de rol row in een tabel. Voor gebruikers van hulpsoftware is dit verwarrend. Gebruik het <a> element voor deze elementen zodat duidelijk is dat het een link is. Wanneer semantisch HTML gebruikt wordt en de elementen in de juiste volgorde staan, in de HTML-code, verwijder dan het tabindex attribuut uit de elementen.
Bevinding 52: Op de pagina "Reden ontheffing" (in het Nieuwe aanvraag proces) staat, onder de tekst "Omschrijf in het tekstvak hieronder waarom u de ontheffing nodig heeft. U kunt eventueel ook een bijlage toevoegen.", een invoerveld. Dit invoerveld heeft geen <label> element gekoppeld. Voorleessoftware kan zonder <label> element geen koppeling maken tussen de uitleg over het invoerveld en het invoerveld zelf. Gebruikers van voorleessoftware weten hierdoor niet welke invoer van gegevens verwacht wordt. Zet de tekst "Omschrijf in het tekstvak hieronder waarom u de ontheffing nodig heeft. U kunt eventueel ook een bijlage toevoegen." in een <label> element en koppel dit in de HTML-code aan het invoerveld middels het for en id attribuut.
Dit geldt ook voor het invoerveld op de pagina "Kenteken toevoegen" (in het Nieuwe aanvraag proces)
4.1.3 Statusberichten (Niveau AA)
Informatie over succescriterium 4.1.3 Statusberichten
Uitkomst: Onvoldoende
Bevinding 53: Op de pagina "Inlog stap 2 wachtwoord" staan twee invoervelden om in te loggen op de website. Wanneer de invoervelden niet correct worden ingevuld wordt een foutmelding tekstueel zichtbaar op het scherm. Deze foutmelding wordt niet voorgelezen door voorleessoftware. Een gebruiker van voorleessoftware weet niet dat hij/zij een fout heeft gemaakt met de invoer van de gevraagde gegevens. De focus gaat direct naar het veld voor de invoer van het wachtwoord. Dit creëert verwarring bij de gebruiker. Zorg ervoor dat foutmeldingen ten alle tijden worden voorgelezen door voorleessoftware.
Bevinding 54: Op de pagina "Mijn gegevens" staat een formulier met twee invoervelden. Deze hebben geen foutmelding bij het invoeren van incorrecte informatie. Zie succescriterium 3.3.1 voor de oplossing. Zorg ervoor dat de foutmelding en foutsuggestie voorgelezen wordt door voorleessoftware en dat de timing, van het voorlezen, klopt.
Bevinding 55: Wanneer een gebruiker is ingelogd verschijnt, na een kwartier inactiviteit, in het scherm een melding dat de gebruiker binnen 10 seconden afgemeld wordt. Deze melding wordt niet voorgelezen door voorleessoftware. Gebruikers van voorleessoftware hebben geen idee dat ze uitgelogd worden. Zorg ervoor dat dit soort meldingen worden voorgelezen door voorleessoftware. Zie succescriterium 2.2.1 voor het toegankelijk maken van de melding.
Bevinding 56: Op de pagina "Particulier account" (in het Nieuwe account aanmaken proces), staat een formulier met een aantal invoervelden. Wanneer de gebruiker een fout maakt met invullen wordt een foutmelding zichtbaar. Deze foutmelding wordt niet voorgelezen door voorleessoftware. Een gebruiker van voorleessoftware weet niet dat hij/zij een fout heeft gemaakt met de invoer van de gevraagde gegevens en kan dit niet corrigeren. Zorg ervoor dat foutmeldingen ten alle tijden wordt voorgelezen door voorleessoftware.
Onderbouwing van de evaluatie
Het onderzoek is uitgevoerd op basis van de evaluatiemethode van het W3C, WCAG-EM. Dit gebeurt grotendeels handmatig door een steekproef te nemen. Voor een quickscan geldt dat we slechts delen uit deze methodiek gebruiken. Ondanks alle zorgvuldigheid en ervaring van de onderzoeker kan het voorkomen dat een probleem niet gesignaleerd is. Houd er rekening mee dat in een volgend onderzoek bepaalde onderdelen anders worden beoordeeld omdat technologieën en hulpsoftware worden doorontwikkeld. Bij het handmatig onderzoek wordt gebruik gemaakt van tools.
Steekproef getoetste webpagina's
- Homepagina (Nederlands):
https://leerdam.city.nl - Homepagina (Engels):
https://leerdam.city.nl/login - Inlog stap 1 gebruikersnaam:
https://id.city.nl/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Dcity-portal%26redirect_uri%3Dhttps%253A%252F%252Fleerdam.city.nl%252Fcallback%26response_type%3Dcode%26scope%3Dopenid%2520offline_access%2520email%2520conneqtApiAccess%26nonce%3Db4d48adfb6c9cc481e14e9fd4654927c05w9jHdAp%26state%3Da8786a5f330c42a17e9170c2212a122a8393QJBzy%26code_challenge%3D9pr9qAO1hzIAmWIQCUAEEp2o6TLqfu5YAkQkUJnsuJc%26code_challenge_method%3DS256%26acr_values%3Dtenant%253A652f9d3e60699ce2f24ee281 - Inlog stap 2 wachtwoord:
https://id.city.nl/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Dcity-portal%26redirect_uri%3Dhttps%253A%252F%252Fleerdam.city.nl%252Fcallback%26response_type%3Dcode%26scope%3Dopenid%2520offline_access%2520email%2520conneqtApiAccess%26nonce%3Db4d48adfb6c9cc481e14e9fd4654927c05w9jHdAp%26state%3Da8786a5f330c42a17e9170c2212a122a8393QJBzy%26code_challenge%3D9pr9qAO1hzIAmWIQCUAEEp2o6TLqfu5YAkQkUJnsuJc%26code_challenge_method%3DS256%26acr_values%3Dtenant%253A652f9d3e60699ce2f24ee281 - Persoonlijk dashboard:
https://leerdam.city.nl/dashboard - Mijn gegevens pagina:
https://leerdam.city.nl/process/652fbfeb2c59e97b28cb1e65/68679f401d198de2bb082f08 - Aanvraag gegevens pagina:
https://leerdam.city.nl/process/679ce82265264e1be219bd0f/68679f6b1d198de2bb082fa5 - Nieuwe aanvraag proces:
https://leerdam.city.nl/process/666858cd6a76bc21975cecbf/68679fbd1d198de2bb083080 - Nieuwe account aanmaken proces:
https://leerdam.city.nl/process/anonymous/fe3566fe-70a7-4c76-8f95-6c7b46702bac - Persoonlijk dashboard (Engels):
https://leerdam.city.nl/dashboard
Ondersteunende technieken
Bronnen
-
Evaluatiedocument WCAG 2.0
www.drempelvrij.nl/over-het-waarmerk -
Web Content Accessibility Guidelines (WCAG) 2.0 (Geautoriseerde Nederlandse vertaling)
www.w3.org/Translations/WCAG20-nl -
Website Accessibility Conformance Evaluation Methodology (WCAG-EM)
www.w3.org/WAI/eval/conformance -
Web Content Accessibility Guidelines (WCAG)
www.w3.org/WAI/intro/wcag -
How to Meet WCAG 2.1 Quick Reference
www.w3.org/WAI/WCAG21/quickref/
Deze rapportage is grotendeels gemaakt met de online evaluatietool van W3C.