Toetsenbordtoegankelijkheid
Als het gaat om toetsenbordtoegankelijkheid van een website kan de volgende vraag gesteld worden: zijn menu-items, links en formulieren toegankelijk wanneer na het laden van de pagina uitsluitend het toetsenbord gebruikt wordt?
Waarom belangrijk
Toetsenbordtoegankelijkheid heeft te maken met apparaatonafhankelijke toegang tot de informatie en functionaliteit van een webpagina. Dit houdt in dat een website niet alleen met de muis te “bedienen” moet zijn, maar ook met alternatieve vormen van invoer- of aanwijsapparaten. Naast het toetsenbord valt dan te denken aan een joystick of de stem.
In het algemeen zijn pagina’s die interactie met het toetsenbord toelaten ook toegankelijk door middel van spraakinvoer of andere apparaten. Als een webpagina toegankelijk is door middel van het toetsenbord kan de gebruiker dus kiezen voor het invoerapparaat naar keuze.
Mensen met een visuele handicap of een motorische handicap, die geen gebruik kunnen maken van de muis, zijn afhankelijk van het toetsenbord of andere apparatuur om een webpagina te kunnen “bedienen”. Voor deze groep mensen is het dus belangrijk dat een website ook toetsenbordtoegankelijk is.
Daarnaast heeft het niet alleen voordelen voor mensen met een functiebeperking, maar ook voor mensen die gebruik maken van mobiele telefoons, pda’s, of andere apparaten.
Voorbeelden
De meeste problemen van toetsenbordtoegankelijkheid treden op bij formulieren, uitklapmenu’s, Flash-objecten en JavaScript. Hieronder volgt een aantal voorbeelden van problemen die optreden.
Formulieren
Als bijvoorbeeld een formulier alleen kan worden ingevuld met behulp van een muis of een ander “aanwijsapparaat”, zal iemand zonder gezichtsvermogen die de pagina gebruikt met behulp van steminvoer of met een toetsenbord of met een ander invoerapparaat zonder “aanwijsfuncties”, niet in staat zijn het formulier te gebruiken.
Zo kan het voorkomen dat een keuzelijst wordt aangeboden met links naar andere delen van de website waarbij met de muis een keuze gemaakt moet worden door een link uit de keuzelijst aan te klikken. Als men gebruik maakt van een toetsenbord blijft men bijna altijd hangen op de eerste link in de lijst. Dit komt omdat er door de lijst heen ‘getabt’ moet worden van boven naar beneden. Zodra de focus op de eerste link in de lijst staat wordt het formulier al verzonden en kan de gebruiker de overige opties niet bereiken.
Een oplossing voor dit probleem kan zijn om het formulier niet te verzenden op het moment dat een keuze wordt gemaakt uit de lijst, maar door een extra submit knop te gebruiken om de keuze te bevestigen en het formulier te versturen.
Veel formulieren maken geen gebruik van een submit-knop maar van een algemene knop voor het versturen van een formulier. Het versturen werkt dan alleen door middel van JavaScript. Vaak wordt hier dan alleen een onClick-event gebruikt, zodat alleen met de muis de knop te bedienen is. Hierdoor is het niet mogelijk om door middel van een toetsenbord het formulier te versturen.
Een oplossing voor dit probleem is om naast het onClick-event ook een onKeyPress-event of een onKeyDown-event te gebruiken. Een nog betere oplossing is om een standaard submit knop te gebruiken, of eventueel een image-button, waarbij een afbeelding als verzendknop gebruikt kan worden.
Uitklapmenu’s
Uitklapmenu’s werken vaak alleen met de muis. De submenu’s verschijnen alleen als de muisaanwijzer op een hoofdmenu-item wordt geplaatst. Als de gebruiker met behulp van het toetsenbord (de tab-toets) naar het hoofdmenu-item gaat verschijnt het submenu meestal niet. De oorzaak hiervan is dat er alleen een onMouseOver-event gebruikt is voor het uitklappen. Een oplossing kan zijn door ook een onFocus-event te gebruiken, zodat het menu ook uitklapt als de ‘focus’ er op staat. Dit laatste gebeurd als met de tab-toets naar dit element wordt ‘getabt’.
Het probleem wordt nog groter als de hoofdmenu-items geen links naar pagina’s zijn, maar slechts kopjes voor de submenu’s. In dat geval werkt de gehele navigatie niet meer. Het wordt dus aangeraden om altijd links te gebruiken voor de hoofdmenuitems en het uitklappen van menu’s, zodat het menu ook toegankelijk is met het toetsenbord.
Flash-objecten
Niet alle Flash-objecten zijn direct toegankelijk met het toetsenbord. Veel van de functionaliteit (bijvoorbeeld knoppen, invulvelden en links) zijn afhankelijk van de muis en niet te bedienen met het toetsenbord, tenzij dit bij het maken van de Flash animatie expliciet ingesteld is. Het is dus belangrijk om zoveel mogelijk de toegankelijkheidsopties die Flash aanbiedt te gebruiken.
Een bijkomend probleem bij Flash-objecten is dat het regelmatig voorkomt dat men met het toetsenbord blijft “hangen” in een Flash-object. Normaal gesproken kan een gebruiker door middel van de tab-toets alle links en formulieronderdelen op een webpagina bereiken. Als een gebruiker met de tab-toets naar een Flash-object toe-tabt is het daarna vaak niet meer mogelijk om de rest van de pagina te bereiken. Met de tabtoets komt men niet meer voorbij het Flash-object
en kan vaak ook niet meer terug (shift-tab).
JavaScript
Veel van de interactieve of dynamische onderdelen op een website zijn afhankelijk van de werking van de muis. Dit komt omdat er gekozen is voor ” event handlers ” in JavaScript die apparaatafhankelijk zijn en in de meeste gevallen is dat alleen de muis. Te denken valt aan ‘onMouseOver’ en ‘onClick’ events. Hierdoor is de interactie niet meer mogelijk als de gebruiker afhankelijk is van andere apparaten, zoals het toetsenbord.
Een oplossing hiervoor is apparaatonafhankelijke event handlers gebruiken (onFocus, onBlur, onSelect enz.), of door extra event handlers te gebruiken die voor het toetsenbord bedoeld zijn (onKeyDown, onKeyUp, onKeyPress, etc.).