About 15% of the world's population lives with some form of disability.
19% van de Belgische bevolking is ouder dan 65
Welke obstakels komen ze tegen? En wat jij daar aan kan doen?
Nina en Tom
Nina heeft dyslexie
Nina
"Als ik een tekst lees, lijken de letters in het rond te dansen."
125% of 150% van fontgrootte?
min. 16px?
= veelgebruikt font
Geef de gebruiker altijd controle over de pagina
Tom haakt af bij moeilijke teksten en complexe interfaces
Tommy
"Ik kreeg een brief van de overheid over mijn huis. Het gaat over patrimoniumdocumentatie en opmetingen en waarderingen. Wat moet ik hiermee doen?"
A basisgebruiker
B onafhankelijke gebruiker
C vaardige gebruiker
Bron: Wablieft
De inkomensvervangende tegemoetkoming wordt toegekend aan de persoon met een handicap van wie is vastgesteld dat zijn lichamelijke of psychische toestand zijn verdienvermogen heeft verminderd tot een derde of minder van wat een gezonde persoon door het uitoefenen van een beroep op de algemene arbeidsmarkt kan verdienen.
Als je door je handicap maar een derde kan verdienen van het loon van een gezonde persoon, krijg je een inkomensvervangende tegemoetkoming.
Iedereen leest graag duidelijke taal
Cognitive load en mentale energie
VDK online versus Argenta mobiele app
Don't remove visual affordances for design purposes.
Iets simpel maken is allesbehalve simpel.
Doe de mama-test.
Jerry, Kadisha en David
Jerry is kleurenblind
Jerry
"Ik kon als kind niet meespelen met UNO want ik zag niet of mijn kaarten rood of groen waren."
Gebruik niet alleen kleur om informatie over te brengen
Kadisha heeft cataract
Kadisha
"Ik wil online enkele LED-lampen kopen maar ik weet niet of de fitting past. Op de website staan de productdetails in kleine lichtgrijze tekst die ik bijna niet kan lezen."
Voorzie voldoende contrast voor
David is blind en gebruikt een screenreader
David
Ik zoek een lokale verdeler van mijn expresso-apparaat dat niet meer werkt. Op de site staan geen adressen, enkel een afbeelding met de alt-tekst 'kaart verdelers'.
Henk, Karolijn en Vera
Henk heeft Parkinson
Henk
"Ik wil een kalender laten drukken met foto's van mijn gezin. In de app kan ik foto's uploaden maar het lukt me niet om die in de kalender te krijgen want dat werkt met drag & drop."
Karolijn heeft last van RSI en gebruikt spraakcommando's
Karolijn
De applicatie op mijn werk voor tijdregistratie bevat veel knoppen met een icoon zonder tekst. Ik kan ze niet met een spraakcommando activeren. Tijdrovend want daardoor moet ik telkens het muisraster bovenhalen.
Vera heeft ALS en gebruikt switch control
Vera
Ik heb net een kwartier besteed aan het contactformulier van mijn bank om een nieuwe bankkaart aan te vragen. Wanneer ik wil verzenden krijg ik de melding dat ik niet meer ben ingelogd. Ik moet opnieuw inloggen en herbeginnen.
Alles duurt langer.
Geef de gebruiker voldoende tijd om een taak uit te voeren.
Cecile
Cecile is doof
Cecile
"Ik heb me ingeschreven voor een online cursus webdesign met Figma. Elke hoofdstuk van de cursus heeft oefeningen die in een video worden uitgelegd. Ik snap de oefeningen niet omdat de video's niet zijn ondertiteld. Zou ik mijn inschrijvingsgeld kunnen terugvragen?"
Nederlands is mijn tweede taal. Met ondertitels kan ik makkelijker volgen. En ik leer er van bij.
Anders versta ik mensen niet die mompelen of in dialect spreken.
Er zitten verschillende mensen in de kamer op verschillende schermen (competing noise).
Ik wil de anderen in de treinwagon niet storen en heb geen oortjes bij.
Ik kijk op laag volume omdat mijn kindje slaapt maar dan versta ik de dialogen niet meer.
Chips.
Richtlijn (EU) 2016/2102 van het Europees Parlement en de Raad van 26 oktober 2016 inzake de toegankelijkheid van de websites en mobiele applicaties van overheidsinstanties
Web Content Accessibility Guidelines
Meer details: Europese richtlijn: wie doet wat?
Na de bouw: iteratie van testen en aanpassen.
Tijdens de bouw:
Belangrijke aandachtspunten onderverdeeld in thema's
tab, shift+tab en entertoets
Alles wat met de muis kan, moet ook met het toetsenbord kunnen
Browserfocus nooit verwijderen:
:focus { outline: none }
Tenzij je eigen stijlen toevoegt
Interessant voor lange formulieren?
Omschrijf het doel van de link
Beschrijf beknopt wat er te zien is op de afbeelding
Herhaal de grafische tekst letterlijk in het alt-attribuut
Vermijd afbeeldingen van tekst
Het doel van de link krijgt voorrang op de beschrijving van de afbeelding
Beknopte alt-tekst en volwaardig alternatief
a.twitter:after {
content:url('icon_twitter.png');
}
Als ze informatie bevatten: verborgen tekst voorzien
Twitter
a.twitter:after {
content:url('icon_twitter.png');
}
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
Scalable Vector Graphics
Theorie maar onvoldoende support
<svg>
<title>beknopte omschrijving</title>
<description>uitgebreide omschrijving</description>
...
</svg>
Met ARIA, matige support
<svg role="img" aria-labelledby="title">
 <title id="title">AnySurfer logo</title>
 ...
