Toegankelijkheidsonderzoek

Bevindingen voor je spreadsheet:
Audit digitale toegankelijkheid Chatbot Ida inclusief demo-omgeving

Via deze pagina kan je de bevindingen of de steekproef van het onderzoek kopiëren naar het geheugen van je computer. Daarna kan je de informatie plakken in een spreadsheet zoals Excel. Screenshots uit het rapport worden niet automatisch meegekopieerd. Deze functie werkt alleen met JavaScript. Mocht de knop niet werken probeer dan altijd een keer de pagina te verversen. Vaak doet de kopieerknop het dan weer wel.

Onderzoeker
Erik Kroes; Reviewer van 200 OK
Datum
20 maart 2026
Opdrachtgever
Tom Moesker van ICTU

Scope van de evaluatie

Naam website Chatbot Ida inclusief demo-omgeving
Scope
  • alle pagina's en de chatbot op versnellers.nl

Uitgebreide toetsresultaten

Aantal bevindingen: 47
nr Bevinding WCAG SC Mogelijk verantwoordelijk Status
1In het gespreksvenster is een afbeelding van een avatar aanwezig. Bij deze afbeelding ontbreekt de alt-tekst. Lees meer hierover bij SC 4.1.2 ![screenshot probleem](screenshot02.png)1.1.1techniek, content, visuele vormgeving
2Het chatvenster heeft een visuele kop "Gem". In de html-code is een visueel onzichtbare kop opgenomen met kopniveau 1: <h1 class="sr-only">Chat</h1> Gebruik een kopniveau 2, immers de onderliggende pagina verlaten we niet echt en plaats deze kop op de visuele naam.1.3.1techniek, interactieontwerp, content, visuele vormgeving
3De container waarin de chatbot zit heeft een naam gekregen: "Chatwidget". Geef de container een naam die voor bezoekers duidelijk is. Zie ook SC 3.2.4 en SC 4.1.21.3.1techniek, interactieontwerp, content, visuele vormgeving
4Als je het gesprek terug laat lezen door hulpsoftware dan is het niet duidelijk wat de bezoeker heeft gevraagd of gezegd. Ook ontbreekt er een semantiek waaruit je bijvoorbeeld de omvang van het gesprek kunt halen. Dit kan je bereiken door bijvoorbeeld het gesprek in een geordende opsomming te plaatsen en het gesprek op juiste wijze op te bouwen met wie wat zegt en wat er gezegd is. Houd rekening met hoe de bezoeker aangesproken wordt door de gemeente: "U zegt" of "Jij zegt".1.3.1techniek, interactieontwerp, content, visuele vormgeving
5In medium en large modus staan in de zijbalk de gespreksonderwerpen. Het geselecteerde gesprek wordt in vet in het overzicht getoond. Zorg dat deze informatie ook beschikbaar is voor blinden en slechtzienden. ![screenshot zijbalk](screenshot07.png)1.3.1techniek, interactieontwerp, content, visuele vormgeving
6Op de pagina van Mijn overheidssite is een opsomming van menukeuzes aanwezig, "Inwoners", "Ondernemen", enzovoorts. Ofschoon er visueel geen opsommingstekens zijn gebruikt is dit wel een opsomming. Gebruik het ul- en li-element om opsommingen op te maken.1.3.1techniek, interactieontwerp, content, visuele vormgeving
7De knop om in het gespreksvenster te scrollen bevindt zich achter het invoerveld, buiten het scrollgebied. Deze knop komt ook nog eens hinderlijk over nieuwe content heen te staan. Laat de knop weg en zorg voor een duidelijke scrollbalk zodat zichtbaar is dat boven en onder nog content aanwezig is. Zie ook 2.1.1 Maak de scrollknop ook zoveel mogelijk overbodig door in het chatvenster door te scrollen. In het screenshot zie je dat slechts enkele zinnen van het nieuwe antwoord zichtbaar is. Sommige chatbots scrollen direct naar het einde, waardoor je je eigen vraag en het begin van het antwoord niet ziet. Het handigst lijkt het om in het venster de laatste vraag of het laatste antwoord bovenin beeld te tonen. Zodat zoveel mogelijk nieuwe content leesbaar in beeld is. ![screenshot bovenstaand probleem](screenshot04.png)1.3.2content, visuele vormgeving
8Op de pagina van Mijn overheidssite staan nieuwsberichten bestaande uit een datum, een kop en een stuk tekst. Als de blokken achter elkaar worden voorgelezen is het niet duidelijk bij welke kop de datum hoort. Zet de koppen vooraan in de HTML-code en zet hierachter de datum. Visueel mag deze indeling wel aangehouden worden.1.3.2content, visuele vormgeving
9in large-modus heb ik een vraag gesteld over het afvoeren van tegels. Als ik dat gesprek teruglees blijkt ineens een van mijn vragen na het antwoord van de chatbot te staan. Ik vermoed een bug; dit probleem is voor iedereen lastig.1.3.2content, visuele vormgeving
10Op de pagina van Mijn overheidssite staat een blok "Heeft u een vraag". Hier staat een verwijzing naar "rechtsonder". Vermijd verwijzingen naar visuele locaties op het scherm of vul deze aan met de echte naam en de rol (knop). Mensen die het scherm niet (goed) kunnen zien en hulpsoftware gebruiken kunnen de informatie op andere wijze makkelijk terugvinden.1.3.3visuele vormgeving
11Als je met je muis over de items in het demoscherm van Mijn overheidssite gaat wordt in dark mode de tekst oranjebruin. Het contrast met de donkere achtergrond is dan te laag. De contrastverhouding is dan 3,86:1, waar dit minimaal 4,5:1 moet zijn. In light mode is het contrast wel voldoende.1.4.3interactieontwerp
12Wanneer bij een schermgrootte van 1280x1024px ingezoomd wordt tot 200% dan verdwijnt in de medium-modus veel functionaliteit en content van de chatbot buiten beeld of over elkaar heen. ![screenshot herschalen](screenshot06.png)1.4.4interactieontwerp, content
13Wanneer bij een schermgrootte van 1280x1024px ingezoomd wordt tot 200% dan verdwijnt in de large-modus kan je door de pagina heen tabben. - de eerste link, ga naar de hoofdinhoud werkt hier niet. Je verwacht te springen naar het gesprek. (SC 2.4.1) - als je verder navigeert met de tabtoets kom je bij de knop "Zijbalk sluiten". De volgende tab is het hele menu. Deze tabstop is overbodig (SC 2.4.3).1.4.4interactieontwerp, content
14Wanneer bij een schermgrootte van 1280x1024px ingezoomd wordt tot 400% dan verdwijnt 300% in het chatvenster een deel van de content onder de scrollknop die altijd in beeld blijft. De tekst is deels onleesbaar.1.4.10interactieontwerp, content
15Wanneer bij een schermgrootte van 1280x1024px ingezoomd wordt tot 400% dan verdwijnt in het chatvenster het hele gespreksdeel. De tekst is volledig onleesbaar. Ook valt de bovenbalk buiten beeld en het chatvenster is haast onbedienbaar.1.4.10interactieontwerp, content
16Wanneer de verstuurknop focus heeft, is dat zichtbaar door een grijze cirkelvormige focusrand. De contrastverhouding tussen de focusrand en de donkergrijze achtergrond is 1,5:1, waar dit minimaal 3:1 moet zijn. Hierdoor is voor slechtzienden en kleurenblinden het onderscheid niet of moeilijk waar te nemen. Maak gebruik van een kleurencombinatie met voldoende contrast.1.4.11interactieontwerp
17Het invoerveld in het chatvenster heeft in dark en in light mode een te laag contrast. De contrastverhouding is hier respectievelijk 1,5:1 en 1,7:1, waar dit minimaal 3:1 moet zijn. Zorg dat het invoerveld voldoende contrast heeft zodat deze voor iedereen goed zichtbaar is. Dit probleem komt ook in medium- en large-modus voor. ![screenshot bovenstaand probleem](screenshot03.png)1.4.11interactieontwerp
18Het gespreksdeel in het chatvenster krijgt bij voldoende tekst een scrollbalk. Deze scrollbalk zweeft ergens aan de linkerzijde en heeft een te laag contrast ten opzichte van de achtergrond. Dit geldt zowel voor dark als voor light mode. De contrastverhouding is hier respectievelijk 1,9:1 en 1,6:1, waar dit minimaal 3:1 moet zijn. Zorg dat de scrollbalk voldoende contrast heeft zodat deze voor iedereen goed zichtbaar is.1.4.11interactieontwerp
19Als een link van de chatbot focus krijgt verschijnt er een lichtgrijze rand op een witte achtergrond. De contrastverhouding is hier 1,6:1, waar dit minimaal 3:1 moet zijn. Zorg de focusrand voldoende contrast heeft zodat deze voor iedereen goed zichtbaar is. ![voorbeeld focusrand](screenshot05.png)1.4.11interactieontwerp
20In de medium- en large-modus is de focus op verschillende onderdelen in light-modus grijs op wit. De contrastverhouding is hier 2,6:1, waar dit minimaal 3:1 moet zijn. Zorg de focusrand voldoende contrast heeft zodat deze voor iedereen goed zichtbaar is. Ook op andere plekken zoals in de popup bij het bevestigen van verwijderen van een gesprek is het contrast van de focus te laag.1.4.11interactieontwerp
21In het inlogscherm op inlog.versnellers.nl hebben de invoervakken een lichtgrijze onderlijning. De contrastverhouding is hier 1,5:1, waar dit minimaal 3:1 moet zijn. Zorg dat dit in de beide inlogmogelijkheden in de vervolgschermen ook voldoende is.1.4.11interactieontwerp
22Advies: Laat de scroll-knop weg (zie SC 1.3.2). Deze staat soms in de weg en wijst alleen omlaag. Mensen willen soms ook omhoog kunnen scrollen. Zorg ervoor dat via tabindex="-1" de focus op het scrollbare venster is te krijgen (lijkt al grotendeels goed te werken) als er binnen het scrollbare gebied geen interactieve focusbare elementen zijn.2.1.1techniek, content
23In de medium-modus is er een knop "Nieuw gesprek", waar als je er met de muis overheen gaat de toetsenbordbediening getoond wordt: "Ctrl + Shift + O". Zorg dat deze informatie ook met toetsenbord zichtbaar is te maken.2.1.1techniek, content
24In large-modus is een knop om je instellingen uit te vouwen. De naam van de knop luidt "Vvoornaam.achternaam@mail.nl". Dit is wat er visueel in beeld staat. Als je het menu uitvouwt wordt dat aangekondigd. Maar daarna is het niet duidelijk waar je bent. Enerzijds verdwijnt de focus, anderzijds is de focus heel slecht zichtbaar. Ook is niet duidelijk dat je hier met de pijltoetsen door het menu moet navigeren. Voor websites is het beter om hier de tabtoets te blijven gebruiken.2.1.1techniek, content
25Advies: in large-modus kan je met de tabtoets naar een soort account-instellingen-knop (knop met je e-mailadres). Als je die opent doet de tabtoets het ineens niet meer en is niet duidelijk wat je moet doen. Omdat dit omkeerbaar is is dit hier niet afgekeurd. Bezoekers die het toetsenbord gebruiken om te navigeren hebben wel last van dit probleem.2.1.2content
26Advies: de chatbotknop bevindt zich helemaal achteraan de code. Je kunt deze beter toegankelijk maken door bijvoorbeeld bij de skiplinks aan het begin van de pagina een link naar de chatbotknop op te nemen.2.4.1techniek, content
27De demopagina heeft als titel "Ida". Dit moet "Mijn overheidssite" zijn. Pas als Ida fullscreen geopend wordt dan moet de titel "Ida" zijn.2.4.2content, visuele vormgeving
28Het inlogscherm op login.versnellers.nl heeft een titel. Deze luidt "Inloggen". Vul dit aan met de naam van de website "Versnellers".2.4.2content, visuele vormgeving
29Advies: Bij het openen van het chatbotvenster word je direct naar het invoerveld geleid. Hier is onderzoek met ervaringsdeskundigen nodig. Ik vraag me namelijk af of het niet handiger is voor iemand die blind is, dat je bovenin het venster wordt gezet zodat je als bezoeker van boven naar beneden het chatvenster kan verkennen. Nu wordt de bezoeker bijna aan het eind van het venster geplaatst. En heeft geen idee waar het gesprek in het venster staat. Wellicht een idee om dit alleen te doen als de bezoeker nog geen vragen heeft gesteld.2.4.3techniek, content
30Advies: De focusvolgorde hangt af van de manier waarop het chatvenster geopend wordt, modal of non-modal. Als het non-modal is en het mogelijk is om naar andere pagina's te navigeren zonder het gesprek te verliezen voeg dan een pagina toe aan de demo. En zorg dat je op toegankelijke wijze van de ene naar de andere pagina kan navigeren.2.4.3techniek, content
31In medium-modus is er een mogelijkheid om naar large-modus te gaan. Via een knop kan je naar deze andere variant. De naam van de knop luidt "Openen in nieuw tabblad". Dit zegt onvoldoende van wat je verwachten mag in het nieuwe scherm.2.4.4techniek, interactieontwerp, content, visuele vormgeving
32Advies: veel gemeenten maken gebruik van vertaalknop en verschillende soorten vertaalsoftware. Houd er rekening mee dat de chatbot dit ondersteunt.3.1.1content, visuele vormgeving
33Als je een vraag in het Engels stelt krijg je een antwoord in het Engels. Markeer in het gespreksvenster de teksten die in een andere taal zijn dan de taal van de pagina met het lang-attribuut en de juiste taalcode.3.1.2visuele vormgeving
34Er wordt op verschillende manieren naar de chat verwezen: "Chat", "widget", "Chatwidget", "assistent", “digitale hulp van de gemeente”, "Gem". Gebruik geen jargon zoals widget. Gebruik een eenduidige benaming voor dit apparaat. Als dit een chatbot is genaamd "Clumsy" noem het dan ook "chatbot Clumsy" en verwijs ernaar met "chatbot Clumsy", "chatbot" of "Clumsy". Houdt er wel rekening mee dat niet voor iedereen het woord chatbot gangbaar is. - Houd rekening met de wensen van gemeenten. Zorg dat op alle plekken de naam configureerbaar is, ook de niet zichtbare namen. - Houd rekening met de combinatie van chatbot en livechat. Ook hier moet duidelijk zijn dat je met een chatbot of een persoon aan het chatten ben.3.2.4interactieontwerp
35In de medium en large-modus heeft de chatbot 2 verschillend uitziende knoppen met dezelfde naam: "Nieuw gesprek". 2 knoppen met dezelfde functie is er 1 teveel. Mochten de knoppen toch verschillende functies hebben, geef de knoppen dan een duidelijke unieke naam.3.2.4interactieontwerp
36De plek waar de bezoeker een vraag kan stellen heeft geen zichtbaar label maar wel een placeholder-tekst "Typ hier je vraag". De placeholder-tekst is niet voldoende, want die verdwijnt zodra de bezoeker begint met typen. Voor sommige mensen kan het moeilijk zijn om te onthouden wat ze moeten invullen als dat er niet duidelijk bij staat. Voeg een label toe dat altijd zichtbaar blijft om dit probleem op te lossen.3.3.2techniek
37De chatbotknop bevat de volgend attributen: `aria-label="Chat openen" aria-expanded="false"`. De chatbotknop heeft een naam die wijzigt als je de chatbot opent. Als je via de knop de chatbot opent verandert de status netjes in `aria-expanded="true"`. De status van het chatbotvenster wordt netjes voorgelezendoor voorleessoftware. Dat maakt het veranderen van de naam van "Chat openen" naar "Chat sluiten" overbodig. Houdt de naam van de knop kort en eenduidig, bijvoorbeeld "Chatbot Gem". De naam "Gem" staat prominent in het venster bij openen. Hiermee creëer je samenhang en eenduidigheid in de naamgeving.4.1.2techniek, content, visuele vormgeving
38In de code vinden we een <div> met `aria-live="polite" aria-atomic="true">Chatvenster is geopend...` Deze code is overbodig want de status wordt al gegeven door de knop die de chatbot opent. Of is er een ander methode om de chatbot te openen? Laat anders deze code weg.4.1.2techniek, content, visuele vormgeving
39Het dialoogvenster heeft een naam, "Chatwidget". Een term als “chatvenster” lijkt meer gepast. Zie ook SC 3.2.44.1.2techniek, content, visuele vormgeving
40Advies: Plaats een zichtbare naam bij de knop om de chatbot te openen. Dit verbetert de herkenning voor velen, en maakt het voor mensen met spraakbesturing ook mogelijk om de knop te bedienen. ![voorbeeld knop](screenshot01.png)4.1.2techniek, content, visuele vormgeving
41Advies: Voor een chatbot die relevant moet zijn terwijl de bezoeker de website gebruikt is “non-modal” een logische keuze. Voor consistentie en voorspelbaarheid is het dan belangrijk dat de website altijd bereikbaar en bedienbaar is als de chat open staat. De chat moet dan ook niet schermvullend zijn, ook niet op lage resoluties. Voor de te maken keuzes. Als het de bedoeling is om de chatbot non-modal te houden dan is het goed om ook navigeerbare elementen in de demo te plaatsen zodat getest kan worden wat er gebeurt als je naar een andere pagina gaat.4.1.2techniek, content, visuele vormgeving
42Er is een knop genaamd "Sluiten" in het chatvenster. Aangezien de chat alleen kleiner gemaakt wordt, en niet gesloten (zoals bij “modal”) is een andere naam passender. Ook de afbeelding op de knop is geen "X" maar een "v". gebruik daarom een term als “minimaliseer”, “verklein” of “maak klein”.4.1.2techniek, content, visuele vormgeving
43De afbeelding van de avatar in het discussievenster heeft geen alternatieve tekst. Deze tekst is belangrijk omdat mensen die het gesprek teruglezen moeten weten wie wat gezegd heeft. Vul dan ook de alternatieve tekst van de afbeelding, de naam van de chatbot: "Gem" aan met het woord "zegt". De hele chat zit in een <div> met de volgende attributen: ` role="log" aria-live="polite" aria-relevant="additions"` De log-role heeft impliciet al aria-live. Met andere woorden, aria-live kan verwijderd worden. Daarnaast is er expliciet gebruikgemaakt van aria-relevant=”additions”. De impliciete standaardwaarde is “additions text”. Door het verwijderen van “text” worden de tekstalternatieven niet meer aangekondigd.4.1.2techniek, content, visuele vormgeving
44Verschillende knoppen volgen het format van een <button> met een aria-label-attribuut, een identiek title-attribuut:`aria-label="Sluiten" title="Sluiten"` en een <svg> als content.Om ruis te verminderen is het aan te raden om het title-attribuut te verwijderen. Advies: Beter is om ook de naam van de knop in tekst bij de knop te plaatsen (advies).4.1.2techniek, content, visuele vormgeving
45Verschillende knoppen volgen het format van een <button> en een <svg>. Met de <svg> wordt door verschillende technologieën anders omgegaan. Het toevoegen van aria-hidden=”true” op dit element kan problemen voorkomen.4.1.2techniek, content, visuele vormgeving
46In large-modus is een knop om je instellingen uit te vouwen. De naam van de knop luidt "Vvoornaam.achternaam@mail.nl". Dit is wat er visueel in beeld staat. Vul de naam echter aan met de functionaliteit die in het uitvouwmenu tevoorschijn komt (instellingen?). Overigens wordt de letter die voor het mailadres staat aan het mailadres geplakt. Het lijkt beter om de letter achterwege te laten.4.1.2techniek, content, visuele vormgeving
47De hele chat zit in een <div> met de volgende attributn: ` role="log" aria-live="polite" aria-relevant="additions" ` De log-role heeft impliciet al aria-live. Met andere woorden, aria-live kan verwijderd worden. Daarnaast is er expliciet gebruikgemaakt van aria-relevant=”additions”. De impliciete standaardwaarde is “additions text”. Door het verwijderen van “text” worden de tekstalternatieven niet meer aangekondigd. Verander de tekstalternatieven van de avatar van Gem naar “Gem zegt”, en verwijder het aria-relevant-attribuut. Zo wordt elke update van Gem aangekondigd als “Gem zegt” gevolgd door de updatetekst.4.1.3techniek, content

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://versnellers.nl/

Ondersteunende technieken

Webbrowsers (useragents) en andere software

Bij dit onderzoek is de volgende software gebruikt:

Bronnen

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

Rapportinformatie: V2.0.1-WCAG2.1-R3.2-T0.15-nl