Toegankelijkheidsonderzoek

Rapport:
Systeemaudit digitale toegankelijkheid OpenStad


Onderzoeker
Sophie, Swink; Teun, Swink
Datum
19 juli 2024
Opdrachtgever
Draad Internet & Media B.V.

Samenvatting onderzoeksresultaat

De website OpenStad voldoet nog niet aan WCAG 2.1 niveau AA. Er zijn 13 van de 50 succescriteria waar één of meer fouten zijn gevonden. In dit document is vastgelegd in hoeverre de website voldoet aan de toegankelijkheidseisen die vastgelegd zijn in WCAG, de Web Content Accessibility Guidelines.

De website plannen.headless.draad.dev is onderzocht tussen 13 juni en 18 juli 2024. Het onderzoek is uitgevoerd aan de hand van de evaluatiemethode WCAG-EM. De website voldoet niet aan alle succescriteria. Voor dit systeemonderzoek zijn alle paginatypes en componenten gecontroleerd. Organisaties die gebruik maken van dit platform op een ander domein- of subdomeinnaam kunnen een deelonderzoek uit te laten voeren op de content en het kleurgebruik. De twee rapporten bepalen gezamenlijk in welke mate de website voldoet. Tevens kunnen de twee rapporten gezamenlijk gebruikt worden in de toegankelijkheidsverklaring.

De in het ogen springende problemen zijn:

Het onderzoek richt zich specifiek op de toegankelijkheid van de website voor mensen met een functiebeperking, zoals mensen die blind, doof, laaggeletterd zijn of andere functieproblemen hebben. Voor hen is het van belang dat de website technisch en inhoudelijk zo is ingericht dat de site voor hen goed bruikbaar is. Een website optimaliseren voor toegankelijkheid heeft meer voordelen; het maakt de website beter bruikbaar voor iedereen (bijvoorbeeld ook voor mensen die op hun mobieltje kijken in een zonnige omgeving) en het maakt de site beter vindbaar in zoekmachines.

Scope van de evaluatie

Naam website OpenStad
Scope van de website Binnen de scope van onderzoek valt:
Buiten de scope van het onderzoek valt:
Conformiteitsdoel WCAG 2.1 niveau AA
Basisniveau van toegankelijkheid ondersteund Gangbare browsers en hulpsoftware.

Overzicht toetsresultaat

Principe Voldoende Onvoldoende Onbekend
1 Waarneembaar 15 5 0
2 Bedienbaar 15 2 0
3 Begrijpelijk 6 4 0
4 Robuust 1 2 0
Totaal 37 13 0

Leeswijzer

Dit onderzoek is een momentopname. De website kan inmiddels veranderd zijn. De gevonden problemen zijn slechts voorbeelden. Ga daarom bij elk probleem de gehele website na of dit ook op andere plaatsen voorkomt. Dit onderzoek is slechts een steekproef van een aantal pagina's. Er zijn zo veel mogelijk verschillende type pagina's opgenomen in de sample om zo een goede indruk te krijgen van de toegankelijkheid. Let op! Bij het aanbrengen van verbeteringen of wijzigingen op de website/app kunnen nieuwe problemen ontstaan. Succescriteria gemarkeerd met "Niet aanwezig" worden automatisch goedgekeurd. Succescriteria gemarkeerd met "Onbekend" worden niet goedgekeurd.

Uitgebreide toetsresultaten


1. Waarneembaar

1.1 Tekstalternatieven

1.1.1 Niet-tekstuele content (Niveau A)

Alle niet-tekstuele content die aan de gebruiker wordt gepresenteerd, heeft een tekstalternatief dat een gelijkwaardig doel dient, behalve voor de hierna vermelde situaties.

Informatie over succescriterium 1.1.1 Niet-tekstuele content

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/ heeft de illustratie van de open envelop bij de info over inschrijven op de nieuwsbrief een leeg alt-attribuut, maar wel een ingevuld title-attribuut. Mogelijk interpreteren sommige screenreaders dit toch als alt-tekst, wat bezoekers kan verwarren. Verwijder het title-attribuut om er zeker van te zijn dat het als een decoratieve afbeelding wordt beschouwd.


1.2 Op tijd gebaseerde media

1.2.1 Louter-geluid en louter-videobeeld (vooraf opgenomen) (Niveau A)

Voor media met vooraf opgenomen louter-geluid en vooraf opgenomen louter-videobeeld is het volgende waar, behalve als de audio of video een media-alternatief voor tekst is en duidelijk als zodanig is gelabeld:

Informatie over succescriterium 1.2.1 Louter-geluid en louter-videobeeld (vooraf opgenomen)

Uitkomst: Niet aanwezig

Bevindingen: Dit onderzoek richt zich op de techniek van de website, zodoende is dit succescriterium niet onderzocht.


1.2.2 Ondertitels voor doven en slechthorenden (vooraf opgenomen) (Niveau A)

