Toetsenbord gebruik
Leg je muis even aan de kant en probeer eens te navigeren op het internet. Je ervaart snel dat je niet elke website met het toetsenbord kan bedienen. Waar het wel lukt, kan je met de tab-toets door de website gaan en zien welk element is geselecteerd. Elk element dat met de muis bediend kan worden, moet ook met een toetsenbord werken. Menu's en navigatie vragen meestal extra aandacht. Om die zo toegankelijk mogen te maken, gebruiken we als developers zoveel mogelijk native HTML-elementen, voegen we duidelijke focus-styles en letten we erop dat de tabvolgorde logisch is.
Semantiek
De opbouw van een pagina met beschrijvende HTML-elementen en juiste hiërarchie in kopniveau's is voor ondersteunende technologieën zoals screenreaders cruciaal. Gebruik semantische elementen daarom enkel waarvoor ze bedoeld zijn: markeer koppen als een kop, zet overzichten in een <ul> lijst en plaats enkel hoofdnavigatieblokken in een <nav> element. <span> en <div> elementen hebben geen enkele structurele of semantische rol. HTML5 landmarks zoals <header>, <footer> en <main> geven dan weer structuur en meerwaarde aan de pagina.
Accessibility tree
Elke browser bouwt voor zichzelf een accessibility tree uit de code. Ondersteunende technologieën halen die informatie op om informatie voor te lezen en aan te kondigen. In de accessibility tree heeft elke component een rol, een naam, een status en eigenschappen. Semantische HTML-elementen vullen de accessibility tree in, maar als developers kunnen we ontbrekende semantiek toevoegen of bijsturen met Accessible Rich Internet Applications attributen (ARIA). Zo kunnen we bijvoorbeeld een label aan de navigatie geven of de status van een button meegeven. ARIA-attributen horen enkel thuis op componenten met een semantische rol. Verkeerde of overbodige ARIA-attributen helpen de toegankelijkheid dan weer niet vooruit.