Dit zijn de slides van mijn Fronteers-talk op 27 september 2017. Zonder het verhaal en de demo's erbij, niet bijzonder leerzaam. Vandaar, heb je vragen: aarzel niet. Je vindt me op Twitter: @roelvangils.
21. — HTML heeft een beperkt aantal elementen en
attributen om interactieve componenten te bouwen
— Dat lossen we al jaren op met JavaScript
— JavaScript heeft ons vele mooie dingen gebracht
— Client-sided validatie
— Modal dialogs en tabbed interfaces
— Date pickers
— Carrousels
43. Aanzetten in Chrome
— In Chrome, ga naar chrome://flags/
— Zoek naar Developer Tools Experiments en klik op
Enable
— Open DevTools met ⌥ + ⌘ + i en vink Accessibility aan
in Settings
66. Atomic versus relevant
— Met aria-atomic=true (default) wordt alles binnen
de Live Region voorgelezen als de textContent verandert.
— Met aria-relevant=true worden enkele
toevoegingen opgelezen.
67. Opgelet!
— role="alert" is een impliciete (polite) live region
— De Live Region container moet al deel zijn van de
pagina's; er zijn issues met dynamisch genereren
68. Toepassingen
— De veranderde totaalprijs in een boodschappenmandje
— Waarschuwing als max. aantal karakters in een tweet
bereikt is
— Het aantal resultaten bij filters / facetnavigatie.
— Notification banners (zonder OK-knop)
— Chat bots
81. var buttons = Array.from(document.querySelectorAll('[role=button]'));
buttons.forEach(function(button) {
button.addEventListener('click', function() {
doeIetsNuttigs();
});
button.addEventListener('keyup', function(event) {
if (event.key == ' ') or (event.key == 'Enter') {
doeIetsNuttigs();
}
});
});
82. Doe-het-zelf Checklist
— Gebruik de juiste role (role=button in dit geval)
— Voeg tabindex=O toe zodat de knop bereikt kan
worden zonder muis
— Voeg stijlen toe voor :focus en :hover
— Vang niet enkel click events op, maar ook keyup
events!
91. Onthouden
1. Wijzig native semantics niet als het niet nodig is
2. ARIA is niet magisch: zorg ervoor dat interactieve
elementen bereikbaar en activeerbaar zijn
3. Check je Accessibility Tree
4. Tijd over? Check met NVDA, Jaws of VoiceOver. Handig
op iPad!
5. aria-live is handig, maar gebruik het met mate