Webformulieren form.io
WCAG 2.1 AA onderzoek -versie 1.0
Algemene gegevens
Onderzoeker | Opdrachtgever | Datum | Versie |
---|---|---|---|
Els Groffen | Gemeente Nijmegen | 01-02-2024 | 1.0 |
Inleiding
Gemeente Nijmegen vindt het belangrijk dat iedereen digitale informatie kan lezen:
- op ieder apparaat
- op ieder moment
- op iedere plek
- zonder verschil in leeftijd, ervaring, situatie of beperking
Met iedereen bedoelen we dan ook echt iedereen, dus ook de 4 miljoen mensen die een functionele beperking hebben. Bijvoorbeeld mensen die slecht kunnen zien of geen muis kunnen gebruiken.
Volgens het Tijdelijk besluit digitale toegankelijkheid overheid van juli 2018 moeten websites en mobiele apps van Nederlandse overheidsorganisaties voldoen aan toegankelijkheidseisen. De verantwoording hiervoor staat in een toegankelijkheidsverklaring op de website.
De toegankelijkheidseisen staan in de Web Content Accessibility Guidelines 2.1 (WCAG 2.1). Gemeenten moeten voldoen aan niveau A en AA van deze eisen. De WCAG 2.1 is opgedeeld in 4 principes:
- waarneembaar: omschrijf of toon het als de gebruiker het niet kan zien of horen, denk ook aan voldoende kleurcontrast, schaalbaarheid enzovoort
- bedienbaar: zorg dat je de website met elk middel kan gebruiken
- begrijpelijk: zorg dat mens en software het begrijpen, geef bijvoorbeeld de taal van de pagina aan, maar ook fouten bij formulieren
- robuust: code en elementen kloppen, dit zorgt dat het werkt, ook met verschillende hulpsoftware en apparaten
Dit rapport beschrijft of de webformulieren die gebouwd zijn met de applicatie form.io voldoen aan deze 4 principes. Elk principe wordt beoordeeld op verschillende voorwaarden (succescriteria).
Het onderzoek naar toegankelijkheid van de webformulieren die gebouwd zijn in de tool form.io was klaar op 1 februari 2024. Het onderzoek is uitgevoerd volgens WCAG-EM.
Het gaat goed als je kijkt naar de toegankelijkheid van de content. Er is goed nagedacht over de formulering van de velden en het is heel prettig dat extra informatie niet verstopt is in een uitklapbaar i-veldje, maar gewoon uitgeschreven is onder het formulierveld. Voor content moet er nog wel aandacht zijn voor het instellen van de juiste taal bij met name formulieren in een andere taal.
De webformulieren die gebouwd zijn in de tool form.io voldoen helaas nog niet aan de nu geldende richtlijnen van de Web Content Accessibility Guidelines (WCAG 2.1 niveau AA). Er zijn 16 van de 50 succescriteria waar een of meer fouten zijn gevonden.
De meeste problemen moeten opgelost worden door de ontwikkelaars van de tool form.io. Als zij extra uitleg nodig hebben kunnen zij contact opnemen met de auditor.
Hoewel de steekproef zorgvuldig wordt gedaan, kan het gebeuren dat een probleem niet gevonden wordt tijdens het onderzoek. Ook kan iets dat nu als probleem wordt beoordeeld bij een volgend onderzoek worden goedgekeurd en andersom. Dit komt door nieuwe kennis over toegankelijkheid.
De gevonden problemen zijn voorbeelden. Controleer daarom bij elk probleem de hele website, om te zien of dit probleem ook op andere plaatsen te vinden is. In het onderzoek zijn zoveel mogelijk verschillende type pagina's opgenomen om een goede indruk te krijgen van de toegankelijkheid.
Vragen over dit onderzoek graag via mail naar teamonline@nijmegen.nl.
Website naam
Webformulieren form.io, worden getoond via een url die start met app6.nijmegen.nl
Soort onderzoek
Volledig
WCAG-versie
2.1
Niveau
AA
Evaluatiemethode
WCAG-EM
Wat is onderzocht (scope)
- Alle pagina's op app6.nijmegen.nl (URI-basis)
- Zie onderdeel 'Steekproef' voor de onderzochte formulieren
Basisniveau van toegankelijkheidsondersteuning
Standaard webbrowsers en hulpapparatuur
Resultaat
Onderstaande tabel laat zien aan hoeveel voorwaarden (succescriteria) de website op dit moment voldoet.
Voldoende | Onvoldoende | Niet aanwezig / Niet van toepassing |
---|---|---|
22 | 16 | 12 |
Afgekeurde criteria
- SUCCESCRITERIUM 1.1.1 (NIVEAU A) - Niet-tekstuele content
- SUCCESCRITERIUM 1.3.1 (NIVEAU A) - Info en relaties
- SUCCESCRITERIUM 1.3.5 (NIVEAU AA) - Identificeer het doel van de input
- SUCCESCRITERIUM 1.4.1 (NIVEAU A) - Gebruik van kleur
- SUCCESCRITERIUM 1.4.4 (Niveau AA) - Herschalen van tekst
- SUCCESCRITERIUM 1.4.10 (NIVEAU AA) - Reflow
- SUCCESCRITERIUM 2.2.1 (NIVEAU A) - Timing aanpasbaar
- SUCCESCRITERIUM 2.4.1 (NIVEAU A) - Blokken omzeilen
- SUCCESCRITERIUM 2.4.4 (NIVEAU A) - Linkdoel
- SUCCESCRITERIUM 2.4.7 (NIVEAU AA) - Focus zichtbaar
- SUCCESCRITERIUM 2.5.3 (NIVEAU A) - Label in naam
- SUCCESCRITERIUM 3.1.1 (NIVEAU A) - Taal van de pagina
- SUCCESCRITERIUM 3.1.2 (NIVEAU AA) - Taal van onderdelen
- SUCCESCRITERIUM 3.3.1 (NIVEAU A) - Foutidentificatie
- SUCCESCRITERIUM 3.3.2 (NIVEAU A) - Labels of instructies
- SUCCESCRITERIUM 3.3.3 (NIVEAU AA) - Foutsuggestie
Waarneembaar
Informatie en componenten van de gebruikersinterface moeten toonbaar zijn aan gebruikers op voor hen waarneembare wijze.
Niet-tekstuele content
Alle niet-tekstuele content die aan de gebruiker wordt gepresenteerd, heeft een tekstalternatief dat een gelijkwaardig doel dient, behalve voor de hierna vermelde situaties.
Uitleg:
Tekstalternatieven zijn een belangrijke manier om informatie toegankelijk te maken. Hulpsoftware maakt informatie via tekstalternatieven voor verschillende zintuigen waarneembaar. Bijvoorbeeld door tekst te kunnen zien, voorgelezen te krijgen of via braille te kunnen lezen.
Bevindingen succescriterium 1.1.1
- Het logo van gemeente Nijmegen, op iedere pagina in de rode balk, gaat naar de homepage van nijmegen.nl. De alternatieve tekst van het logo bepaalt voor hulpsoftware de linktekst. Het is dus belangrijk dat deze duidelijk is. Op dit moment is de alternatieve tekst "Logo Nijmegen" en zou verbeterd kunnen worden naar "Homepage gemeente Nijmegen (logo)". Zo wordt duidelijk dat men het formulier verlaat als men op het logo klikt. Als de alternatieve tekst is aangepast, kan de extra tekst die voor hulpsoftware bedoeld is verdwijnen: <span _ngcontent-etu-c53="" class="sr-only">Hoofdpagina</span>.
Let op: dit moet ook ingesteld worden als een andere class voor het logo gebruikt wordt. In de code: <img _ngcontent-klc-c53="" src="/assets/images/beeldmerkwit.svg" aria-hidden="true" alt="" class="logo"> - Een logo is sowieso een informatieve afbeelding. Op de pagina waar men een authenticatiemiddel kan kiezen (https://authenticatie.nijmegen.nl/broker/select/authn), staat het logo van gemeente Nijmegen zonder alternatieve tekst. Ook voor mensen die hulpsoftware gebruiken is het fijn om te weten dat deze pagina ook hoort bij gemeente Nijmegen. Visueel is dit zichtbaar, maar in de code wordt dit niet duidelijk. Dit geldt ook voor de logo's van DigiD en eHerkenning. Door voor de logo's een alternatieve tekst in te stellen, is het ook voor gebruikers van hulpsoftware duidelijk dat het vertrouwd is om op deze link te klikken. In tekst staat waar het om gaat, maar omdat het logo verplicht is om te tonen vanuit de organisaties van DigiD en eHerkenning, is het logisch dat gebruikers met hulpsoftware deze informatie ook mee moeten krijgen.
Louter-geluid en louter-videobeeld (vooraf opgenomen)
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:
- Vooraf opgenomen louter-geluid: Er wordt een alternatief geleverd voor op tijd gebaseerde media dat equivalente informatie geeft voor vooraf opgenomen louter-geluid content
- Vooraf opgenomen louter-videobeeld: Er wordt een alternatief geleverd voor op tijd gebaseerde media of een geluidsspoor dat equivalente informatie geeft voor vooraf opgenomen louter-videobeeld content.
Uitleg
Deze voorwaarde gaat over alles wat alléén geluid is (bijvoorbeeld een podcast) of alléén videobeeld (bijvoorbeeld een animatie zonder geluid). Het gaat niet om live geluid of live video. Er moet een andere mogelijkheid zijn die dezelfde informatie geeft.
Ondertitels voor doven en slechthorenden (vooraf opgenomen)
Er worden ondertitels voor doven en slechthorenden geleverd voor alle vooraf opgenomen audiocontent in gesynchroniseerde media, behalve als het mediabestand een meia-alternatief voor tekst is en duidelijk als zodanig is gelabeld.
Uitleg
Deze voorwaarde zorgt dat mensen die doof of slechthorend zijn, video’s kunnen bekijken en volgen. Door ondertitels aan te bieden, is alle belangrijke informatie ook te lezen.
Audiodescriptie of media-alternatief (vooraf opgenomen)
Er wordt een alternatief geleverd voor op tijd gebaseerde media of audiodescriptie van de vooraf opgenomen video-content voor gesynchroniseerde media, behalve als het media bestand een media-alternatief voor tekst is en duidelijk als zodanig is gelabeld.
Uitleg
Met deze voorwaarde geef je mensen die blind of slechtziend zijn toegang tot informatie die te zien is, bijvoorbeeld in video. Hiervoor moet een uitgeschreven tekst beschikbaar zijn met alle informatie die te zien en te horen is.
Ondertitels voor doven en slechthorenden (live)
Er worden ondertitels voor doven en slechthorenden geleverd voor alle live audiocontent in gesynchroniseerde media
Uitleg
Voor alle gesproken tekst en andere belangrijke geluiden in een live video moet je ondertiteling aanbieden.
Dit succescriterium maakt het mogelijk voor mensen die doof of slechthorend zijn, om live (realtime) media of presentaties te bekijken en volgen. Met het aanbieden van ondertiteling is alle hoorbare informatie in de livestream als leesbare tekst beschikbaar.
Audiodescriptie (vooraf opgenomen)
Er wordt audiodescriptie geleverd voor alle vooraf opgenomen videoontent in gesynchroniseerde media.
Uitleg
Voldoen aan deze voorwaarde zorgt dat mensen die blind of slechtziend zijn toegang krijgen tot informatie die te zien is in video’s. Deze voorwaarde is hetzelfde als voorwaarde 1.2.3. Maar omdat deze van niveau AA is, gaan de eisen nog wat verder. Een extra eis is het aanbieden van audiodescriptie met alle belangrijke informatie die te zien is.
Bij audiodescriptie beschrijft een stem tussen de dialogen door wat er in beeld te zien is. Denk aan gezichtsuitdrukkingen, omschrijving van de plaats en ontwikkelingen in de verhaallijn of wedstrijd.
Info en relaties
Informatie, structuur en relaties overgebracht door presentatie kunnen door software bepaald worden of zijn beschikbaar in tekst.
Uitleg
Voor deze voorwaarde moeten informatie en opbouw van pagina-onderdelen in de code van de webpagina staan. Ook moet in de code staan hoe de onderdelen met elkaar te maken hebben (relatie). De informatie, opbouw en relatie van de onderdelen mag niet alleen duidelijk zijn via de vormgeving.
Voorbeeld: als een kop boven een alinea dik gedrukt is, is het voor iemand die goed kan zien duidelijk dat het een kop is. Iemand die hulpsofware gebruikt, moet die tekst ook als kop kunnen herkennen in de code (H1, H2 etc).
Bevindingen succescriterium 1.3.1
- In de formulieren is in de code op iedere pagina, onder de knop 'Vorige' en/of 'Volgende', de start van een lijst gemaakt. Verder zijn hier geen lijstitems gekoppeld. Gebruikers van hulpsoftware kunnen hierdoor in de war raken omdat ze een lijst verwachten die er niet is. Het advies is deze code te verwijderen omdat er geen lijstitems aanwezig zijn. Code: <ul id="wizard-efcovyg-nav" class="formio-wizard-nav-container list-inline"></ul>
- Het gebruik van aria-labels is van belang voor mensen die hulpsoftware gebruiken. Onderschat de kracht niet van dit attribuut. Het aria-label overschrijft namelijk het visuele label voor gebruikers met hulpsoftware en hier moet zorgvuldig mee worden omgegaan. In bijna alle formuliervelden die ik heb gezien wordt het aria-label gebruikt, meestal met exact dezelfde tekst als het visuele label. Dit is niet fout, maar heeft geen meerwaarde. Het gaat mis als het aria-label niet juist gevuld is, zoals bijvoorbeeld in het formulier https://app6.nijmegen.nl/#/form/nijmegen/klachtoverdegemeentedoorgeven. Hier wordt bij de keuze 'iets anders' uiteindelijk om persoonsgegevens gevraagd. Daar wordt, bijvoorbeeld bij de velden voor postcode, huisnummer en straatnaam, aria-label="Textfield Nijmegen" gebruikt. Deze tekst wordt voorgelezen door hulpsoftware, in plaats van het visuele label. Hierdoor hebben gebruikers van hulpsoftware geen idee wat er van hen verwacht wordt. Waarschijnlijk zijn deze velden onderdeel van een samengesteld element 'Adres'. De aria-labels kunnen in ieder geval uit deze velden verwijderd worden. Het algemene advies is om het aria-label alleen te gebruiken als het echt nodig is.
- De modal (popup) die verschijnt bij uitloggen is goed bereikbaar via het toetsenbord. Het is goed ingericht dat de focus direct naar deze modal gaat. Het gaat echter mis voor voorleessoftware. Doordat er in de code een aria-hidden="true" gebruikt wordt bij dit element, slaat hulpsoftware deze informatie over. De modal wordt op deze manier volledig genegeerd en er kan niet correct worden uitgelogd door gebruikers van hulpsoftware. Code: <div _ngcontent-are-c53="" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="logoutModal" aria-hidden="true" trapfocus="">
- Punt 3 geldt ook voor de modal die informatie geeft over het verlopen van een DigiD sessie. Ook dit element heeft een attribuut aria-hidden="true" in de code waardoor deze informatie niet door hulpsoftware kan worden opgepikt. Verder kan de tekst op deze modal nog verbeterd worden. De zin loopt niet helemaal lekker.
Huidige tekst: " Let op, uw sessie verloopt over 1 minuut. U wordt hierna uitgelogd. U kan gewoon doorwerken door Sluiten knop of het kruisje te klikken.
Voorstel: "U kunt doorwerken door op de knop 'Sluiten', of op het kruisje te klikken." -> meerdere mogelijkheden overleg met de contentspecialisten.
Er is niet getest met inloggen met andere authenticatiemiddelen, graag controleren of daar na inloggen een tijdslimiet is ingesteld en of deze modal door hulpsoftware bereikbaar is. - Op de pagina waar men een authenticatiedienst kan kiezen, kan een een andere taal ingesteld worden. Dit menu is bereikbaar via navigeren met de TAB-toets, maar wordt overgeslagen door voorleessoftware. Ook hier is de oorzaak het attribuut aria-hidden="true . Ook wordt niet duidelijk dat er meerdere talen gekozen kunnen worden. Dit ontdek je pas als je op het wereldbolletje klikt. Vergelijk je dit met het taalmenu op nijmegen.nl dan zie je door het pijltje naar beneden dat er meerdere taalkeuzes zijn. Ook wordt op nijmegen.nl duidelijker voor hulpsoftware wat je met deze knop kunt doen. Het advies is de instellingen van nijmegen.nl te gebruiken voor de pagina voor een selectie van authenticatie.
Betekenisvolle volgorde
Als de volgorde waarin content wordt gepresenteerd van invloed is op zijn betekenis, kan een correcte leesvolgorde door software bepaald worden.
Uitleg
Doel van deze voorwaarde is dat een logische volgorde die te zien is op een webpagina, ook in de code van de pagina staat. Dit gaat over situaties waarin de volgorde van de inhoud op een pagina invloed heeft op de betekenis. Bijvoorbeeld bij het beschrijven van recepten.
Zintuiglijke eigenschappen
Instructies die geleverd worden om content te begrijpen en te bedienen, zijn niet alleen afhankelijk van zintuiglijke eigenschappen van componenten als vorm, kleur, omvang, visuele locatie, oriëntatie of geluid.
Uitleg
Deze voorwaarde zorgt ervoor dat iedereen instructies heeft om de inhoud van de pagina te gebruiken. Ook als de websitebezoeker geen vorm, grootte en plaats op het scherm kan zien of geluid kan horen. Voorbeeld waarbij het fout gaat: "Klik op de rode knop links op het scherm".
Weergavestand
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.
Uitleg
Doel van deze voorwaarde: ervoor zorgen dat inhoud zichtbaar is in de richting (staand of liggend) die de gebruiker het liefst heeft. Denk hierbij aan mensen in een rolstoel die bijvoorbeeld hun tablet vast hebben staan in een houder. Zij kunnen de richting van de tablet niet aanpassen.
Identificeer het doel van de input
Het doel van elk invoerveld waarmee informatie van de gebruiker wordt verzameld, kan door software bepaald worden wanneer:
- het invoerveld een doel dient dat is geïdentificeerd in de paragraaf Inputdoelen voor Componenten van de Gebruikersinterface én
- de content wordt geimplementeerd met behulp van technologieën die ondersteuning bieden bij het identificeren van de verwachte betekenis van formulier-invoergegevens.
Uitleg
Deze voorwaarde richt zich op het makkelijker invullen van online formulieren. Voldoen aan deze voorwaarde zorgt dat software invoervelden automatisch kan invullen. Dit helpt vooral gebruikers met een motorische of cognitieve beperking. Bijvoorbeeld mensen die hun armen niet (goed) kunnen gebruiken of moeite hebben met concentratie of het geheugen. Deze voorwaarde helpt ook mensen met een taalachterstand.
Bevindingen succescriterium 1.3.5
Dit succescriterium is belangrijk voor alle formuliervelden waar persoonlijke informatie zelf moet worden ingevuld. Persoonlijke informatie is informatie die over de bezoeker zelf gaat en niet al vooraf ingevuld wordt door in te loggen met DigiD of eHerkenning.
Voor formuliervelden waar persoonlijke informatie wordt gevraagd, moet in de code een extra attribuut worden toegevoegd: autocomplete="xxx".
Het advies is om alle formuliervelden waar persoonlijke gegevens van de bezoeker wordt gevraagd, te controleren op aanwezigheid van dit autocomplete attribuut. Tijdens de audit bleek namelijk dat dit niet ingesteld is voor alle formulieren voor de steekproef.
Gebruik alleen bestaande waarden: www.w3.org/TR/WCAG21/
Voorbeelden waar het attribuut ontbreekt:
- https://app6.nijmegen.nl/#/form/nijmegen/aanmeldensportactiviteit: velden geboortedatum, telefoonnummer, e-mailadres.
- https://app6.nijmegen.nl/#/form/nijmegen/registeringforemergencyshelter: velden first name, surname
- https://app6.nijmegen.nl/#/form/nijmegen/klachtoverdegemeentedoorgeven: velden naam, e-mailadres
Gebruik van kleur
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.
Uitleg
Bij het geven van informatie mag niet alleen kleur gebruikt worden. Mensen met een visuele beperking zoals kleurenblindheid, missen dan informatie.
Bevindingen succescriterium 1.4.1
Voor formulieren met authenticatie, wordt op de keuzepagina een optie gegeven een andere taal te kiezen. Hier is kleur het enige visuele middel om duidelijk te maken voor welke taal men kiest/gekozen heeft. Er worden 2 slecht contrasterende kleuren groen gebruikt om het verschil aan te tonen. Het advies is om de woorden English en Nederlands te onderstrepen. Of deze woorden een duidelijke focusrand te geven zodat duidelijk wordt dát er hier een keuze gemaakt kan worden en waarvoor men kiest.
Geluidsbediening
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.
Uitleg
Deze voorwaarde zorgt ervoor dat gebruikers van voorleessoftware geen last hebben van geluid op een webpagina.
Contrast (minimum)
De visuele weergave van tekst en afbeeldingen van tekst heeft een contrastverhouding van tenminste 4,5:1, behalve in de volgende gevallen:
- Grote tekst en afbeeldingen van grote tekst hebben een contrastverhouding van ten minste 3:1
- Tekst of afbeeldingen van tekst die deel zijn van een inactieve component van de gebruikersinterface, die puur decoratief zijn, die voor niemand zichtbaar zijn, of onderdeel zijn vande afbeelding die significant andere visuele content bevat hebben geen contrasteis
- Tekst die onderdeel is van een logo of merknaam heeft geen contrasteis.
Uitleg
Door deze voorwaarde kunnen mensen die minder goed kunnen zien makkelijker teksten lezen.
Bevindingen succescriterium 1.4.3
Dit succescriterium wordt niet afgekeurd, maar er is wel een advies:
In het Engelstalig formulier https://app6.nijmegen.nl/#/form/nijmegen/registeringforemergencyshelter, staat op pagina 2 een vraag met 2 radiobuttons, plus een zin die begint met 'More information...'.
De kleur van deze elementen (heel lichtgrijs) heeft net genoeg contrast met de witte achtergrond. Het advies is de keuzeopties de standaardkleur te geven voor keuzeopties: RGB (55,58,60).
Herschalen van tekst
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.
Uitleg
Als tekst niet vergroot kan worden, kunnen slechtziende mensen de tekst misschien niet goed lezen. Ook kunnen zij informatie missen als tekst wegvalt bij het inzoomen tot 200%.
Bevindingen succescriterium 1.4.4
Getoetst bij een schermgrootte van 1280 x 1024 pixels en ingezoomd naar 200%.
Als er 2 knoppen onder aan de pagina staan (meestal 'Vorige' en 'Volgende'), valt de rechterkant van de rechterknop net niet in het beeld. Bijvoorbeeld in het formulier https://app6.nijmegen.nl/#/form/nijmegen/klachtoverdegemeentedoorgeven.
Bijzonder is dat dit probleem niet in alle formulieren te vinden is. Als je kijkt naar de 2e pagina van https://app6.nijmegen.nl/#/form/nijmegen/maatwerkovereenkomstjeugdenwmoaanvragen/2, dan komen met deze instellingen de knoppen 'Vorige' en 'Volgende' onder elkaar te staan. Dat is voldoende.
Graag onderzoeken waarom de knoppen niet in alle formulieren onder elkaar komen als ingezoomd wordt naar 200%.
Afbeeldingen van tekst
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:
- de afbeelding van de tekst kan visueel aangepast worden aan de eisen van de gebruiker
- een specifieke weergave van tekst is essentieel voor de informatie die wordt overgebracht.
Uitleg
Mensen met dyslexie of mensen die minder goed kunnen zien, moeten tekst kunnen aanpassen zoals zij het het liefst willen zien.
Reflow
Content kan zonder verlies van informatie of functionaliteit en zonder te moeten scrollen in twee dimensies, worden weergegeven voor:
- verticaal scrollbare content met een breedte gelijkwaardig aan 320 CSS pixels
- horizontaal scrollbare content met een hoogte gelijkwaardig aan 256 CSS pixels
Met uitzondering van delen van de content die voor het gebruik of de betekenis een tweedimensionale lay-out vereisen.
Uitleg
De bedoeling van deze voorwaarde is om mensen te helpen die slecht kunnen zien. Wanneer zij tekst vergroten, is het handig als ze het kunnen lezen in 1 kolom en ze niet horizontaal moeten scrollen.
Bevindingen succescriterium 1.4.10
Getoetst bij een beeldschermbreedte van 1280 pixels, ingezoomd naar 400%.
- In het formulier: https://app6.nijmegen.nl/#/form/nijmegen/klachtoverdegemeentedoorgeven/ kan op pagina 1 gekozen worden voor 'iets anders'. Vervolgens moet je kiezen waarover de klacht gaat. De keuzes die niet op 1 regel passen, worden afgebroken waardoor mensen informatie missen.
- In het formulier: https://app6.nijmegen.nl/#/form/nijmegen/maatwerkovereenkomstjeugdenwmoaanvragen moet horizontaal gescrold worden om de titel van het formulier te lezen.
- In het formulier https://app6.nijmegen.nl/#/form/nijmegen/maatwerkovereenkomstjeugdenwmoaanvragen moet horizontaal gescrold worden om in het overzicht alle onderdelen te kunnen lezen.
Contrast van niet-tekstuele content
De visuele weergave van het volgende heeft een contrastverhouding van tenminste 3:1 ten opzichte van aangrenzende kleuren:
- visuele informatie die vereist is om componenten van de gebruikersinterface en statussen te identificeren, met uitzondering van inactieve componenten of componenten waarvan de weergave van de component wordt bepaald door de user agent en niet wordt aangepast door de auteur;
- delen van afbeeldingen die vereist zijn om de content te begrijpen, behalve wanneer een specifieke weergave van afbeeldingen essentieel is voor de informatie die wordt overgebracht.
Uitleg
Dit succescriterium gaat ook over het contrast van de toetsenbordfocus als deze is aangepast met CSS. Als dit succescriterium niet goed wordt toegepast hebben mensen met een visuele beperking problemen met het doorlopen van de website omdat zij niet kunnen zien waar de ze zich bevinden op de website. In mindere mate zullen ook mensen met een cognitieve beperking en mensen die gebruik maken van alleen het toetsenbord om te navigeren, informatie kunnen missen.
Tekstafstand
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:
- regelhoogte (regelafstand) naar ten minste 1,5 keer de lettergrootte;
- afstand tussen alinea's naar ten minste 2 keer de lettergrootte;
- letterafstand (spatiëren van letters) naar ten minste 0,12 keer de lettergrootte;
- spatiëren van woorden naar ten minste 0,16 keer de lettergrootte.
Uitzondering: Menselijke talen en scripts die geen gebruik maken van een of meer van deze eigenschappen voor tekststijl 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.
Uitleg
Met de toepassing van dit succescriterium zorg je ervoor dat mensen de tekstafstand kunnen aanpassen om beter te kunnen lezen. Bijvoorbeeld door de afstand tussen regels of alinea's te vergroten of letters en woorden te vergroten.
Content bij hover of focus
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:
- sluiten - er is een mechanisme beschikbaar waarmee de aanvullende content kan worden gesloten zonder de aanwijzer hover of de toetsenbordfocus te verplaatsen, tenzij de aanvullende content een invoerfout communiceert of andere content niet verbergt of vervangt;
- aanwijsbaar - wanneer een aanwijzer hover aanvullende content kan activeren, dan kan de aanwijzer over de aanvullende content worden bewogen zonder dat deze verdwijnt;
- aanhouden - de aanvullende content blijft zichtbaar totdat de oorzaak voor de hover of focus is verwijderd, de gebruiker de content sluit of de informatie niet langer geldig is.
Uitzondering: de visuele weergave van de aanvullende content wordt beheerd door de user agent en wordt niet aangepast door de auteur.
Uitleg
Door toepassing van dit succescriterium kunnen mensen met een visuele beperking de content goed bekijken als zij met de muis over een tekst gaan of als een element de focus krijgt. Zij hebben ook voldoende tijd om de informatie te lezen.
Bedienbaar
PRINCIPE 2
Componenten van de gebruikersinterface moeten bedienbaar zijn.
Toetsenbord
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.
Uitleg
Alles moet bedienbaar zijn met het toetsenbord of vergelijkbare hulpapparatuur. Dit is belangrijk voor mensen met een visuele beperking, die alleen het toetsenbord moeten en geen muis. Ook mensen met een motorische beperking gebruiken soms een (alternatief) toetsenbord.
Geen toetsenbordval
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.
Uitleg
Het doel van dit succescriterium is voorkomen dat mensen die alleen het toetsenbord gebruiken, vastlopen op een webpagina.
Enkel teken sneltoetsen
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:
- uitzetten - er is een mechanisme beschikbaar waarmee de sneltoets kan worden uitgezet;
- opnieuw toewijzen - er is een mechanisme beschikbaar om de sneltoets opnieuw toe te wijzen aan één of meerdere niet-afdrukbare tekens (bijv. Ctrl, Alt, enz.);
- alleen actief bij focus - de sneltoets voor een component van de gebruikersinterface is alleen actief wanneer de betreffende component de focus heeft.
Uitleg
Dit succescriterium wordt steeds belangrijker voor mobiele telefoons, omdat een groeiend aantal apps toetsenbordbediening vollediger mogelijk maakt. Foutief gebruik van dit succescriterium kan er voor zorgen dat mensen die spraaksoftware gebruiken per ongeluk iets kunnen activeren. Ook mensen die alleen het toetsenbord gebruiken bij een gewone desktop kunnen per ongeluk iets activeren.
Timing aanpasbaar
Voor elke tijdslimiet die door de content wordt ingesteld, geldt ten minste één van de volgende zaken:
- uitzetten - de gebruiker kan de tijdslimiet uitzetten voordat die wordt bereikt; of
- aanpassen - de gebruiker mag de tijdslimiet aanpassen voordat deze is verstreken over een bereik van ten minste tien keer de standaardinstelling; of
- verlengen - de gebruiker wordt gewaarschuwd voor de tijd afloopt en krijgt ten minste 20 seconden om de tijdslimiet met een eenvoudige handeling te verlengen (bijvoorbeeld, "druk op de spatiebalk"), en de gebruiker mag de tijdslimiet ten minste tien keer verlengen; of
- real-time uitzondering - de tijdslimiet is onderdeel van een realtime gebeurtenis (een veiling bijvoorbeeld) en er is geen alternatief voor de tijdslimiet mogelijk; of
- essentiële uitzondering - de tijdslimiet is essentieel en verlenging zou de activiteit ongeldig maken; of
- 20 uur uitzondering - de tijdslimiet is langer dan 20 uur.
Uitleg
De bedoeling van dit succescriterium is dat alle gebruikers genoeg tijd krijgen om gebruik te maken van een website.
Bevindingen succescriterium 2.2.1
De modal/ pop-up die verschijnt als de inlogtijd van bijvoorbeeld DigiD bereikt is, is niet benaderbaar voor mensen die hulpsoftware gebruiken. Zij kunnen de inlogtijd niet verlengen omdat de informatie voor hen niet te vinden is door het attribuut aria-hidden="true".
Voorbeeld: <div _ngcontent-are-c53="" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="logoutModal" aria-hidden="true" trapfocus="">
(Tip: Controleer bij alle modals of deze niet per ongeluk verborgen worden door het attribuut aria-hidden=" true" )
Pauzeren, stoppen, verbergen
Voor alle bewegende, knipperende, scrollende of automatisch actualiserende informatie gelden alle volgende zaken:
- voor bewegende, knipperende of scrollende informatie die (1) automatisch start, (2) langer dan vijf seconden duurt, en (3) parallel met andere content wordt getoond, is er een mechanisme voor de gebruiker om dit te pauzeren, te stoppen of te verbergen, tenzij de beweging, knippering of scrolling, onderdeel is van een activiteit waar ze essentieel is en
- voor elke soort automatisch actualiserende informatie die (1) automatisch start en (2) parallel met andere content wordt gepresenteerd, is er een mechanisme voor de gebruiker om dit te pauzeren, te stoppen of te verbergen of de frequentie van de actualisering in te stellen, tenzij de automatische actualisering onderdeel is van een activiteit waar ze essentieel is.
Uitleg
Het toepassen van dit succescriterium voorkomt dat bezoekers worden afgeleid tijdens het lezen of gebruiken van de webpagina. Alles wat automatisch beweegt op een website moet je op pauze kunnen zetten, stoppen of verbergen.
Drie flitsen of beneden drempelwaarde
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.
Uitleg
Dit succescriterium is belangrijk voor de groep van mensen met eplilepsie die ook gevoelig is voor lichtflitsen. Zij kunnen een aanval krijgen van epilepsie als iets meer dan drie keer flitst binnen een seconde.
Blokken omzeilen
Er is een mechanisme beschikbaar om blokken content die op meerdere webpagina's worden herhaald te omzeilen.
Uitleg
Voor mensen die blind zijn en mensen die alleen het toetsenbord gebruiken, is het heel vervelend om steeds weer opnieuw door terugkerende content te navigeren.
Met terugkerende content bedoelen we bijvoorbeeld het logo, het zoekveld, het servicemenu, het hoofdmenu of submenu aan de linkerkant van de pagina. Eigenlijk alles wat bovenaan de pagina staat, en terugkeert op iedere pagina van de website. Deze informatie moeten gebruikers kunnen overslaan.
Bevindingen succescriterium 2.4.1
- Op de pagina waar men een authenticatiedienst kan kiezen (bij formulieren waar ingelogd moet worden), mist er een manier om terugkerende blokken content over te kunnen slaan. Een skiplink.
- De inrichting van de skiplink op de formulierenpagina's is niet optimaal. De tekst van de skiplink staat in het Engels ( code: <a _ngcontent-wyj-c53="" href="#main-content">Skip to content</a>). Het is beter hier Nederlands te gebruiken, bijvoorbeeld 'Direct naar hoofdinhoud'.
- De skiplink verwijst naar het 1e element van het formulier, de titel van het formulier via #main-content. In theorie is dat goed, maar toch gaat het mis. Als je in het formulier https://app6.nijmegen.nl/#/form/nijmegen/aanmeldensportactiviteit/ de skiplink volgt, dan blijkt dat deze gaat naar een 'Pagina niet gevonden' ( url: https://app6.nijmegen.nl/#/main-content). Klik je op deze pagina op de knop 'Terug', dan ga je naar de homepage van nijmegen.nl en ben je helemaal weg van het formulier.
Paginatitel
Webpagina's hebben titels die het onderwerp of doel beschrijven.
Uitleg
Met dit succescriterium help je gebruikers om (de juiste) content te vinden. Door te zorgen dat elke webpagina een duidelijke en beschrijvende titel heeft, kunnen mensen zich beter oriënteren op de website. PDF bestanden die in de browser worden geopend moeten ook een beschrijvende titel hebben.
Focus volgorde
Als in webpagina's 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.
Uitleg
Het doel van dit succescriterium is dat de volgorde van de focus op de site juist en logisch is. Dit is van belang voor mensen die het toetsenbord gebruiken om te navigeren op de website.
Linkdoel
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 kan hebben voor gebruikers in het algemeen.
Uitleg
Met het toepassen van dit succescriterium zorg je ervoor dat het doel van elke link duidelijk is.
Bevindingen succescriterium 2.4.4
Het logo van gemeente Nijmegen (op iedere pagina in de rode balk) gaat naar de homepage van nijmegen.nl. De alternatieve tekst van het logo bepaalt voor hulpsoftware de linktekst. Het is dus belangrijk dat deze test duidelijk moet zijn. Op dit moment is de alternatieve tekst "Logo Nijmegen" en zou verbeterd kunnen worden met "Homepage gemeente Nijmegen (logo)". Als dit is aangepast, kan de extra tekst die voor hulpsoftware bedoeld is verdwijnen: <span _ngcontent-etu-c53="" class="sr-only">Hoofdpagina</span>.
Let op dat dit ook zo ingericht moet worden voor de 2e variant van het logo.
Meerdere manieren
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.
Uitleg
Mensen met een visuele of coginitieve beperking hebben baat bij dit succescriterium omdat er verschillende manieren worden aangeboden om door de website te navigeren.
Koppen en labels
Koppen en labels beschrijven het onderwerp of doel.
Uitleg
De bedoeling van dit succescriterium is om gebruikers te helpen begrijpen welke informatie webpagina’s bevatten en hoe die informatie wordt gepresenteerd. Als koppen duidelijk en beschrijvend zijn, kunnen gebruikers makkelijker de gezochte informatie vinden. De relaties tussen verschillende onderdelen van de content wordt daarmee ook makkelijker te begrijpen.
Focus zichtbaar
Elke gebruikersinterfacs die met het toetsenbord te bedienen is, heeft een bedieningswijze waarbij de indicator van de toetsenbordfocus zichtbaar is.
Uitleg
Het doel van dit succescriterium is dat een gebruiker kan zien welk element op de webpagina de focus heeft. Dit is van belang voor mensen die het toetsenbord gebruiken om een webpagina te bedienen en wel het scherm kunnen zien (bijvoorbeeld mensen met een motorische beperking).
Bevindingen succescriterium 2.4.7
- De achtergrondkleur van de focusincidator verandert bij navigeren met het toetsenbord naar lichtgroen. Bijvoorbeeld bij een dropdownbox (#E3EFEC). Deze kleur groen heeft een veel te laag contrast met de witte achtergrond (1,2:1 waar dit 3:1 moet zijn). Waarschijnlijk komen er strengere eisen voor focuszichtbaarheid. Het advies is daarom om de focus visueel duidelijker te maken. Bijvoorbeeld door een donkergroene rand rond het element, zoals ook op nijmegen.nl gebruikt wordt met kleurcode #157c68. Kijk naar de focus van radiobuttons, daar wordt bij het maken van de keuze een donkergroene streep gebruikt onder het keuze-element. Dit is veel duidelijker dan de lichte veranderende achtergrondkleur.
- Bij foutmeldingen in formulieren, krijgt het element een roze achtergrondkleur. De roze kleur heeft te weinig contrast met de witte achtergrond. De contrastratio zou hier ook 3:1 moeten zijn, maar is nu 1,3:1. Ook hier het advies om niet te kiezen voor een focus met een veranderende achtergrondkleur, maar voor een duidelijke focusrand rond het element. In dit geval bijvoorbeeld donkerrood.
- De focuszichtbaarheid rond buttons moet verbeterd worden. Deze is nu alleen te zien in sommige browsers.
Aanwijzergebaren
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.
Uitleg
De bedoeling van dit succescriterium is ervoor te zorgen dat inhoud kan worden bediend met eenvoudige invoer op alle mogelijke apparaten (tablets, mobiele telefoons, touchscreens, enz.) en met verschillende hulpapparatuur.
Aanwijzerannulering
Voor functionaliteit die kan worden bediend met een enkele aanwijzer, geldt ten minste één van de volgende zaken:
- geen down-event: het down-event van de aanwijzer wordt niet gebruikt om enig onderdeel van de functie uit te voeren;
- afbreken of ongedaan maken: De functie wordt voltooid door het up-event en er is een mechanisme beschikbaar om de functie af te breken voordat deze wordt voltooid of om de functie ongedaan te maken als deze is voltooid;
- up reversal: met het up-event wordt elk resultaat van het voorgaande down-event ongedaan gemaakt;
- essentieel: het voltooien van de functie met het down-event is essentieel.
Uitleg
De bedoeling van dit succescriterium is om het voor gebruikers makkelijker te maken om toevallige of foute muisbewegingen te voorkomen.
Label in naam
Bij componenten van de gebruikersinterface met labels die tekst of afbeeldingen van tekst bevatten, bevat de naam de tekst die visueel wordt weergegeven.
Uitleg
De bedoeling van dit succescriterium is ervoor te zorgen dat mensen met een handicap die op visuele teksten vertrouwen, deze teksten ook met hulpsoftware kunnen gebruiken. Elementen op de website worden vaak voorzien van zichtbare tekst zoals de naam van een formulierveld. In de code hebben deze elementen ook een programmatisch label; de ‘Accessible Name’. Dit label wordt gebruikt om voor te lezen bij gebruikers met hulpsoftware. Het is van belang dat de zichtbare tekstlabels van besturingselementen, overeenkomen met hun toegankelijke namen.
Bevindingen succescriterium 2.5.3
Dit gaat eigenlijk altijd goed, behalve als het attribuut aria-label wordt gebruikt dat niet klopt met de zichtbare tekst van het label, zoals vermeld bij succescriterium 1.3.1.
Bewegingsactivering
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:
- de beweging wordt gebruikt om de functionaliteit te bedienen via een door toegankelijkheid ondersteunde interface;
- de beweging is essentieel voor de functie en wanneer de reactie op de beweging wordt uitgeschakeld, wordt de activiteit ongeldig gemaakt.
Uitleg
Dit succescriterium is van toepassing op functies die worden geactiveerd door een apparaat te verplaatsen (bv. schudden of kantelen) of door naar het apparaat te gebaren. De bedoeling is dat deze functies ook bediend kunnen worden met reguliere interface componenten voor gebruikers.
Begrijpelijk
PRINCIPE 3
Informatie en bediening van de gebruikersinterfacs moeten begrijpelijk zijn.
Taal van de pagina
De standaard menselijke taal van diverse webpagina's kan door software bepaald worden.
Uitleg
Als je dit succescriterium toepast krijgen mensen die gebruik maken van spraaksoftware de tekst in de juiste taal voorgelezen. Dit succescriterium geldt ook voor PDF bestanden.
Bevindingen succescriterium 3.1.1
- Als een formulier helemaal in een andere taal staat, is het belangrijk in de code de juiste taalinstelling van de pagina te kiezen. Dit is niet het geval bij het formulier https://app6.nijmegen.nl/#/form/nijmegen/registeringforemergencyshelter/. Bovenin de code staat de volgende code: <html ng-ap="" lang="nl">. Dit moet lang="en" zijn.
- Bij formulieren waar authenticatie nodig is, verschijnt een voorlooppagina in de Nederlandse taal. De standaard taalinstelling van deze pagina staat op lang="en". De pagina wordt bijvoorbeeld door Read Aloud in Microsoft Edge op dit moment met een Engels accent voorgelezen waardoor de woorden niet meer herkenbaar zijn. Standaard moet de taalinstelling van deze pagina op lang="nl" staan. Pas na een keuze voor een andere taal, moet de taalinstelling worden aangepast.
Taal van onderdelen
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.
Uitleg
Als de taal van de pagina is ingesteld op Nederlands en een deel van de tekst is in een andere taal, dan moet een zogenaamde taalswitch in de code worden aangebracht. Mensen die gebruik maken van voorleessoftware krijgen dan het stuk tekst ook in de juiste taal voorgelezen. Dit moet ook worden toegepast in PDF bestanden.
Bevindingen succescriterium 3.1.2
- Alle formuliervelden, keuzeopties bij radiobuttons of checkboxen en knoppen hebben een taalattribuut. Dit is niet nodig als de formuliervelden in dezelfde taal staan die klopt met de taalinstelling van de pagina. Pas als labels van formuliervelden bij uitzondering in een andere taal staan, is het belangrijk het lang-attribuut voor dit formulierveld aan te passen.
- In de Nederlandstalige formulieren hebben de keuzeopties van radiobuttons en checkboxen een taalswitch naar Engels via het attribuut lang="en". Deze taalswitch klopt niet omdat de teksten in het Nederlands opgemaakt zijn en de taalinstelling van de pagina Nederlands is. Het advies is het lang-attribuut te verwijderen.
- Bij het Engelstalige formulier: https://app6.nijmegen.nl/#/form/nijmegen/registeringforemergencyshelter hebben de invulvelden een taalswitch naar Nederlands via lang="nl". Voor dit formulier moet de standaard taalinstelling voor de pagina naar Engels worden gezet. Vervolgens zijn de taalswitches per formulierveld niet nodig. Let er op dat bij iedere mogelijke foutmelding, deze voor dit formulier ook in het Engels gemaakt moet worden. Dit is niet het geval bij het veld 'Telephone number' op de 1e pagina van dit formulier. Let op: op de 2e pagina van dit formulier kunnen meerdere contactpersonen worden toegevoegd. De knop is hier in het Nederlands, niet in het Engels.
Bij focus
Als een component van de gebruikersinterface de focus krijgt, dan veroorzaakt dat geen contextwijziging.
Uitleg
Het doel van dit succescriterium is dat er geen onverwachte dingen plaatsvinden wanneer een gebruiker door de webpagina navigeert. Dit is belangrijk voor blinde mensen en mensen met een motorische beperking, die alleen het toetsenbord gebruiken. Ook voor mensen die een schermvergroter gebruiken, of voor mensen met een cognitieve beperking is het van belang.
Bij input
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.
Uitleg
Pas je dit succescriterium toe, dan zorg je ervoor dat het invoeren van gegevens of het selecteren van een bedieningselement voorspelbare gevolgen heeft. Met name mensen met een visuele beperking hebben hier baat bij.
Consistente navigatie
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.
Uitleg
De bedoeling van dit succescriterium is om gebruikers te ondersteunen bij het navigeren op verschillende webpagina’s van een website. Mensen die slechtziend zijn en door middel van vergroting slechts een (klein) deel van de pagina zien kunnen bij toepassing beter voorspellen waar ze heen moeten scrollen. Ook mensen met een cognitieve beperking hebben baat bij goede toepassing van dit succescriterium.
Consistente identificatie
Componenten die dezelfde functionaliteit hebben binnen een verzameling webpagina's worden consistent geïdentificeerd.
Uitleg
De bedoeling van dit succescriterium is dat componenten die steeds terugkeren op verschillende pagina's binnen een website ook dezelfde functionaliteit hebben. Denk aan tekstuele links, grafische links, JavaScript objecten, formulierknoppen, enz. Mensen die een screenreader gebruiken of een cognitieve beperking hebben hier baat bij omdat het met name voor deze groep fijn is dat terugkerende functies zoals bijvoorbeeld een zoekfunctie op iedere webpagina op dezelfde plaats staat.
Foutidentificatie
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.
Uitleg
Dit succescriterium zorgt ervoor dat het invoeren van gegevens of het selecteren van een bedieningselement voorspelbare gevolgen heeft.
Bevindingen succescriterium 3.3.1
Een foutmelding mag geen instructie zijn. Bij veel verplichte velden waar niets wordt ingevuld verschijnt een standaard tekst 'Geef een antwoord'. Dit is geen foutmelding, maar een instructie. In een foutmelding moet staan wat er fout is gegaan. Bijvoorbeeld "U heeft het veld [naam] niet goed ingevuld".
Een foutmelding heeft altijd een ontkenning in de zin.
Labels of instructies
Als de content gebruikersinvoer vereist, dan worden labels of instructies geleverd.
Uitleg
De bedoeling van dit succescriterium is dat, als er een handeling van de gebruiker nodig is, er een label of instructie staat. Dit gaat om de tekst op knoppen en om de tekst bij formulier-invoervelden. Goed toegepast is het duidelijk voor de gebruiker wat een knop doet, of wat hij in moet vullen in een formulier.
Bevindingen succescriterium 3.3.2
Bijna alle formuliervelden zijn verplicht om in te vullen. Dit wordt aangegeven door een asterisk (*) in het rood aan het einde van ieder label.
Voorleessoftware leest dit teken voor als 'ster'. Omdat deze tekst niets zegt, is het belangrijk om vóóraf, aan het begin van het formulier een melding te maken van de betekenis van de asterisk. Je zou onder iedere titel het volgende kunnen zetten: 'Let op: velden met een * zijn verplicht.'
Een andere oplossing is ieder label van een verplicht veld een extra tekst te geven. Bijvoorbeeld 'Naam (verplicht veld)'.
Foutsuggestie
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.
Uitleg
Met dit succescriterium maak je gebruikers duidelijk hoe ze een gemaakte fout in een formulier op kunnen lossen. Dit kan door een voorstel te doen hoe het formulierveld ingevuld moet worden. Mensen met een cognitieve beperking of mensen die blind zijn vinden het soms lastig om te begrijpen hoe ze een fout kunnen corrigeren. Een duidelijk voorstel kan daarbij helpen.
Bevindingen succescriterium 3.3.3
Er wordt niet altijd een duidelijke oplossing gegeven als formuliervelden niet goed worden ingevuld. Als bij het veld voor het invullen van een BSN (zoals op pagina 3 in het formulier https://app6.nijmegen.nl/#/form/nijmegen/maatwerkovereenkomstjeugdenwmoaanvragen) maar 2 cijfers worden ingevuld, komt er een foutmelding 'Vul het BSN in'. Het is niet duidelijk hoeveel cijfers het dan moeten zijn.
Ook als in een formulierveld het e-mailadres niet goed is ingevuld, volgt geen duidelijke instructie. De tekst ' Vul een geldig e-mailadres in' geeft geen tip hoe je de fout kunt verbeteren.
Tip: Op dezelfde pagina moet een geboortedatum ingevuld worden. Misschien niet nodig, omdat ambtenaren via het BSN persoonsgegevens op kunnen vragen. Maar onder dit formulierveld staat duidelijk dat je niet ouder dan 18 jaar moet zijn, daarna niet meer. Toch kan ik hier een geboortedatum uit 1950 invoeren. Er zit geen controle op de leeftijd in dit veld.
Foutpreventie (wettelijk, financieel, gegevens)
Voor webpagina's die wettelijke verplichtingen of financiële transacties voor de gebruiker uitvoeren, die, door gebruikers bedienbaar gegevens in gegevensopslagplaatsen verwijderen of wijzigen, of die antwoorden van de gebruiker verzenden, geldt ten minste één van de volgende zaken:
- omkeerbaar - verzendingen kunnen ongedaan gemaakt worden
- gecontroleerd - door de gebruiker ingevoerde gegevens worden gecontroleerd op invoerfouten en de gebruiker wordt de mogelijkheid gegeven om ze te verbeteren.
- bevestigd - er is een mechanisme beschikbaar voor het beoordelen, bevestigen en verbeteren van informatie voordat de verzending wordt voltooid.
Uitleg
De bedoeling van dit succescriterium is voorkomen dat er, door het verzenden van een formulier, een actie wordt uitgevoerd die grote gevolgen kan hebben voor de gebruiker als deze niet op dat moment kan worden teruggedraaid.
Robuust
Content moet voldoende robuust zijn om betrouwbaar geïnterpreteerd te kunnen worden door een breed scala van user agents, met inbegrip van hulptechnologiën.
Parsen
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.
Uitleg
Het gaat hier om programmeerfouten in de code van de website. De meeste browsers zullen deze er wel uit filteren, maar hulpsoftware is vaak zo ver nog niet. Mensen die gebruik maken van hulpsoftware kunnen problemen ondervinden als de code niet goed is ingericht. Het kan er zelfs toe leiden dat de hulpsoftware vastloopt.
Naam, rol waarde
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.
Uitleg
Het doel van dit succescriterium is dat voor alle interactieve elementen, de naam en de rol (en eventueel andere eigenschappen), bepaald kunnen worden door hulpsoftware. Het gaat om elementen zoals links, knoppen, formuliervelden, enz. Als er geen goede informatie is over de naam, rol en waarde van een component kan dit gevolgen hebben voor de werking van hulpsoftware.
Statusberichten
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.
Uitleg
De bedoeling van dit succescriterium is ervoor te zorgen dat de rol of eigenschappen van statusberichten in de code is vastgelegd op een manier dat het werk van de gebruiker niet onnodig onderbroken wordt.
- https://app6.nijmegen.nl/#/form/nijmegen/aanmeldensportactiviteit/
- https://app6.nijmegen.nl/#/form/nijmegen/klachtoverdegemeentedoorgeven/
- https://app6.nijmegen.nl/#/form/nijmegen/maatwerkovereenkomstjeugdenwmoaanvragen/
- https://app6.nijmegen.nl/#/form/nijmegen/registeringforemergencyshelter/
- https://app6.nijmegen.nl/#/form/nijmegen/standplaatsaanvragenofaanpassen/
- https://app6.nijmegen.nl/#/form/nijmegen/subsidieaanvragen
- https://app6.nijmegen.nl/#/form/nijmegen/mantelzorgcomplimentaanvragen/
- https://authenticatie.nijmegen.nl/broker/select/authn (voorlooppagina om in te loggen met een authenticatiedienst)
- https://app6-accp.nijmegen.nl/#/form/ontwikkel/subsidieaanvragenverwijderenschoorsteen (inlog bekend bij auditor)
- HTML
- CSS
- WAI-ARIA
- Javascript
- Mozilla Firefox, versie 122 (primair)
- Google Chrome, versie 121
- Microsoft Edge, versie 121
- IOS 17.2 op iPhone 12
- Colour Contrast Analyzer
- NVDA in combinatie met Mozilla Firefox
- Read Aloud met Microsoft Edge