Rapport:
Audit digitale toegankelijkheid website Resilient Rotterdam
- Onderzoeker
- Julia Zjochova van Proper Access; Jules Ernst van 200 OK
- Datum
- 30 november 2022
- Opdrachtgever
- Kinga Feenstra van Gemeente Rotterdam
Samenvatting onderzoeksresultaat
De website Resilient Rotterdam voldoet nog niet aan WCAG 2.1 niveau AA. Er zijn 25 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 resilientrotterdam.nl is onderzocht tussen DDxxxMAAND 2022. Het onderzoek is uitgevoerd aan de hand van de evaluatiemethode WCAG-EM. Doel van dit rapport is om te bepalen welke verbeteringen nodig zijn om dit digitaal kanaal toegankelijker te krijgen.
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 | Resilient Rotterdam |
---|---|
Scope van de website |
|
Conformiteitsdoel | WCAG 2.1 niveau AA |
Overzicht toetsresultaat
Principe | Voldoende | Onvoldoende | Onbekend |
---|---|---|---|
1 Waarneembaar | 9 | 11 | 0 |
2 Bedienbaar | 9 | 8 | 0 |
3 Begrijpelijk | 7 | 3 | 0 |
4 Robuust | 0 | 3 | 0 |
Totaal | 25 | 25 | 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.
- Bedieningselementen, invoer: Als niet-tekstuele content een bedieningselement is of gebruikersinvoer accepteert, dan heeft ze een naam die het doel ervan beschrijft. (We verwijzen naar succescriterium 4.1.2 voor aanvullende eisen over bedieningselementen en content die gebruikersinvoer accepteren.)
- Op tijd gebaseerde media: Als niet-tekstuele content op tijd gebaseerde media is, dan leveren tekstalternatieven ten minste een beschrijving van de niet-tekstuele content. (We verwijzen naar Richtlijn 1.2 voor aanvullende eisen ten aanzien van media.)
- Test: Als niet-tekstuele content een test of oefening is die, als ze door middel van tekst gepresenteerd wordt onjuist zou zijn, dan leveren tekstalternatieven ten minste een beschrijving van de niet-tekstuele content.
- Zintuiglijk: Als niet-tekstuele content primair is bedoeld om een specifieke zintuiglijke ervaring te creëren, dan leveren tekstalternatieven ten minste een beschrijving van de niet-tekstuele content.
- CAPTCHA: Als het doel van niet-tekstuele content is om te bevestigen dat content wordt gebruikt door een persoon in plaats van een computer, dan worden tekstalternatieven geleverd die het doel van de niet-tekstuele content identificeren en beschrijven. En er worden alternatieve vormen van CAPTCHA aangeboden gebruikmakend van uitvoermodes voor verschillende soorten van zintuiglijke perceptie om tegemoet te komen aan verschillende functiebeperkingen.
- Decoratie, opmaak, onzichtbaar: Als niet-tekstuele content puur decoratief is, slechts voor visuele opmaak wordt gebruikt, of niet aan gebruikers wordt gerepresenteerd, dan wordt het op zo'n manier geïmplementeerd dat het genegeerd kan worden door hulptechnologie.
Informatie over succescriterium 1.1.1 Niet-tekstuele content
Uitkomst: Onvoldoende
Bevindingen: Op de homepage staan bij de nieuwsberichten. Deze afbeeldingen hebben geen tekstalternatief en dit is ook niet nodig omdat deze afbeelding hier als decoratief beschouwd kunnen worden. Maar de afbeelding heeft wel een leeg alt-attribuut (alt="") nodig, zodat hulpsoftware weet dat de afbeelding genegeerd kan worden. Dit kot ook voor op:
Op de pagina https://www.resilientrotterdam.nl/news/fundament-floating-office-aangekomen-in-de-rijnhaven staat een slider met foto's. Deze afbeeldingen zijn informatief en hebben daarom een alternatieve tekst nodig. Voeg via het alt-attribuut een alternatieve tekst toe om dit probleem op te lossen. Zie ook:
In de footer van de website is het logo van “Resilient Rotterdam” verborgen voor hulpsoftware met role=”presentation”. Deze informatieve afbeelding wordt niet voorgelezen. Verwijder deze rol en geef dit img-element een alt-attribuut met tekst die op het logo staat. De logo’s van “Rotterdam make it happen”, “100 resilient cities” en “Gemeente Rotterdam” zijn als svg-afbeeldingen aan de footer toegevoegd zonder een tekstalternatief. Deze informatieve afbeeldingen worden niet voorgelezen, maar ze zijn wel zichtbaar voor hulpsoftware als afbeeldingen. Een blinde bezoeker weet niet welke organisaties hier genoemd zijn. Zorg voor een tekstalternatief. Zie https://www.resilientrotterdam.nl/.
Een van de manieren om decoratieve afbeeldingen voor hulpsoftware te verbergen is het geven van role=”presentation” op het img- of svg-element. Deze rol mag niet voor informatieve afbeeldingen gebruikt worden. Op de nieuwsberichten staan afbeeldingen die categorieën aangeven. Op deze informatieve afbeeldingen is role=”presentation” toegepast. Blinde bezoekers weten niet tot welke categorieën de nieuwsberichten behoren. Zie https://www.resilientrotterdam.nl/ en alle andere pagina’s waar deze informatieve iconen worden gebruikt (nieuwsberichten en events).
Op pagina “Doelen” staat een opsomming met zeven decoratieve svg-afbeeldingen die niet verborgen zijn voor hulpsoftware en worden voorgelezen als “image” zonder verder uitleg over wat er staat. Een blinde bezoeker kan zich afvragen welke informatie hij mist. Hier zou role=”presentation” wel op zijn plaats zijn om de afbeeldingen te verbergen. Zie https://www.resilientrotterdam.nl/doelen.
Advies: De filterafbeeldingen op pagina https://www.resilientrotterdam.nl/initiatieven hebben een title-attribuut. Het title attribuut zorgt voor een tooltip. Deze is enkel zichtbaar bij bediening van de muiscursor waarna de tooltip over andere elementen kan komen te staan. De visuele teksten zijn voldoende. Verwijder eventueel het title-attribuut. De HTML5-werkgroep raadt het gebruik van het title-attribuut af. Zie: https://html.spec.whatwg.org/multipage/dom.html#the-title-attribute
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:
- 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.
Informatie over succescriterium 1.2.1 Louter-geluid en louter-videobeeld (vooraf opgenomen)
Uitkomst: Voldoende
Bevindingen: Op de homepagina (Nederlandstalig en Engelstalig) staat een video.
Het gaat dan niet om een instructie of iets dergelijks, maar om sfeerbeelden. Omdat deze beelden puur decoratief lijken te zijn, is er geen alternatief in tekst nodig. We raden dan aan om deze video te verbergen voor hulpsoftware, bijvoorbeeld met aria-hidden="true" of role=”presentation”. Zie https://www.resilientrotterdam.nl/.
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: Voldoende
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: Onvoldoende
Bevindingen: Voor visuele informatie moet een alternatief geboden worden voor mensen die blind zijn. Op de homepagina https://www.resilientrotterdam.nl/ kan een video opgestart worden via "Bekijk video". Op de volgende momenten in de video komt tekstuele informatie in beeld die ook voor blinde bezoekers toegankelijk moet worden gemaakt. Op 26 seconden verschijnt de tekst "Resilient Rotterdam" in beeld. Op 0:38, 2:01 en 2:31 verschijnen de namen van de sprekers in beeld. Op 4:49 komen teksten in beeld die vertellen op welke sociale media deze organisatie te vinden is. Op 4:52 komt het logo van Rotterdam en het devies van de stad in beeld. Dit kan voor dit succescriterium door een volledig transscript in tekst aan te bieden waar alle (visuele en auditieve) informatie uit de video in zit. Zie ook 1.2.5.
Op pagina https://www.resilientrotterdam.nl/news/fundament-floating-office-aangekomen-in-de-rijnhaven staat een video waarin op de laatste slide logo’s in beeld komen van de betrokken organisaties. De namen van deze organisaties worden niet in tekst op de pagina genoemd. Blinde bezoekers missen teksten die in beeld komen maar niet worden uitgesproken. Deze video heeft geen audiodescriptie of media-alternatief. Deze informatie is niet tijdgevoelig, daarom zou hier een vermelding van betrokken organisaties in tekst onder de video voldoende zijn.
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
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: Onvoldoende
Bevindingen: De video op de homepagina https://www.resilientrotterdam.nl/ biedt geen audiodescriptie voor de belangrijke teksten die in beeld komen aan. Zorg bijvoorbeeld voor een voiceover die alle teksten en belangrijke gebeurtenissen in beeld voorleest. Dit succescriterium is gerelateerd aan succescriterium 1.2.3 (zie eerste bevinding).
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: In de nieuwsberichten wordt een h5-element onterecht gebruikt om een datum opvallende styling te geven. Onder deze kop van niveau 5 komt direct een kop van niveau 2 (de naam van het event).
Dit is geen correct gebruik van headings-elementen. Zet kop 5 om in een neutraal element bijvoorbeeld een span en een p en gebruik CSS om de datum te stylen. Zie https://www.resilientrotterdam.nl/ en alle andere pagina’s waar nieuwsberichten op staan.
Onderaan de pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 staat een rijtje met events. Elk event heeft een datum in de linkerbovenhoek. De datum bestaat uit twee koppen: de dag en de maand. Dit is geen correct gebruik van koppen. Vervang de h2-elementen door span- of p-elementen en gebruik CSS om deze opvallend te stylen.
In de cookiebanner staat een link “instellingen openen” die extra content openklapt. De nieuwe content begint met een kopje “Cookie instellingen aanpassen”. Deze kop is niet als koptekst opgemaakt. Zorg ervoor dat deze kop herkenbaar wordt voor hulpsoftware als koptekst door het gebruik te maken van een heading-element, bijvoorbeeld een h2. Zie https://www.resilientrotterdam.nl/.
In dit nieuwsbericht https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 wordt het strong-element gebruikt om tussenkoppen op te maken. Deze tussenkoppen moeten met de headings-elementen (h1 - h6) worden opgemaakt, anders zijn ze niet voor hulpsoftware herkenbaar als kopteksten.
https://www.resilientrotterdam.nl/evenementen
Op pagina “Events” staat een kop (h2) zonder content eronder. Het gaat om de melding “Er zijn op dit moment geen evenementen”. Een kop moet altijd content bevatten.
https://www.resilientrotterdam.nl/
Opmerking. Op de homepagina worden de headingselementen gebruikt niet naar hun semantische betekenis, maar naar de manier hoe ze visueel in het ontwerp passen. Zo komt na kop 1 een kop 5 en bevatten alle nieuws en events secties kop 2 die gevolgd is door kop 5. Zorg ervoor dat de koppen een hiërarchische structuur van de content weergeven zodat een blinde bezoeker de structuur van de pagina kan begrijpen. Zie ook pagina https://www.resilientrotterdam.nl/doelen waar de hiërarchie van de koppen semantisch incorrect is (zeven h1 koppen staan onder een h2 kop).
In dit nieuwsbericht https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 is de eerste alinea opgemaakt met een h3-element. In dit nieuwsbericht https://www.resilientrotterdam.nl/news/de-stad-veerkrachtig-besturen-hoe-doe-je-dat is een h2-element gebruikt om de eerste alinea op te maken. Deze heading-elementen zijn duidelijk gebruikt voor opmaak. Vervang de h2 en h3 door een p-element en gebruik CSS om de tekst opvallend te stylen.
Op pagina “Privacyverklaring” worden veel tussenkopjes gebruikt die in de HTML niet als koppen zijn opgemaakt. De pagina bevat in feite maar vier HTML koppen terwijl er visueel veel kopteksten aanwezig zijn. De tussenkoppen zijn met strong- en em-elementen opgemaakt. Zie bijvoorbeeld “Algemeen”, “Beveiliging” en andere vet- en schuingedrukte koppen. Zet deze kopteksten om in heading-elementen (h1 - h6). Het kopje “Identiteit” bevat een strong-element. Dit is semantisch niet correct. Zie https://www.resilientrotterdam.nl/privacyverklaring
Op pagina “Wat jij kan doen” staan twee lege h3-elementen onder het kopje “Hoe wil je bijdragen ..”. Een blinde bezoeker kan met hulpsoftware een lijst met koppen opvragen om zo de structuur van de pagina makkelijk waar te nemen. Lege koppen zijn verwarrend. Zie https://www.resilientrotterdam.nl/wat-jij-kunt-doen.
Op pagina “Wat jij kunt doen” staat een formulier. De verplichte velden hebben een sterretje naast het label. Dit sterretje is telkens in een strong-element opgenomen. Het strong-element heeft een bepaalde semantische betekenis en is alleen bedoeld om nadruk te leggen op woorden of zinsdelen. Gebruik hier liever CSS om de sterretjes te laten opvallen. Zie https://www.resilientrotterdam.nl/wat-jij-kunt-doen.
Op pagina
https://www.resilientrotterdam.nl/news/fundament-floating-office-aangekomen-in-de-rijnhaven is de eerste paragraaf opgemaakt met een strong-element. Hier is het strong-element niet voor bedoeld. Dit kan storend werken voor gebruikers van hulpsoftware die een hele paragraaf als belangrijk interpreteren. Als deze tekst vetgedrukt weergegeven moet worden, maak dan gebruik van de styling uit de CSS.
https://www.resilientrotterdam.nl/privacyverklaring
Op pagina “Privacyverklaring” https://www.resilientrotterdam.nl/privacyverklaring staat een opsomming die niet als een lijst is opgemaakt. Zie content onder het kopje “Verstrekking derden”. Deze lijst is alleen via de lay-out te onderscheiden, omdat het opgemaakt is met mintekens en br-elementen. Een hulpsoftware kan niet aan een blinde bezoeker voorlezen dat hier een opsomming staat met zoveel punten.
Op pagina “Wat jij kunt doen” https://www.resilientrotterdam.nl/wat-jij-kunt-doen staat een formulier. In dit formulier staan tekst-labels boven de invoervelden. Deze labels zijn programmatisch niet gekoppeld aan de bijbehorende invoervelden. Zorg voor een koppeling via “for” en “id” attributen. Zonder deze koppeling weet een blinde bezoeker niet wat hier moet worden ingevuld. Dit geldt ook voor de twee invoervelden van het type “checkbox” onder de invoervelden waar tekst moet worden ingevoerd.
Op pagina “Wat jij kunt doen” https://www.resilientrotterdam.nl/wat-jij-kunt-doen staat een formulier. Een advies is om een verklaring te geven wat een sterretje betekent. Het formulier wordt dan toegankelijker voor bezoekers die nieuw zijn met internet en bezoekers met cognitieve beperkingen. Zie https://www.resilientrotterdam.nl/wat-jij-kunt-doen.
In de cookiebanner staat een link “instellingen openen”. Deze link opent een extra venster. Er staan twee invoervelden van het type “checkbox”. Het label van deze invoervelden is niet expliciet gebonden met het input. Zie https://www.resilientrotterdam.nl/.
Op deze pagina https://www.resilientrotterdam.nl/download staat een pdf-document (link: https://rotterdam.raadsinformatie.nl/document/11230526/2#search=%22resilient%22).
Het pdf-document is niet gecodeerd (tags ontbreken) en er is daardoor voor hulpsoftware zoals voorleessoftware geen informatie beschikbaar om de PDF te interpreteren. Omdat tags ontbreken, kan de PDF niet volledig onderzocht worden (alle succescriteria met betrekking tot de PDF-codelaag, zoals semantische koppen en alternatieve teksten bij afbeeldingen). Let op dat bij het oplossen van dit probleem nieuwe toegankelijkheidsproblemen kunnen ontstaan.
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: Onvoldoende
Bevindingen: Op meerdere pagina's worden blokken met een afbeelding, een kop en tekst getoond. Als de blokken achter elkaar worden voorgelezen is het niet duidelijk bij welke kop informatie dat boven het kopje staat hoort. Zo staan op de homepage de koppen van de nieuwsberichten met daarboven "nieuws", de datum en de afbeeldingen van de doelen. Als een blinde bezoeker rechtstreeks naar een van de koppen navigeert, kan het lijken of de informatie van het volgende bericht hierbij hoort. Zet de koppen vooraan in de HTML-code en zet hieronder de rest van de informatie bij dit bericht. Visueel mag deze indeling wel aangehouden worden. Dit komt ook voor bij andere onderdelen op de site zoals https://www.resilientrotterdam.nl/initiatieven
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: Voldoende
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:
- Het invoerveld een doel dient dat is geïdentificeerd in de paragraaf Inputdoelen voor Componenten van de Gebruikersinterface; en
- De content wordt geïmplementeerd met behulp van technologieën die ondersteuning bieden bij het identificeren van de verwachte betekenis van formulier-invoergegevens.
Informatie over succescriterium 1.3.5 Identificeer het doel van de input
Uitkomst: Onvoldoende
Bevindingen: Op pagina “Wat jij kunt doen” https://www.resilientrotterdam.nl/wat-jij-kunt-doen is een formulier waar de bezoeker onder andere de naam, het eigen e-mailadres en telefoonnummer kan invullen. Het doel van deze en een aantal andere velden moet programmatisch kunnen worden bepaald, zodat velden automatisch kunnen 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.
Het autocomplete attribuut ontbreekt ook op andere formulieren op deze website. Zie https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 voor een opt-in formulier onderaan de pagina en een pop-upvenster (te openen met de knop “Meer informatie”).
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:
- Grote tekst: Grote tekst en afbeeldingen van grote tekst hebben een contrastverhouding van ten minste 3:1;
- Incidenteel: 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 die onderdeel zijn van een afbeelding die significant andere visuele content bevat, hebben geen contrasteis.
- Woordmerken: Tekst die onderdeel is van een logo of merknaam heeft geen contrasteis.
Informatie over succescriterium 1.4.3 Contrast (minimum)
Uitkomst: Onvoldoende
Bevindingen: Op pagina “Privacyverklaring” staan links in de lopende tekst. De contrastverhouding van de linktekst met de achtergrond is 2,4:1 terwijl het minimaal 4,5:1 moet zijn. Zie https://www.resilientrotterdam.nl/privacyverklaring
Op pagina “Nieuws” heeft elk nieuwsbericht een datum. Op de datum is doorzichtigheid van 50% (opacity:0,5) toegepast waardoor de originele zwarte tekstkleur veranderd is in een grijze tekst. De contrastverhouding is 3,9:1. Zorg voor een minimaal contrast van 4,5:1. Zie https://www.resilientrotterdam.nl/nieuws
Midden op pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 staat een knop met “Meer informatie”. De contrastverhouding tussen witte tekst en blauwe achtergrond is 2,4:1. Dit moet minimaal 3,0:1 zijn. Deze knop opent een pop-upvenster. In het formulier hebben de placeholderteksten kleurcontrast van 2,6:1. Dit moet minimaal 4,5:1 zijn.
De datum onder het kopje “Urban resilience …” heeft een kleurcontrast van 2,1:1. Dit moet minimaal 4,5:1 zijn.
Op deze pagina https://www.resilientrotterdam.nl/download staat een pdf-documtent (link: https://rotterdam.raadsinformatie.nl/document/11230526/2#search=%22resilient%22).
Sommige kleurencombinaties in dit pdf-document voldoen niet aan de minimale contrasteisen. Het gaat om de combinatie van wit en oranje: 2,5:1. Deze combinatie wordt op de volgende plekken in het document gebruikt:
op pagina 8 in een diagram als achtergrond voor een witte tekst, op pagina 28 in een diagram, op pagina 29 in een kop en tekst, op pagina 30 in een diagram, op pagina 34 in tekst en vanaf pagina 48 in tekst.
De combinatie van wit en lichtblauw heeft een kleurcontrast van 3,4:1. Deze combinatie staat op pagina 28 in een diagram, op pagina 30 in een diagram, een kop en tekst, op pagina 34 in tekst en vanaf pagina 72 in tekst.
Bij het diagram op pagina 8 staat een groot cijfer “3”. Het kleurcontrast is 2,2:1. Hier gaat het om grote tekst die een minimaal contrast van 3,0:1 moet hebben. Zie ook cijfers "1" en "2".
De donkergroene kleur die overal in het document wordt gebruikt, heeft voldoende contrast als het op een witte achtergrond staat (5,0:1). Op pagina 20 onderaan staat een citaat met deze groene kleur op een lichtgekleurde achtergrond. Het contrast wordt slechter, namelijk 4,4:1. Dit gaat om een normale tekstgrootte die vraagt om een minimaal contrast van 4,5:1. Dit kader komt op vele pagina’s voor.
Op pagina 34 staat een afbeelding met sustainable development goals waarin witte tekst op gekeurde achtergronden staat. Het contrast is niet overal voldoende, maar deze bevinding wordt niet afgekeurd omdat het om het logo van SDG gaat.
Op pagina 41 staan vier blokjes met witte teksten op gekleurde achtergronden. Het kleurcontrast is als volgt: “beschermen gesloten” 3,1:1, “beschermen openen” 1,9:1, “zeewaarts” 1,6:1, “meebewegen” 3,9:1.
Op pagina 44 staat een afbeelding waarop lichtblauw tekstkleur te zien is. Het kleurcontrast is 2,6:1 en olijfgroen 3,6:1.
Op pagina 53 staat een diagram met roze, rode, beige en magenta kleuren. Het kleurcontrast varieert tussen 3,4:1 en 4,5:1 (voldoende).
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: Onvoldoende
Bevindingen: Wanneer bij een schermgrootte van 1280px breed ingezoomd wordt tot 200% dan kan je het mobiele navigatiemenu openen. Delen van het uitgeklapte menu komen buiten het zwarte menuvlak. De tekst kan daardoor slecht of niet leesbaar worden. Zie ook 1.4.10
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:
- Aanpasbaar: De afbeelding van tekst kan visueel aangepast worden aan de eisen van de gebruiker;
- Essentieel: Een specifieke weergave van tekst is essentieel voor de informatie die wordt overgebracht.
Informatie over succescriterium 1.4.5 Afbeeldingen van tekst
Uitkomst: Niet aanwezig
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:
- 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.
Informatie over succescriterium 1.4.10 Reflow
Uitkomst: Onvoldoende
Bevindingen: Wanneer bij een schermgrootte van 1280px breed ingezoomd wordt tot 400% dan kan je het mobiele navigatiemenu openen. Delen van het uitgeklapte menu komen buiten het zwarte menuvlak. Sommige tekst wordt daardoor slecht of niet leesbaar worden. Zie ook 1.4.4
Wanneer bij een schermgrootte van 1280px breed ingezoomd wordt tot 400% en de cookiemelding is aanwezig, dan komen content en de header van de pagina over elkaar heen te staan. Bij inzoomen verdwijnt de sluitknop en een deel van de tekst. Je kunt dan niet scrollen om de hele tekst te zien. Zorg dat bij inzoomen alle functionaliteit van de cookiemelding bereikbaar en bedienbaar blijft.
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:
- Componenten van de gebruikersinterface: 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;
- Grafische objecten: 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.
Informatie over succescriterium 1.4.11 Contrast van niet-tekstuele content
Uitkomst: Onvoldoende
Bevindingen: Op pagina “Wat jij kunt doen” staat een formulier. De invoervelden hebben een lichtgrijze rand. De contrastverhouding is 1,5:1 terwijl het minimaal 3,0:1 moet zijn. Zie https://www.resilientrotterdam.nl/wat-jij-kunt-doen.
Midden op pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 staat een knop met “Meer informatie”. Deze knop opent een pop-upvenster. In het formulier hebben de invoervelden geen randen, alleen de achtergrondkleur geeft de grenzen van deze elementen aan. De contrastverhouding tussen de achtergrond van de pagina en het invoerveld is 1,6:1. Dit moet minimaal 3,0:1 zijn. Onderaan deze pagina staat een opt-in formulier met dezelfde kleurencombinatie in de invoervelden.
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:
- Regelhoogte (regelafstand) naar minstens 1,5 keer de lettergrootte;
- Afstand tussen alinea's naar minstens 2 keer de lettergrootte;
- Letterafstand (spatieren van letters) naar minstens 0,12 keer de lettergrootte;
- Spatieren van woorden naar minstens 0,16 keer de lettergrootte.
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:
- 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.
Informatie over succescriterium 1.4.13 Content bij hover of focus
Uitkomst: Onvoldoende
Bevindingen: Als je in de header van de website over de taalknop heen hovert met de muis, verschijnt er aanvullende content die de onderliggende content dekt. De bezoeker kan deze content niet weghalen zonder de muis te bewegen of de focus met het toetsenbord te verplaatsen. Een bezoeker moet dit bijvoorbeeld met de escape toets kunnen doen. Zie https://www.resilientrotterdam.nl/.
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: Onvoldoende
Bevindingen: Op deze website zijn interactieve elementen aangetroffen die niet met het toetsenbord toegankelijk zijn.
In de header van de website staat een knop om de taal te selecteren. Deze knop heeft een dropdown als je met een muis overheen hovert. Deze keuze is niet beschikbaar voor bezoekers die alleen een toetsenbord gebruiken om de website te navigeren. Zorg dat dit ook met toetsenbord te bedienen is. Zie
https://www.resilientrotterdam.nl/.
In de cookiebanner staat een link “instellingen openen”. Deze link is een platte tekst die interactief is gemaakt met JavaScript en is niet toetsenbordtoegankelijk. Zorg dat dit ook met toetsenbord te bedienen is. Zie https://www.resilientrotterdam.nl/ .
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: Voldoende
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:
- 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 (bijvoorbeeld 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.
Informatie over succescriterium 2.1.4 Enkel teken sneltoets
Uitkomst: Voldoende
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:
- 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.
Informatie over succescriterium 2.2.1 Timing aanpasbaar
Uitkomst: Onvoldoende
Bevindingen: Op pagina “Wat jij kunt doen” staat een formulier. Als verplichte velden in het formulier niet worden ingevuld verschijnen meldingen "Please fill in this field". In Chrome verdwijnen deze foutmeldingen na een paar seconden. De bezoeker krijgt niet voldoende tijd om de melding te lezen. Zorg dat de melding in beeld blijft zodat de bezoeker de gelegenheid krijgt op basis van de melding de invoerfout te herstellen. Zie https://www.resilientrotterdam.nl/wat-jij-kunt-doen.
2.2.2 Pauzeren, stoppen, verbergen (Niveau A)
Voor alle bewegende, knipperende, scrollende of automatisch actualiserende informatie gelden alle volgende zaken:
- Bewegen, knipperen, scrollen: 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
- Automatisch actualiserend: 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.
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: Niet aanwezig
2.4 Navigeerbaar
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: Onvoldoende
Bevindingen: De skiplink die naar de unieke content op de pagina gaat moet de eerste skiplink zijn. Dat is nu niet het geval. De eerste skiplink is de link naar het hoofdmenu. De skiplink naar de unieke content is pas de derde link (“Inhoud”). Zie https://www.resilientrotterdam.nl/.
2.4.2 Paginatitel (Niveau A)
Webpagina's hebben titels die het onderwerp of doel beschrijven.
Informatie over succescriterium 2.4.2 Paginatitel
Uitkomst: Onvoldoende
Bevindingen: Op deze pagina https://www.resilientrotterdam.nl/download staat een pdf-documtent (link: https://rotterdam.raadsinformatie.nl/document/11230526/2#search=%22resilient%22).
In de metadata van dit pdf-document is de titel niet ingesteld. De titel moet een korte beschrijving van de inhoud van het bestand zijn. Dit kan worden ingesteld via de bestandseigenschappen. Hier moet ook worden ingesteld dat de titel wordt getoond in de titelbalk en niet de bestandsnaam, zoals nu het geval is.
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: Wanneer je bent ingezoomd en je activeert de menuknop, opent het menu, maar de focus gaat verder op de onderliggende pagina. Dit is verwarrend. Zorg ervoor dat de focus in het menu komt en het menu niet verlaat tenzij de bezoeker op “Sluiten” knop heeft gedrukt of Esc-toets heeft gebruikt. Zie https://www.resilientrotterdam.nl/.
De cookiebanner die de onderliggende webpagina deels bedekt zit als laatste element in de Html-code waardoor een bezoeker eerst door alle interactieve elementen moet tabben om deze banner te kunnen afsluiten. Geef deze cookiebanner als eerste focus de focus. Zie https://www.resilientrotterdam.nl/.
Midden op pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 staat een knop met “Meer informatie”. Deze knop opent een pop-upvenster. Na het doorlopen van alle interactieve elementen in dit pop-upvenster gaat de focus door op de onderliggende pagina. Deze focusvolgorde is niet logisch.
Dit is slechts een opmerking omdat het menu nog steeds te bedienen is. De focusvolgorde op de items in het mobiele menu komt niet overeen met de visuele volgorde. Dit zou verwarrend kunnen zijn. Het advies is om de focusvolgorde te laten overeenkomen met de visuele volgorde van elementen. Zie https://www.resilientrotterdam.nl/.
2.4.4 Linkdoel (in context) (Niveau A)
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: Onvoldoende
Bevindingen: Het logo bovenaan elke pagina is klikbaar. De afbeelding bevat een goede alternatieve tekst "logo Resilient Rotterdam". Vul dit aan met ", naar homepage" zodat duidelijk is waar de link van deze klikbare afbeelding naartoe gaat.
Boven de footer op pagina https://www.resilientrotterdam.nl/initiatieven/kansen-in-feijenoord staan drie links naar de sociaalmediakanalen. Deze links hebben geen naam; ook ontbreekt de naam in de logo's. Zorg voor een duidelijk linkdoel waarmee ook duidelijk wordt gemaakt dat de links bedoeld zijn voor het delen via social media. Dit komt op meerdere pagina’s voor. Zie bijvoorbeeld https://www.resilientrotterdam.nl/initiatieven/plan-voor-bodemenergie. Op deze pagina staan vier lege links.
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: Onvoldoende
Bevindingen: Midden op pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 staat een knop met “Meer informatie”. Deze knop opent een pop-upvenster. Na het doorlopen van alle interactieve elementen in dit pop-upvenster gaat de focus door op de onderliggende pagina. Elementen die op dat moment niet in beeld zijn krijgen focus. Bezoekers kunnen onbedoeld interactieve elementen activeren. Zorg ervoor dat alleen zichtbare elementen focus krijgen.
Dit is slechts een opmerking omdat de standaard browser focus niet is aangepast. In Firefox bestaat een standaard focus uit een zwaarte gestippelde rand. In het mobiele menu en de footer is de achtergrond zwart en is de focus niet zichtbaar. Ook in de cookiebanner staan drie interactieve elementen waar de focus zeer slecht zichtbaar is. In de volgende versie van WCAG versie 2.2 worden de regels hierop strikter. Zie https://www.resilientrotterdam.nl/.
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: Niet aanwezig
2.5.2 Aanwijzerannulering (Niveau A)
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.
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: In de header van de website staat een zoekbalk. Het invoerveld is mogelijk niet met alle hulpsoftware met spraak te bedienen omdat de toegankelijke naam niet correct is toegekend.
De placeholdertekst wordt nu gebruikt als enige manier om dit invoerveld een toegankelijk naam te geven. Een meer robuuste oplossing zou een label-element kunnen zijn dat visueel verborgen is of een aria-label. Andere oplossingen zijn mogelijk. Zie https://www.resilientrotterdam.nl/
In de cookiebanner staat een knop met tekst “Cookie bevestigen’”. De toegankelijke naam is “Bevestig instellingen”. Om deze knop met spraak te kunnen bedienen, moeten deze namen met hetzelfde woord beginnen. Verander de toegankelijke naam. Zie https://www.resilientrotterdam.nl/.
De toegankelijke naam van de filterknoppen op pagina https://www.resilientrotterdam.nl/initiatieven komen niet overeen met het zichtbare label. Via aria-label wordt elke naam voorafgegaan door "Meer over ". Zorg ervoor dat de zichtbare naam onderdeel is van de toegankelijke naam, die vooraan staat. Laat daarom aria-label weg. Zie ook 4.1.2.
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:
- Ondersteunde interface: De beweging wordt gebruikt om de functionaliteit te bedienen via een door toegankelijkheid ondersteunde interface;
- Essentieel: De beweging is essentieel voor de functie en wanneer de reactie op de beweging wordt uitgeschakeld, wordt de activiteit ongeldig gemaakt.
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: Bovenaan de pagina staat een knop om van taal te wisselen. Deze knop moet ervoor zorgen dat de waarde van het lang-attribuut op de HTML de juiste taalcode krijgt. Als voor Engelstalig wordt gekozen blijft lang=”nl” in de HTML-code staan. Zorg ervoor dat dit attribuut de juiste waarde krijgt: lang=”en”. Let erbij wel op dat als de pagina in een andere taal wordt aangeboden, dienen alle aria-labels, skiplinks, alternatieve teksten en andere teksten die aan bezoeker worden voorgelezen te worden omgezet in de taal van de pagina. Zie https://www.resilientrotterdam.nl/en.
In de eigenschappen van de PDF die te downloaden is via https://www.resilientrotterdam.nl/download is de taal niet ingevuld. Zorg ervoor dat de taalinstelling overeenkomt met de taal die gebruikt wordt in de PDF.
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 pagina “Wat jij kunt doen” staat een formulier. Als verplichte velden in het formulier niet worden ingevuld verschijnen in Chrome foutmeldingen "Please fill in this field". Bij het e-mailveld verschijnt een foutmelding “Please, include the ‘@” in the e-mail address. ‘123’ is missing the ‘@’ ”. Deze foutmeldingen missen een taalwissel. Beter is om geen gebruik te maken van de standaard meldingen van de browser maar zelf meldingen in de html te plaatsen. Zie https://www.resilientrotterdam.nl/wat-jij-kunt-doen.
Op deze pagina https://www.resilientrotterdam.nl/download staat een pdf-documtent (link: https://rotterdam.raadsinformatie.nl/document/11230526/2#search=%22resilient%22).
In de meta data van het pdf-document “Resilient Rotterdam” is de taal niet ingesteld. De taal hoort ingesteld te worden, zodat hulpsoftware de informatie uit het bestand in de correcte taal kan overdragen aan de bezoeker. Dit kan worden ingesteld via de bestandseigenschappen.
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
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 pagina “Wat jij kunt doen” staat een formulier. Als verplichte velden in het formulier niet worden ingevuld verschijnen meldingen “Vul dit veld in” (in Firefox) en "Please fill in this field" (in Chrome). Deze foutmelding is een instructie en geen foutmelding zoals: "Dit veld is niet ingevuld.". Formuleer zo specifiek mogelijk wat er fout gaat. En zorg voor eigen foutmeldingen in tegenstelling tot de browser foutmeldingen. Bezoekers die de browsermelding niet kunnen zien of begrijpen weten niet wat er aan de hand is en wat ze moeten verbeteren. Zie https://www.resilientrotterdam.nl/wat-jij-kunt-doen.
Deze foutmeldingen komen ook in het formulier op pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 voor.
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: Voldoende
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
3.3.4 Foutpreventie (wettelijk, financieel, gegevens) (Niveau AA)
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:
- 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.
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: Onvoldoende
Bevindingen: Parsefouten kunnen problemen veroorzaken voor hulpsoftware. Daarom wordt hier onder andere gekeken of alle elementen correct gesloten worden. In de filters op pagina https://www.resilientrotterdam.nl/nieuws worden links genest: een link wordt niet afgesloten voordat een andere link begint. Zorg voor correcte HTML.
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: De toegankelijke naam moet de functie van het element beschrijven. Op de homepagina heeft de playknop een naam “Video pauzeren / afspelen”. De naam van de knop moet dynamisch veranderen als de functie van de knop verandert. Als de video in een overlay wordt afgespeeld, staat er in de rechterbovenhoek een knop om de video af te sluiten. Deze knop heeft geen toegankelijke naam. Zie https://www.resilientrotterdam.nl/.
In de footer van de website wordt role=”presentation” op informatieve afbeeldingen gebruikt (de logo’s). Dit is geen correct gebruik van ARIA. Zie https://www.resilientrotterdam.nl/.
Op pagina “Nieuws” wordt role=”presentation” gebruikt op informatieve afbeeldingen om ze te verbergen voor hulpsoftware. Daarnaast hebben deze afbeeldingen een aria-label om aan hulpsoftware te laten weten wat deze afbeeldingen betekenen. Op Homepagina komt dit 14 keer voor. Deze afbeeldingen worden niet voorgelezen. Verwijder role=”presentation” of in geval van decoratieve afbeelding, vermijd dan het toekennen van een naam via aria-label. Zie https://www.resilientrotterdam.nl/.
In de header van de website staat een zoekbalk. Het invoerveld heeft geen toegankelijke naam. Er is een placeholder tekst aanwezig; deze verdwijnt zodra de bezoeker begint te typen en wordt niet als een volwaardig alternatief voor een toegankelijke naam gezien. Zorg voor een visueel verborgen label-element of een alternatief om dit invoerveld een naam te geven. Let wel op dat deze naam overeen moet komen met zichtbare (placeholder) tekst. Zie https://www.resilientrotterdam.nl/.
Advies: Op de homepagina staan drie iframes met Twitterfeeds die dezelfde waarde in het title-attribuut (“Twitter tweet”) hebben. De titel van elk iframe moet uniek zijn. Op deze manier weten gebruikers van hulpsoftware wat het is als zij het op een webpagina tegenkomen, zodat ze kunnen besluiten of ze actie moeten ondernemen en zo ja, welke. Zie https://www.resilientrotterdam.nl/.
In de cookiebanner staat een link “instellingen openen” die extra content openklapt. Deze link is een platte tekst die interactief is gemaakt met JavaScript. De link mist de juiste rol en geeft niet aan of extra content getoond wordt of niet.
Deze link opent een extra venster. Er staan twee invoervelden van het type “checkbox”. Het label van deze invoervelden is niet expliciet gekoppeld aan het invoerveld. De robuustste manier om een invoerveld een toegankelijke naam te geven is door het gebruik te maken van “for” en “id” constructie. Zie https://www.resilientrotterdam.nl.
Op pagina “Wat jij kunt doen” staat een formulier (https://www.resilientrotterdam.nl/wat-jij-kunt-doen). In dit formulier staan tekst-labels boven de invoervelden. Deze labels zijn programmatisch niet gekoppeld aan erbij behorende invoervelden. Hierdoor ontbreekt een toegankelijke naam van een invoerveld en weet een blinde bezoeker niet wat hier moet worden ingevuld. Dit geldt ook voor de twee checkboxes onder de invoervelden waar tekst moet worden ingevoerd. Dit komt ook voor het in opt-in formulier op pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019.
Midden op pagina https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019 staat een knop met tekst “Meer informatie”. Deze knop opent een pop-upvenster. In het formulier hebben de invoervelden geen toegankelijke namen.
Boven de footer op pagina https://www.resilientrotterdam.nl/initiatieven/kansen-in-feijenoord staan drie links naar de sociaalmediakanalen. Deze links hebben geen toegankelijke namen. Er is geen linktekst, de afbeelding bevat geen tekstalternatief en er is geen alternatief geboden zoals een aria-label. Dit komt op meerdere pagina’s voor. Zie bijvoorbeeld https://www.resilientrotterdam.nl/initiatieven/plan-voor-bodemenergie. Op deze pagina staan vier lege links.
Als ingezoomd wordt verschijnt op elke pagina een knop om de navigatie te openen. Deze knop heeft een naam, Menu openen. Deze naam verandert niet als het menu wordt geopend. Visueel wordt de tekst "Sluiten" zichtbaar. Zorg ervoor dat de naam van de knop correct is. Maak gebruik van aria-expanded om aan te geven of het menu getoond wordt of niet.
Bij de filterknoppen op pagina https://www.resilientrotterdam.nl/initiatieven ontbreekt de status. Door kleur wordt getoond of een filter actief is. Echter de naam van de filterknop (of de status) verandert niet en iemand die blind is kan het verschil niet zien. Zie ook 2.5.3.
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: In de cookiebanner staat een link “instellingen openen” die extra content openklapt. De extra content krijgt geen focus en wordt niet voorgelezen. Zie https://www.resilientrotterdam.nl.
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
- https://www.resilientrotterdam.nl/
- https://www.resilientrotterdam.nl/nieuws
- https://www.resilientrotterdam.nl/evenementen
- https://www.resilientrotterdam.nl/doelen
- https://www.resilientrotterdam.nl/wat-jij-kunt-doen
- https://www.resilientrotterdam.nl/privacyverklaring
- https://www.resilientrotterdam.nl/news/fundament-floating-office-aangekomen-in-de-rijnhaven
- https://www.resilientrotterdam.nl/event/urban-resilience-summit-2019
- https://www.resilientrotterdam.nl/en/
- https://www.resilientrotterdam.nl/nieuws/verankering-van-resilience-denken-in-de-stad
- https://rotterdam.raadsinformatie.nl/document/11230526/2#search=%22resilient%22
- https://www.resilientrotterdam.nl/initiatieven/plan-voor-bodemenergie
- https://www.resilientrotterdam.nl/download
- https://www.resilientrotterdam.nl/news/de-stad-veerkrachtig-besturen-hoe-doe-je-dat
- https://www.resilientrotterdam.nl/initiatieven/kansen-in-feijenoord
Ondersteunende technieken
Webbrowsers (useragents) en andere software
Bij dit onderzoek is de volgende software gebruikt:- Chrome, versie 108
- Firefox, versie 107
- Edge, versie 107
- Acrobat PRO DC
Bronnen
-
Website Accessibility Conformance Evaluation Methodology (WCAG-EM) Overview
www.w3.org/WAI/eval/conformance (Engels) -
Web Content Accessibility Guidelines (WCAG) 2.1 (Geautoriseerde Nederlandse vertaling)
www.w3.org/Translations/WCAG21-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.