Er worden ondertitels voor doven en slechthorenden geleverd voor alle vooraf opgenomen audiocontent in gesynchroniseerde media, behalve als het mediabestand een media-alternatief voor tekst is en duidelijk als zodanig is gelabeld.

Informatie over succescriterium 1.2.2 Ondertitels voor doven en slechthorenden (vooraf opgenomen)

Uitkomst: Niet aanwezig

Bevindingen: Dit onderzoek richt zich op de techniek van de website, zodoende is dit succescriterium niet onderzocht.


1.2.3 Audiodescriptie of media-alternatief (vooraf opgenomen) (Niveau A)

Er wordt een alternatief geleverd voor op tijd gebaseerde media of audiodescriptie van de vooraf opgenomen videocontent geleverd voor gesynchroniseerde media, behalve als het mediabestand een media-alternatief voor tekst is en duidelijk als zodanig is gelabeld.

Informatie over succescriterium 1.2.3 Audiodescriptie of media-alternatief (vooraf opgenomen)

Uitkomst: Niet aanwezig

Bevindingen: Dit onderzoek richt zich op de techniek van de website, zodoende is dit succescriterium niet onderzocht.


1.2.4 Ondertitels voor doven en slechthorenden (live) (Niveau AA)

Er worden ondertitels voor doven en slechthorenden geleverd voor alle live audiocontent in gesynchroniseerde media.

Informatie over succescriterium 1.2.4 Ondertitels voor doven en slechthorenden (live)

Uitkomst: Niet aanwezig

Bevindingen: Dit onderzoek richt zich op de techniek van de website, zodoende is dit succescriterium niet onderzocht.


1.2.5 Audiodescriptie (vooraf opgenomen) (Niveau AA)

Er wordt een audiodescriptie geleverd voor alle vooraf opgenomen videocontent in gesynchroniseerde media.

Informatie over succescriterium 1.2.5 Audiodescriptie (vooraf opgenomen)

Uitkomst: Niet aanwezig

Bevindingen: Dit onderzoek richt zich op de techniek van de website, zodoende is dit succescriterium niet onderzocht.


1.3 Aanpasbaar

1.3.1 Info en relaties (Niveau A)

Informatie, structuur en relaties overgebracht door presentatie kunnen door software bepaald worden of zijn beschikbaar in tekst.

Informatie over succescriterium 1.3.1 Info en relaties

Uitkomst: Onvoldoende

Bevindingen: Voor de cards op https://plannen.headless.draad.dev/plannen/overzicht worden knoppen gebruikt. Dit is verwarrend voor bezoekers die spraakbesturing gebruiken of een screenreader. Semantisch is het gebruik ook niet correct: knoppen gebruik je om een actie te ondernemen (bestelling bevestigen, inschrijving nieuwsbrief submitten) en links gebruik je om naar een andere locatie te gaan. Sinds het gaat om pagina's op een andere locatie dienen de cards links te worden. Maak enkel de titel van de card een link en maak de gehele card klikbaar met JavaScript. Dit komt ook voor op https://plannen.headless.draad.dev/kaart, https://plannen.headless.draad.dev/stemmen. Bij deze bevinding speelt ook mee dat het gebruik van elementen zoals figure en h4 niet is toegestaan binnen een button-element. Hulpsoftware zal als gevolg hiervan niet alle informatie in de semantische HTML presenteren aan gebruikers van die software.

Op https://plannen.headless.draad.dev/stemmen heeft de middelste keuzelijst van de filters een leeg label. Een label-element is aanwezig, maar niet geassocieerd met het select-element. Een label is belangrijk voor bezoekers met een screenreader, omdat ze anders niet weten wat het doel of de context is van dit element. Het is nodig dit label te vullen met tekst en te koppelen aan dit invoerveld (met for en id).

Op https://plannen.headless.draad.dev/enquete is de tekst boven de input type=range niet gekoppeld aan de onderstaande invoer van 1 tot 5. De tekst “Welke functies passen volgens u wel of niet in het park?” is nu een legend zonder fieldset. Voeg een label in plaats van een legend toe om de relatie tussen vraag en beschikbare opties/antwoorden duidelijker en compleet te maken voor bezoekers met hulpsoftware.

Advies: Op https://plannen.headless.draad.dev/kaart ontbreekt de eerste kop (H1). Het is gebruikelijk om de content van een pagina te laten beginnen met een H1. De afwezigheid van een H1 is geen reden om een website af te keuren. Dit komt ook voor op andere pagina's zoals https://plannen.headless.draad.dev/stemmen, https://plannen.headless.draad.dev/enquete, https://plannen.headless.draad.dev/plan-indienen, en dergelijke.


1.3.2 Betekenisvolle volgorde (Niveau A)

Als de volgorde waarin content wordt gepresenteerd van invloed is op zijn betekenis, kan een correcte leesvolgorde door software bepaald worden.

Informatie over succescriterium 1.3.2 Betekenisvolle volgorde

Uitkomst: Voldoende


