Toegankelijke versie: https://www.toegankelijkheidscertificaat.nl/chatbot-demo/issues/
| Naam website | Chatbot Ida inclusief demo-omgeving |
|---|---|
| Scope |
|
| Conformiteitsdoel | WCAG 2.1 niveau AA |
| Basisniveau van toegankelijkheid ondersteund | Gangbare browsers en hulpsoftware. |
Een website bestaat vaak uit verschillende soorten pagina's, processen en content. De steekproef die wij maken is representatief voor de inhoud van de website. De onderzoeken voeren we handmatig uit waarbij we gebruik maken van hulpmiddelen. Dit doen wij zorgvuldig met mensen met ervaring. Omdat dit mensenwerk is kan het voorkomen dat een probleem niet is benoemd. Dit onderzoek is een momentopname. De website of app kan inmiddels veranderd zijn.
De gevonden problemen kunnen ook op pagina's buiten de steekproef voorkomen. Ga daarom bij elk probleem de gehele website na of dit ook op andere plaatsen voorkomt. Let op! Bij het aanbrengen van verbeteringen of wijzigingen op de website of app kunnen nieuwe problemen ontstaan.
Het resultaat is voldoende als bij de uitkomst staat:
Het resultaat is onvoldoende als bij de uitkomst staat:
Informatie over succescriterium 1.1.1 Niet-tekstuele content
Uitkomst: Onvoldoende
Bevinding 1: In het gespreksvenster is een afbeelding van een avatar aanwezig. Bij deze afbeelding ontbreekt de alt-tekst. Lees meer hierover bij SC 4.1.2

Informatie over succescriterium 1.3.1 Info en relaties
Uitkomst: Onvoldoende
Bevinding 2: Het 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.
Bevinding 3: De 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.2
Bevinding 4: Als 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".
Bevinding 5: In 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.

Bevinding 6: Op 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.
Informatie over succescriterium 1.3.2 Betekenisvolle volgorde
Uitkomst: Onvoldoende
Bevinding 7: De 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.

Bevinding 8: Op 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.
Bevinding 9: in 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.
Informatie over succescriterium 1.3.3 Zintuiglijke eigenschappen
Uitkomst: Onvoldoende
Bevinding 10: Op 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.
Informatie over succescriterium 1.4.3 Contrast (minimum)
Uitkomst: Onvoldoende
Bevinding 11: Als 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.
Informatie over succescriterium 1.4.4 Herschalen van tekst
Uitkomst: Onvoldoende
Bevinding 12: Wanneer 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.

Bevinding 13: Wanneer bij een schermgrootte van 1280x1024px ingezoomd wordt tot 200% dan verdwijnt in de large-modus kan je door de pagina heen tabben.
Informatie over succescriterium 1.4.10 Reflow
Uitkomst: Onvoldoende
Bevinding 14: Wanneer 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.
Bevinding 15: Wanneer 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.
Informatie over succescriterium 1.4.11 Contrast van niet-tekstuele content
Uitkomst: Onvoldoende
Bevinding 16: Wanneer 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.
Bevinding 17: Het 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.

Bevinding 18: Het 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.
Bevinding 19: Als 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.

Bevinding 20: In 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.
Bevinding 21: In 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.
Informatie over succescriterium 2.1.1 Toetsenbord
Uitkomst: Onvoldoende
Bevinding 22: Advies: 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.
Bevinding 23: In 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.
Bevinding 24: In 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.
Informatie over succescriterium 2.1.2 Geen toetsenbordval
Uitkomst: Voldoende
Bevinding 25: Advies: 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.
Informatie over succescriterium 2.4.1 Blokken omzeilen
Uitkomst: Voldoende
Bevinding 26: Advies: 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.
Informatie over succescriterium 2.4.2 Paginatitel
Uitkomst: Onvoldoende
Bevinding 27: De demopagina heeft als titel "Ida". Dit moet "Mijn overheidssite" zijn. Pas als Ida fullscreen geopend wordt dan moet de titel "Ida" zijn.
Bevinding 28: Het inlogscherm op login.versnellers.nl heeft een titel. Deze luidt "Inloggen". Vul dit aan met de naam van de website "Versnellers".
Informatie over succescriterium 2.4.3 Focus volgorde
Uitkomst: Onvoldoende
Bevinding 29: Advies: 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.
Bevinding 30: Advies: 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.
Informatie over succescriterium 2.4.4 Linkdoel (in context)
Uitkomst: Onvoldoende
Bevinding 31: In 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.
Informatie over succescriterium 3.1.1 Taal van de pagina
Uitkomst: Voldoende
Bevinding 32: Advies: veel gemeenten maken gebruik van vertaalknop en verschillende soorten vertaalsoftware. Houd er rekening mee dat de chatbot dit ondersteunt.
Informatie over succescriterium 3.1.2 Taal van onderdelen
Uitkomst: Onvoldoende
Bevinding 33: Als 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.
Informatie over succescriterium 3.2.4 Consistente identificatie
Uitkomst: Onvoldoende
Bevinding 34: Er 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.
Bevinding 35: In 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.
Informatie over succescriterium 3.3.2 Labels of instructies
Uitkomst: Onvoldoende
Bevinding 36: De 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.
Informatie over succescriterium 4.1.2 Naam, rol, waarde
Uitkomst: Onvoldoende
Bevinding 37: De 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.
Bevinding 38: In 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.
Bevinding 39: Het dialoogvenster heeft een naam, "Chatwidget". Een term als “chatvenster” lijkt meer gepast. Zie ook SC 3.2.4
Bevinding 40: Advies: 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.

Bevinding 41: Advies: 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.
Bevinding 42: Er 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”.
Bevinding 43: De 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.
Bevinding 44: Verschillende 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).
Bevinding 45: Verschillende 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.
Bevinding 46: In 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.
Informatie over succescriterium 4.1.3 Statusberichten
Uitkomst: Onvoldoende
Bevinding 47: De 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.
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.
Bij dit onderzoek is de volgende software gebruikt:
Deze rapportage is grotendeels gemaakt met de online evaluatietool van W3C.