</svg>
Bulletproof:
<img src="logo.svg" alt="logo AnySurfer" />
Voor een SVG in een link kan je verborgen tekst toevoegen:
<a href="index.html">
 <span class="visuallyhidden">AnySurfer startpagina</span>
<svg role="presentation" focusable="false">
 ...
 </svg>
</a>
Of een aria-label toevoegen, bijvoorbeeld op een button:
<button type="button" aria-label="AnySurfer startpagina">
 <svg role="presentation" focusable="false">
 ...
 </svg>
 </button>
Gebruik niet alleen kleur om informatie over te brengen.
body {
filter : grayscale(100%);
}
Gebruik tinten van dezelfde kleur ipv verschillende kleuren.
De inhoud moet bruikbaar zijn in landscape en portrait mode. Bijvoorbeeld een gebruiker die zijn toestel vast gemonteerd heeft op een rolstoel en niet kan wisselen.
Geen verlies van inhoud of functionaliteit en geen horizontaal scrollen op een breedte van 320 CSS pixels.
320 CSS pixels is equivalent to a starting viewport width of 1280 CSS pixels wide at 400% zoom.
Geen verlies van inhoud of functionaliteit bij aanpassing van witruimte:
aria-expanded
om status aan te geven<meta content="width=device-width;initial-scale=1.0;
maximum-scale=1.0; user-scalable=1;" name="viewport" />
<meta name="viewport" content="user-scalable=no" />
Moedig redacteurs aan om in webpagina's te publiceren in plaats van documenten
Ondertiteling voor doven en slechthorenden
Ondertitels automatisch synchroniseren met het beeld in YouTube
Tekstversie of audiodescriptie voor blinden en slechtzienden
"Do not design content in a way that is known to cause seizures."
waarschuw de gebruiker (bij deze!)
Waarschuwing met optie tot verlengen.
Laat geluid nooit automatisch starten.
Wat als de actie op het toetsenbord geen standaard reactie geeft?
Gebruik beschrijvende HTML-elementen:
Gebruik ze enkel waarvoor ze bedoeld zijn:
Veelgemaakte fouten:
Veelgemaakte fouten:
ul
afgesloten na elke li
li
Accessible Rich Internet Applications
Accessibility tree:
<div onClick="..." class="iLookLikeAButton">Search</div>
Accessibility tree:
<div id="tab2" role="tabpanel">
role="tabpanel"
vult de accessibility tree aan.<ul role="navigation">
role="navigation"
verandert de rol naar NavigatieBeter: <div id="nav" role="navigation"><ul>
Role toevoegen, volstaat niet.
Functionaliteit programmeren met Javascript.
<div onClick="..." class="iLookLikeAButton"
role="button">Search</div>
Let op: enkel knop in accessibility tree
Beter: <button>
<h2 role="presentation">Over ons</h2>
Wordt in accessibility tree:
<div>Over ons</div>
Maar het blijft er als een kop uitzien.
Plaats het op de link of knop! Niet op het blok.
<button class="main-menu-toggle" aria-expanded="false">
Menu</button>
<section id="breadcrumb" aria-label="U bent hier:">
<a href="/en" aria-label="Go to the English version of our website">English</a>
<div id="tabpanel2" role="tabpanel" aria-labelledby="tablist2">
Het ingevulde e-mailadres is ongeldig.
<ul role="list">
<div class="h2" role="heading" aria-level="2">
<article role="presentation">
<div role="checkbox" aria-checked="true">
<iframe name="google_ads" aria-hidden="true">
Vraag in FAQ met uitgeklapt antwoord:
<a data-toggle="collapse" href="#collapse01">
Vraag 1</a>
<div id="collapse01" class="panel-collapse"
aria-expanded="true">
<a href="https://twitter.com">
<i class="twitter_icon" aria-label="volg ons op Twitter"></i>
</a>
<label for="tel">Telefoonnummer:</label>
<input type="text" id="tel" aria-labelledby="nota" />
<p id="nota">Gebruik geen spaties, streepjes of punten</p>
Legend = label voor alle velden in de fieldset
<label for="name">Last name</label>
<input autocomplete="family-name" type="text" id="name" name="name" />
<label for="country">Country</label>
<input autocomplete="country" type="text" id="country" name="country" />
aria-expanded
om status aan te gevenComponenten die in elk project voorkomen?
Zet nooit een stap terug.
Aanpassingen achteraf kosten meer moeite,
meer tijd (=geld) en leiden vaak tot frustratie.
Bart Simons: bart@anysurfer.be
Gijs Veyfeyken: gijs@anysurfer.be
Telefoonnummer: 02 210 61 49
Twitter: @anysurfer
http://evaluations.anysurfer.be/nl
ID = 543