1.3.3 Zintuiglijke eigenschappen (Niveau A)

Instructies die geleverd worden om content te begrijpen en te bedienen zijn niet alleen afhankelijk van zintuiglijke eigenschappen van componenten zoals vorm, kleur, omvang, visuele locatie, oriëntatie of geluid.

Informatie over succescriterium 1.3.3 Zintuiglijke eigenschappen

Uitkomst: Niet aanwezig

Bevindingen: Dit onderzoek richt zich op de techniek van de website, zodoende is dit succescriterium niet onderzocht.


1.3.4 Weergavestand (Niveau AA)

De content beperkt de weergave en bediening niet tot een enkele presentatie-oriëntatie, zoals staand of liggend, tenzij een specifieke presentatie-oriëntatie essentieel is.

Informatie over succescriterium 1.3.4 Weergavestand

Uitkomst: Voldoende


1.3.5 Identificeer het doel van de input (Niveau AA)

Het doel van elk invoerveld waarmee informatie van de gebruiker wordt verzameld, kan door software bepaald worden wanneer:

Informatie over succescriterium 1.3.5 Identificeer het doel van de input

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/login heeft het invoerveld voor het e-mail geen autocomplete attribuut. Het doel van dit veld moet programmatisch kunnen worden bepaald, zodat het automatisch kan worden ingevuld of extra hulp kan worden geboden bij het invullen. Dit kan door het autocomplete-attribuut aan de input-elementen toe te voegen. Bijvoorbeeld voor e-mailadres autocomplete="email". Een overzicht van de velden waarvoor het autocomplete-attribuut van toepassing is en de waarde die nodig is in dit attribuut, staat op de pagina: https://www.w3.org/tr/wcag21/#input-purposes.Dit komt ook voor op https://plannen.headless.draad.dev/plan-indienen als je de flow start.

In de flow van https://plannen.headless.draad.dev/plan-indienen wordt er bij de eerste keer inloggen om je naam gevraagd. Het doel van dit veld moet programmatisch kunnen worden bepaald, zodat het automatisch kan worden ingevuld of extra hulp kan worden geboden bij het invullen. Dit kan door het autocomplete-attribuut aan de input-elementen toe te voegen. Bijvoorbeeld voor e-mailadres autocomplete="email".
Een overzicht van de velden waarvoor het autocomplete-attribuut van toepassing is en de waarde die nodig is in dit attribuut, staat op de pagina: https://www.w3.org/tr/wcag21/#input-purposes.


1.4 Onderscheidbaar

1.4.1 Gebruik van kleur (Niveau A)

Kleur wordt niet als het enige visuele middel gebruikt om informatie over te brengen, een actie aan te geven, tot een reactie op te roepen of een visueel element te onderscheiden.

Informatie over succescriterium 1.4.1 Gebruik van kleur

Uitkomst: Voldoende


1.4.2 Geluidsbediening (Niveau A)

Als een geluidsweergave op een webpagina automatisch meer dan 3 seconden speelt, is er of een mechanisme beschikbaar om de geluidsweergave te pauzeren of te stoppen, of er is een mechanisme beschikbaar om het geluidsvolume onafhankelijk van het overall systeemvolume te regelen.

Informatie over succescriterium 1.4.2 Geluidsbediening

Uitkomst: Niet aanwezig


1.4.3 Contrast (minimum) (Niveau AA)

De visuele weergave van tekst en afbeeldingen van tekst heeft een contrastverhouding van ten minste 4,5:1, behalve in de volgende gevallen:

