Tekens als sneltoetsen
Sneltoetsen die bestaan uit slechts één teken (een letter, cijfer of symbool) moeten uitschakelbaar, opnieuw instelbaar of uitsluitend actief zijn wanneer het betreffende onderdeel de focus heeft. Beschermt gebruikers van spraakbediening en dicteersoftware tegen ongewenste activering.
Wat het vereist
Als de pagina een sneltoets implementeert die uitsluitend bestaat uit een letter, cijfer, leesteken of symbool — zonder modificatietoets zoals Ctrl, Alt of Shift — dan moet ten minste één van de volgende situaties van toepassing zijn:
- De sneltoets kan worden uitgeschakeld via een instellingenmenu.
- De sneltoets kan worden geconfigureerd zodat er een of meer niet-afdrukbare toetsen (Ctrl, Alt, Shift, functietoetsen) bij vereist zijn.
- De sneltoets is uitsluitend actief wanneer het betreffende onderdeel de focus heeft.
Dit criterium bestaat primair om gebruikers van spraakinvoer te beschermen. Dragon NaturallySpeaking en Voice Control zetten gesproken woorden om in toetsaanslagen — en een losstaande „k“ midden in een zin kan een destructieve sneltoets activeren in Gmail, Slack of een andere toepassing die gebruikmaakt van sneltoetsen met één letter.
Hoe hieraan te voldoen
- Controleer alle handlers voor afzonderlijke toetsen in de codebase:
keydown- enkeypress-listeners dieevent.keyvergelijken met een afdrukbaar teken zonder ook modificatietoetsen te controleren. - Voeg een instellingenpaneel „Sneltoetsen“ toe waarmee gebruikers deze volledig kunnen uitschakelen. Gmail en Slack doen dit goed.
- Of: beperk sneltoetsen zodat ze alleen actief zijn wanneer de focus zich binnen het betreffende gebied bevindt (bijv.
j/kom e-mails te doorlopen uitsluitend wanneer de focus in de berichtenlijst staat, niet wanneer de gebruiker in een antwoordveld typt). - Geef de voorkeur aan sneltoetsen met modificatoren (Ctrl+/, Alt+N) als standaard; reserveer sneltoetsen met één teken als opt-in voor gevorderde gebruikers.
Veelvoorkomende fouten
- Gmail-achtige sneltoetsen
j/k/r/adie overal in het document actief zijn, ook binnen tekstgebieden bij bepaalde frameworkinstellingen. - Aangepaste datagrids waarbij
Deleteeen rij verwijdert zonder bevestiging — acceptabel voor toetsenbordgebruikers, maar problematisch voor spraakgebruikers die „verwijder die komma“ zeggen. - Videospelers waarbij de spatiebalk afspelen/pauzeren globaal instelt in plaats van uitsluitend wanneer de speler de focus heeft.
- Documentatiesites met
/om de zoekfunctie te activeren, die ook reageren wanneer de focus in een ingesloten code-editor staat.
axe-core detecteert dit niet — het vereist beoordeling van de broncode of specifieke geautomatiseerde regels uit de bredere testsuit van Deque. De meeste productiefouten worden pas ontdekt wanneer een gebruiker van spraakbediening een klacht indient.
Waarom het belangrijk is
Dit succescriterium is toegevoegd in WCAG 2.1, specifiek omdat het gebruik van spraakinvoer na 2017 sterk is toegenomen. Een site die niet voldoet aan 2.1.4 kan voor iemand die dicteert functioneel onbruikbaar zijn: elke alinea activeert een andere actie. Ook toetsenbordgebruikers met motorische beperkingen die er soms een verkeerde toets bij indrukken, profiteren van de mogelijkheid om sneltoetsen met één teken uit te schakelen.