Informatie over succescriterium 1.4.3 Contrast (minimum)

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/plan-indienen heeft de knop "inloggen" onvoldoende contrast. De witte tekst met de groene achtergrond (HEX #12b886). biedt een contrastverhouding van 2,55:1 waar het 4,5:1 moet zijn.


1.4.4 Herschalen van tekst (Niveau AA)

Behalve voor ondertitels voor doven en slechthorenden en afbeeldingen van tekst, kan tekst zonder hulptechnologie tot 200% geschaald worden zonder verlies van content of functionaliteit.

Informatie over succescriterium 1.4.4 Herschalen van tekst

Uitkomst: Voldoende


1.4.5 Afbeeldingen van tekst (Niveau AA)

Als de gebruikte technologieën de visuele weergave tot stand kunnen brengen, wordt tekst gebruikt in plaats van afbeeldingen van tekst om informatie over te brengen, behalve in de volgende gevallen:

Informatie over succescriterium 1.4.5 Afbeeldingen van tekst

Uitkomst: Niet aanwezig

Bevindingen: Dit onderzoek richt zich op de techniek van de website, zodoende is dit succescriterium niet onderzocht.


1.4.10 Reflow (Niveau AA)

Content kan zonder verlies van informatie of functionaliteit en zonder te moeten scrollen in twee dimensies, worden weergegeven voor:

Met uitzondering van delen van de content die voor het gebruik of de betekenis een tweedimensionale lay-out vereisen.

Informatie over succescriterium 1.4.10 Reflow

Uitkomst: Onvoldoende

Bevindingen: Hoewel de site responsive design heeft, valt er op https://plannen.headless.draad.dev/veelgestelde-vragen in enkele van de vragen tekst over elkaar heen wat het onleesbaar maakt als men de tekst 400% vergroot en de viewport instelt op 1280x1024px. Zorg dat de tekst zich correct aanpast aan de viewport en vergrootte tekst.

Op alle pagina's in de sample past de hoofdnavigatie zich niet aan de viewport en de vergrootte tekst aan, wat een horizontale scrollbar veroorzaakt. Zorg ervoor dat het menu zich aan de viewport en tekstgrootte aanpast. Het is mogelijk om deze navigatie over meerdere regels te verdelen zonder verlies van informatie of functionaliteit.


1.4.11 Contrast van niet-tekstuele content (Niveau AA)

De visuele weergave van het volgende heeft een contrastverhouding van ten minste 3:1 ten opzichte van aangrenzende kleuren:

Informatie over succescriterium 1.4.11 Contrast van niet-tekstuele content

Uitkomst: Voldoende


1.4.12 Tekstafstand (Niveau AA)

Bij content die wordt geïmplementeerd met opmaaktalen die de volgende stijleigenschappen voor tekst ondersteunen, is er geen sprake van verlies van content of functionaliteit door het instellen van alle volgende, en door het niet wijzigen van andere stijleigenschappen:

Uitzondering: Menselijke talen en scripts die geen gebruik maken van een of meer van deze stijleigenschappen voor tekst in schriftelijke tekst, kunnen voldoen aan de eisen door alleen gebruik te maken van de eigenschappen die bestaan voor de betreffende combinatie van taal en script.

Informatie over succescriterium 1.4.12 Tekstafstand

Uitkomst: Voldoende


1.4.13 Content bij hover of focus (Niveau AA)

Wanneer aanvullende content zichtbaar wordt en daarna weer verborgen, door het gebruik van hover met de aanwijzer of focus met het toetsenbord, gelden de volgende zaken:

Uitzondering: De visuele weergave van de aanvullende content wordt beheerd door de user agent en wordt niet aangepast door de auteur.

Informatie over succescriterium 1.4.13 Content bij hover of focus

Uitkomst: Niet aanwezig


2. Bedienbaar

2.1 Toetsenbordtoegankelijk

2.1.1 Toetsenbord (Niveau A)

Alle functionaliteit van de content is bedienbaar via een toetsenbordinterface zonder dat afzonderlijke toetsaanslagen aan tijd gebonden zijn, behalve als de onderliggende functie een invoer vereist die afhangt van het pad dat de gebruiker aflegt en niet alleen van de eindpunten.

Informatie over succescriterium 2.1.1 Toetsenbord

Uitkomst: Voldoende


2.1.2 Geen toetsenbordval (Niveau A)

Als de toetsenbordfocus met de toetsenbordinterface verplaatst kan worden naar een component van de pagina, dan kan de focus ook met alleen de toetsenbordinterface weer van dat component weg worden bewogen. En, als er meer nodig is dan de standaard pijl- of tabtoetsen of andere standaard methoden om de focus te verplaatsen, dan wordt de gebruiker geïnformeerd over de manier waarop de focus kan worden verplaatst.

Informatie over succescriterium 2.1.2 Geen toetsenbordval

Uitkomst: Niet aanwezig


2.1.4 Enkel teken sneltoets (Niveau A)

Wanneer een sneltoets in content wordt geïmplementeerd door alleen letters (inclusief hoofdletters en kleine letters), leestekens, cijfers of symbolen te gebruiken, geldt ten minste één van de volgende zaken:

Informatie over succescriterium 2.1.4 Enkel teken sneltoets

Uitkomst: Niet aanwezig


2.2 Genoeg tijd

2.2.1 Timing aanpasbaar (Niveau A)

Voor elke tijdslimiet die door de content wordt ingesteld, geldt ten minste één van de volgende zaken:

Informatie over succescriterium 2.2.1 Timing aanpasbaar

Uitkomst: Voldoende


2.2.2 Pauzeren, stoppen, verbergen (Niveau A)

Voor alle bewegende, knipperende, scrollende of automatisch actualiserende informatie gelden alle volgende zaken:

Informatie over succescriterium 2.2.2 Pauzeren, stoppen, verbergen

Uitkomst: Voldoende


2.3 Toevallen en fysieke reacties

2.3.1 Drie flitsen of beneden drempelwaarde (Niveau A)

Webpagina's bevatten niets wat meer dan drie keer flitst in enige periode van één seconde of de flits is beneden de algemene flits- en rodeflitsdrempelwaarden.

Informatie over succescriterium 2.3.1 Drie flitsen of beneden drempelwaarde

Uitkomst: Voldoende


2.4.1 Blokken omzeilen (Niveau A)

Er is een mechanisme beschikbaar om blokken content die op meerdere webpagina's worden herhaald te omzeilen.

Informatie over succescriterium 2.4.1 Blokken omzeilen

Uitkomst: Voldoende

Bevindingen: Advies: Op https://plannen.headless.draad.dev/plannen/overzicht krijgen de locatiepins op de kaart toetsenbordfocus. Als er meer dan 10 of 20 plannen in de lijst (en dus op de kaart) staan, gaat dit de beeldvorming van de structuur en bedoeling van de pagina voor gebruikers met screenreaders wel veranderen. Voeg een skiplink toe vlak voor de kaart, zodat screenreaders de kaart kunnen overslaan en naar de inhoud onder de kaart kunnen gaan. Dit komt ook voor op https://plannen.headless.draad.dev/kaart.


2.4.2 Paginatitel (Niveau A)

Webpagina's hebben titels die het onderwerp of doel beschrijven.

Informatie over succescriterium 2.4.2 Paginatitel

Uitkomst: Voldoende

Bevindingen: Advies: Elke pagina heeft een unieke en beschrijvende titel, maar wel in het formaat "Websitenaam - Paginatitel". Best practice is om het formaat "Paginatitel - Websitenaam" te gebruiken, omdat dit gebruiksvriendelijker is voor bezoekers met een screenreader en mensen die heel veel tabs open hebben staan in hun browser.


2.4.3 Focus volgorde (Niveau A)

Als een webpagina sequentieel genavigeerd kan worden en de navigatiesequenties hebben invloed op de betekenis of het gebruik, dan krijgen focusbare componenten de focus in de juiste volgorde waardoor betekenis en bedienbaarheid behouden blijft.

Informatie over succescriterium 2.4.3 Focus volgorde

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/plannen/overzicht krijgen de knoppen "Deel jouw plan" en "6 plannen" een aantal keer achter elkaar de focus, waardoor het lijkt alsof er een toetsenbordval is, maar dat is niet het geval. Het is wel verwarrend voor bezoekers met een screenreader. In de code is te zien dat deze knoppen een aantal keer gedupliceerd zijn. Verwijder de duplicaten.

Op https://plannen.headless.draad.dev/kaart krijgt een extra item focus, tussen het laatste item van de hoofdnavigatie en het zoekveld. Dit wordt veroorzaakt door het gebruik van tabindex="0" op de container die het zoekveld en lijst van locaties bevat en de container die de kaart bevat. Niet-interactieve elementen dienen niet in de tab- en leesvolgorde gezet te worden. Verwijder het tabindex attribuut. Dit speelt ook op https://plannen.headless.draad.dev/plannen/overzicht/plan?openstadResourceId=17, https://plannen.headless.draad.dev/plannen/overzicht/plan?openstadResourceId=15 en https://plannen.headless.draad.dev/plannen/overzicht bij de container voor de kaart. Het is de bedoeling dat alleen zichtbare interactieve elementen toetsenbordfocus krijgen, pas daarom op met het gebruik van tabindex="0".

Op pagina https://plannen.headless.draad.dev/plannen/overzicht/plan?openstadResourceId=15 zijn er links om te delen op social media aanwezig. De knop om de link te delen heeft tabindex=0". Interactieve elementen staan in de tab-en leesvolgorde, dus dit attribuut is niet nodig. Maar in dit geval werkt de link werkt niet zonder dit attribuut. omdat er er geen href-attribuut is gebruikt. Voeg een linkadres toe om dit probleem op te lossen en verwijder het tabindex-attribuut. Dit speelt ook op https://plannen.headless.draad.dev/plannen/overzicht/plan?openstadResourceId=17.


Het linkdoel kan bepaald worden uit enkel de linktekst of uit de linktekst samen met zijn door software bepaalde linkcontext, behalve daar waar het doel van de link een dubbelzinnige betekenis zou kunnen hebben voor gebruikers in het algemeen.

Informatie over succescriterium 2.4.4 Linkdoel (in context)

Uitkomst: Voldoende


2.4.5 Meerdere manieren (Niveau AA)

Er is meer dan één manier beschikbaar om een webpagina binnen een verzameling webpagina's te vinden, behalve wanneer de webpagina het resultaat is van, of een stap in, een proces.

Informatie over succescriterium 2.4.5 Meerdere manieren

Uitkomst: Voldoende


2.4.6 Koppen en labels (Niveau AA)

Koppen en labels beschrijven het onderwerp of doel.

Informatie over succescriterium 2.4.6 Koppen en labels

Uitkomst: Voldoende


2.4.7 Focus zichtbaar (Niveau AA)

Elke gebruikersinterface die met een toetsenbord te bedienen is, heeft een bedieningswijze waarbij de indicator van de toetsenbordfocus zichtbaar is.

Informatie over succescriterium 2.4.7 Focus zichtbaar

Uitkomst: Voldoende


2.5 Input modaliteiten

2.5.1 Aanwijzergebaren (Niveau A)

Alle functionaliteit waarmee bij de bediening gebruik wordt gemaakt van meerpunts- of padgebaseerde gebaren, kan worden bediend met een enkele aanwijzer zonder een padgebaseerd gebaar, tenzij een meerpunts- of padgebaseerd gebaar essentieel is.

Informatie over succescriterium 2.5.1 Aanwijzergebaren

Uitkomst: Voldoende


2.5.2 Aanwijzerannulering (Niveau A)

Voor functionaliteit die kan worden bediend met een enkele aanwijzer, geldt ten minste één van de volgende zaken:

Informatie over succescriterium 2.5.2 Aanwijzerannulering

Uitkomst: Voldoende


2.5.3 Label in naam (Niveau A)

Bij componenten van de gebruikersinterface met labels die tekst of afbeeldingen van tekst bevatten, bevat de naam de tekst die visueel wordt weergegeven.

Informatie over succescriterium 2.5.3 Label in naam

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/plannen/overzicht krijgen de locatiepins op de kaart toetsenbordfocus. De toegankelijke naam voor elke pin is gewoon "Locatiepin". Dit klopt niet met het eigenlijke visuele label voor de pin, wat de naam van de locatie is. Voor bezoekers met een screenreader is het verwarrend om een aantal keer achter elkaar "Locatiepin" te horen. Pas het label voor de locatiepins aan zodat elke pin een uniek label heeft, wat de naam van de locatie is. Dit komt ook voor op https://plannen.headless.draad.dev/kaart.

Op https://plannen.headless.draad.dev/enquete is de tekst boven de input type=range niet gekoppeld aan de onderstaande invoer van 1 tot 5. De tekst “Welke functies passen volgens u wel of niet in het park?” is hierdoor nu een legend zonder fieldset. Voeg een fieldset toe om de relatie tussen vraag en beschikbare opties/antwoorden duidelijker en compleet te maken voor bezoekers met hulpsoftware.


2.5.4 Bewegingsactivering (Niveau A)

Functionaliteit die kan worden bediend door de beweging van een apparaat of beweging van een gebruiker, kan ook worden bediend met componenten van de gebruikersinterface. De reactie op de beweging kan worden uitgeschakeld om onbedoelde activering te voorkomen, behalve wanneer:

Informatie over succescriterium 2.5.4 Bewegingsactivering

Uitkomst: Niet aanwezig


3. Begrijpelijk

3.1 Leesbaar

3.1.1 Taal van de pagina (Niveau A)

De standaard menselijke taal van elke webpagina kan door software bepaald worden.

Informatie over succescriterium 3.1.1 Taal van de pagina

Uitkomst: Onvoldoende

Bevindingen: Op alle pagina's in de sample is de taalaanduiding van de hele pagina Engels. De pagina is echter in het Nederlands. Zorg voor de juiste taalcodering in de HTML zodat hulpsoftware de tekst op correcte wijze voorleest. verander het lang-attribuut in het html-element van de waarde "en" naar "nl".


3.1.2 Taal van onderdelen (Niveau AA)

De menselijke taal van elke passage of zin in de content kan door software bepaald worden, behalve waar het gaat om eigennamen, technische termen, woorden uit een onbepaalde taal en woorden of zinsdelen die deel zijn gaan uitmaken van het jargon van de onmiddellijk omringende tekst.

Informatie over succescriterium 3.1.2 Taal van onderdelen

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/ is de link "Translate this page with Google" niet aangeduid als Engelstalige tekst. Zorg voor de juiste taalcodering in de HTML zodat hulpsoftware de tekst op correcte wijze voorleest.

Advies: Op https://plannen.headless.draad.dev/kaart staan meerdere lorem ipsum teksten. Er is nu aangenomen dat deze teksten placeholders zijn voor Nederlandse teksten. Indien het de bedoeling is dat hier ook teksten in een andere taal zoals latijn geplaatst kunnen worden moet er een taalwisseling op die tekst komen.


3.2 Voorspelbaar

3.2.1 Bij focus (Niveau A)

Als een component van de gebruikersinterface de focus krijgt, dan veroorzaakt dat geen contextwijziging.

Informatie over succescriterium 3.2.1 Bij focus

Uitkomst: Voldoende


3.2.2 Bij input (Niveau A)

Verandering van de instelling van een component van de gebruikersinterface veroorzaakt niet automatisch een contextwijziging, tenzij de gebruiker geïnformeerd is over het gedrag vóór het gebruik van de component.

Informatie over succescriterium 3.2.2 Bij input

Uitkomst: Voldoende

Bevindingen: Advies: op https://plannen.headless.draad.dev/plannen/overzicht worden keuzelijsten gebruikt als filters voor thema's en gebieden. De filters veranderen op dit moment niets aan het aanbod, maar het lijkt erop dat de implementatie zo werkt dat bij het kiezen van een optie uit de lijst automatisch filtert. Dat zou kunnen betekenen dat dit ook gebeurt bij het bedienen met toetsenbord. Dat is verwarrend en mogelijk desoriënterend voor sommige bezoekers. Maak gebruik van een knop waarmee bezoekers zelf het filteren controleren of gebruik asynchrone JavaScript-functionaliteit die de selectie aanpast. Gebruik bij dit laatste ook een "live-region" waar je aan de bezoeker duidelijk maakt dat er iets is gewijzigd (via hulpsoftware).


3.2.3 Consistente navigatie (Niveau AA)

Navigatiemechanismen, die op meerdere webpagina's binnen een verzameling webpagina's herhaald worden, komen elke keer dat ze worden herhaald in dezelfde relatieve volgorde voor, tenzij een verandering wordt geïnitieerd door de gebruiker.

Informatie over succescriterium 3.2.3 Consistente navigatie

Uitkomst: Voldoende


3.2.4 Consistente identificatie (Niveau AA)

Componenten die dezelfde functionaliteit hebben binnen een verzameling webpagina's worden consistent geïdentificeerd.

Informatie over succescriterium 3.2.4 Consistente identificatie

Uitkomst: Voldoende


3.3 Assistentie bij invoer

3.3.1 Foutidentificatie (Niveau A)

Als een invoerfout automatisch ontdekt wordt, dan wordt het onderdeel waar de fout zit geïdentificeerd en wordt de fout tekstueel aan de gebruiker meegedeeld.

Informatie over succescriterium 3.3.1 Foutidentificatie

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/login verschijnt er bij het invoeren van een incorrect e-mailadres (gebruik van een komma in plaats van een punt, bijv.) wel een melding, maar die tekst geeft alleen door de rode kleur aan dat het een foutmelding is. De tekst "Vul hier een geldig e-mailadres in" had er ook van te voren kunnen staan om fouten te voorkomen. Een geldige foutmelding bevat eigenlijk altijd een ontkenning zoals "Fout: Vul hier een geldig e-mailadres in" of "Er is een ongeldig e-mailadres ingevuld".


3.3.2 Labels of instructies (Niveau A)

Als de content gebruikersinvoer vereist, dan worden labels of instructies geleverd.

Informatie over succescriterium 3.3.2 Labels of instructies

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/stemmen hebben de keuzelijsten geen zichtbaar label. Dat is wel nodig, het alleen weergeven van de geselecteerde optie is in deze twee gevallen niet voldoende.

Op https://plannen.headless.draad.dev/plannen/overzicht en https://plannen.headless.draad.dev/stemmen ontbreekt bij de keuzelijsten en het zoekveld een visueel label. Een visueel label, naast een programmatisch label, is verplicht om zo de context en het doel van de keuzelijsten duidelijk te maken voor bijvoorbeeld bezoekers met cognitieve problemen. Het moet mogelijk zijn om het doel van een invoerveld voor, tijdens en na het invullen van dat invoerveld te bepalen.


3.3.3 Foutsuggestie (Niveau AA)

Als een invoerfout automatisch ontdekt wordt en suggesties voor verbetering bekend zijn, dan worden de suggesties aan de gebruiker geleverd, tenzij dit de beveiliging of het doel van de content in gevaar zou brengen.

Informatie over succescriterium 3.3.3 Foutsuggestie

Uitkomst: Voldoende


Voor webpagina's die wettelijke verplichtingen of financiële transacties voor de gebruiker uitvoeren, die, door de gebruiker te beheren gegevens in gegevensopslagplaatsen verwijderen of wijzigen, of die antwoorden van de gebruiker verzenden, geldt minstens één van de volgende zaken:

  1. Omkeerbaar: Verzendingen kunnen ongedaan gemaakt worden.
  2. Gecontroleerd: Door de gebruiker ingevoerde gegevens worden gecontroleerd op invoerfouten en de gebruiker wordt de mogelijkheid gegeven om ze te verbeteren.
  3. Bevestigd: Er is een mechanisme beschikbaar voor het beoordelen, bevestigen en verbeteren van informatie voordat de verzending wordt voltooid.

Informatie over succescriterium 3.3.4 Foutpreventie (wettelijk, financieel, gegevens)

Uitkomst: Niet aanwezig


4. Robuust

4.1 Compatibel

4.1.1 Parsen (Niveau A)

In content die geïmplementeerd is met opmaaktalen hebben elementen volledige begin- en eindtags, zijn elementen genest volgens hun specificatie, bevatten elementen geen dubbele attributen en zijn alle ID's uniek, behalve waar de specificatie deze eigenschappen toelaat.

Informatie over succescriterium 4.1.1 Parsen

Uitkomst: Niet aanwezig


4.1.2 Naam, rol, waarde (Niveau A)

Voor alle componenten van de gebruikersinterface (inclusief, maar niet uitsluitend voor formulierelementen, links en door scripts gegenereerde componenten), kunnen de naam (name) en rol (role) door software bepaald worden; toestanden (states), eigenschappen (properties) en waarden (values) die door de gebruiker ingesteld kunnen worden, kunnen door software ingesteld worden; en kennisgeving van veranderingen in deze items is beschikbaar voor user agents, met inbegrip van hulptechnologieën.

Informatie over succescriterium 4.1.2 Naam, rol, waarde

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/veelgestelde-vragen zijn er uitklapbare blokjes aanwezig. Deze hebben allemaal een aria-controls attribuut. Bij elk blokje bevat dit attribuut echter een onbestaande verwijzing. Bijvoorbeeld, er is geen element met het id "utrecht-accordion:r1:-panel". Het gebruik van een juiste aria-controls is in dit geval niet verplicht, het advies is dan ook om deze onjuiste ARIA te wissen. Het aria-expanded="false" geeft aan dat het gaat om een ingeklapt uitklapbaar element en de waarde "true" staat daar als het object is uitgeklapt, dat deel werkt goed en moet blijven staan. Dit komt ook voor op https://plannen.headless.draad.dev/plan-indienen.

Op https://plannen.headless.draad.dev/enquete is er een blok aanwezig om een foto te uploaden. Visueel is er een instructie/label aanwezig, maar in de code is het label-element met aria-hidden verborgen voor hulpsoftware. Hierdoor gaan bezoeker met hulpsoftware geen idee hebben wat ze hier moeten doen. Zorg ervoor dat het label niet verborgen is.

Op https://plannen.headless.draad.dev/enquete is er een blok aanwezig om een foto te uploaden. In de instructie is de tekst "klik hier" aanwezig, wat visueel een link is. Maar in de code is het geen echt interactief element, dit onderdeel is nu een span die toetsenbordfocus kan ontvangen. Het advies is om hier een zichtbare input type file met label "upload hier uw afbeelding" te gebruiken. Er staat in de code ook ene link die verborgen is voor hulpsoftware door het gebruik van aria-hidden="true". Het probleem daar is dat deze link wel toetsenbordfocus kan ontvangen. Als de focus op deze link komt wordt er nu niets gepresenteerd. Voor hulpsoftware heeft deze link nu geen naam en geen rol.

Advies: Op https://plannen.headless.draad.dev/plannen/overzicht/plan?openstadResourceId=17 komen er links voor om op social media te delen die enkel een toegankelijke naam hebben via het title-attribuut. Het title-attribuut wordt niet door alle browsers en hulpsoftware helemaal goed ondersteund, terwijl dit volgens de specificatie wel zou moeten werken. Verzorg daarom bij voorkeur gewone linktekst in plaats van alleen een title. Doordat dit wel zou moeten werken wordt dit niet afgekeurd. Dit komt ook voor op https://plannen.headless.draad.dev/plannen/overzicht/plan?openstadResourceId=15.


4.1.3 Statusberichten (Niveau AA)

In content die is geïmplementeerd met opmaaktalen kunnen statusberichten door software bepaald worden met behulp van rol (role) of eigenschappen (properties), zodat hulptechnologieën de berichten aan de gebruiker kunnen presenteren zonder dat ze de focus krijgen.

Informatie over succescriterium 4.1.3 Statusberichten

Uitkomst: Onvoldoende

Bevindingen: Op https://plannen.headless.draad.dev/plannen/overzicht worden na het zoeken resultaten getoond. Er is echter geen tekst die vermeldt hoeveel resultaten er zijn gevonden. Het wordt ook niet gecommuniceerd naar screenreaders, waardoor ze missen dat de zoekopdracht is uitgevoerd. Voeg een zin toe dat meldt hoeveel resultaten er zijn gevonden, en stop die zin in een live-region. Dit komt ook voor op https://plannen.headless.draad.dev/kaart.

Op https://plannen.headless.draad.dev/login wordt het bericht dat de e-mail verzonden is (na registratie), niet gecommuniceerd naar screenreaders omdat de inhoud dynamisch veranderd. Ze gaan deze informatie dus missen en zich afvragen of het verzenden van het e-mailadres wel is gelukt. Zet een live-region op de kop "E-mail verstuurd" om dit op te lossen.

Op pagina https://plannen.headless.draad.dev/kaart komt na het zoeken een tekst in beeld die duidelijk maakt dat het zoeken gelukt is. Het gaat om de tekst "Je ziet hier zoekresultaten voor X". Deze tekst is een statusbericht en moet daarom ook aan gebruikers van hulpsoftware gepresenteerd worden om te voldoen. Het gebruik van een live-region op die tekst is een mogelijke oplossing.

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

Ondersteunende technieken

Webbrowsers (useragents) en andere software

Bij dit onderzoek is de volgende software gebruikt:

Bronnen

Deze rapportage is grotendeels gemaakt met de online evaluatietool van W3C.

Bron: toegankelijkheidsrapport.swink.nl/openstad/audit/
Geprint: 2024-11-25 10:34:33 v2.4-011