Door Tweakers Partners

Dev Summit: CSS voor inclusiviteit, zo maak je je websites toegankelijker

11-10-2024 • 08:00

47

Toegankelijkheid op het web wordt steeds belangrijker, zeker naarmate meer bedrijven hun diensten volledig online aanbieden. Ramona Domen, software-engineer bij Team Rockstars IT en gespecialiseerd in het toegankelijk maken van websites via HTML en CSS, is spreker op Dev Summit, waar ze de talk 'Level Up Accessibility met CSS' zal geven. Tweakers Partners spreekt met haar.

“Team Rockstars IT is een IT-club met veel slimme mensen die bedrijven door het hele land helpen”, aldus Ramona. “We werken voor grote bedrijven zoals Ziggo en KPN, maar ook voor kleinere organisaties. We zetten onze expertise in op verschillende gebieden, van softwareontwikkeling tot agile-transformaties. Ik ben software-engineer en ook scrum master, maar mijn specialisatie ligt vooral in toegankelijkheid, oftewel accessibility. Momenteel help ik om de eigen website van Rockstars zelf toegankelijker te maken. We prediken dat accessibility belangrijk is, dus we moeten zelf natuurlijk het goede voorbeeld geven.”

Het gebruik van screenreaders

Accessibility wordt vaak geassocieerd met grote lettertypen en het gebruik van screenreaders. Een screenreader is een hulpmiddel dat voornamelijk wordt gebruikt door mensen die een visuele beperking hebben. Hij zet de tekst op een scherm om in gesynthetiseerde spraak- of braille-output, zodat gebruikers software, websites en digitale interfaces kunnen gebruiken, en erop kunnen navigeren. Een screenreader werkt op systeemniveau en integreert met toegankelijkheidsfuncties zoals ARIA (Accessible Rich Internet Applications) in webinhoud. Hij leest de structuur van HTML, CSS en interactieve elementen en geeft informatie over koppen, links, formulierbesturingselementen en andere dynamische inhoud. Bekende screenreaders zijn JAWS (Job Access With Speech), NVDA (NonVisual Desktop Access) en VoiceOver (voor macOS en iOS).

Kleine CSS-aanpassing, groot verschil

Toch komt er meer kijken bij ‘accessibility’. Ramona: “Toegankelijkheid gaat verder dan alleen grote letters of screenreaders. Denk bijvoorbeeld aan contrast; mensen die kleurenblind zijn, moeten ook goed kunnen zien wat er op een website gebeurt. Ook moet alles via het toetsenbord bereikbaar zijn, en de volgorde van de elementen moet logisch zijn. Vaak kun je met de tab-knop door een website navigeren, maar als de volgorde niet klopt, raakt een gebruiker de weg kwijt. Bovendien moeten applicaties tegenwoordig zowel op de computer als op mobiele apparaten werken. De knoppen moeten dus groot genoeg zijn om ook met een vinger aan te tikken.”

Ramona’s talk heeft als titel ‘Level Up Accessibility met CSS’. Hierin deelt ze een aantal concrete voorbeelden van hoe men bepaalde toegankelijkheidsproblemen kan oplossen met CSS. Ze gaat op de Developers Summit 2024 in op verschillende doelgroepen en laat zien hoe je met relatief simpele CSS-aanpassingen een groot verschil kunt maken. “We gaan ook kijken naar hoe goed moderne browsers deze aanpassingen ondersteunen. Uiteindelijk wil ik laten zien hoe je je code zo efficiënt en toegankelijk mogelijk kunt maken”, aldus Ramona. “Ik behandel een vijftal praktische voorbeelden waarbij we kijken naar de doelgroep, hoe groot de impact is, en welke oplossingen we met CSS kunnen bedenken. We duiken zelfs even de code in, om live te laten zien hoe een kleine CSS-aanpassing een groot verschil kan maken.”

“CSS wordt veel gebruikt voor de styling van websites”, vervolgt ze. “In de frontend, dus wat je ziet en waarmee je interactie hebt, werk je vaak met drie lagen: HTML, CSS en JavaScript. HTML is de basisstructuur, CSS zorgt voor de opmaak en styling, en JavaScript voegt logica en interactiviteit toe. Omdat JavaScript vaak zwaarder is en de toegankelijkheid kan beïnvloeden, probeer je zoveel mogelijk problemen op te lossen met HTML en CSS. CSS is lichter, en vriendelijker voor screenreaders.”

Dela en NS: verschillende doelgroepen, verschillende aanpassingen

Wanneer Ramona aan toegankelijkheid werkt, heeft ze steeds een ander plan van aanpak. Ze kan immers niet iedereen tevreden houden. Hoe komt ze tot die keuzes?

Ramona: “Je kunt nooit iedereen volledig tevreden stellen. Een voorbeeld dat ik vaak gebruik, is dat wij bij ons bedrijf genderneutrale toiletten hebben geïntroduceerd. Op het eerste gezicht lijkt dit heel toegankelijk; iedereen kan elke wc gebruiken, de wachtrijen worden korter en iedereen heeft toegang tot dezelfde faciliteiten. Maar voor een klein deel van onze populatie wordt het juist minder toegankelijk. Bijvoorbeeld moslima’s met een hoofddoek, die zich in een vrouwentoilet comfortabel zouden voelen om hun hoofddoek even af te kunnen doen en hun haar te fatsoeneren. Dat kunnen ze nu niet meer doen, omdat er mannen in dezelfde ruimte kunnen zijn. Dus terwijl we het voor een groot deel van de mensen toegankelijker maken, wordt het voor een kleine groep minder toegankelijk.”

“Dit geldt ook voor websites. Je kunt ze nooit voor iedereen 100 procent toegankelijk maken, omdat er altijd een nichegroep is die net andere wensen of eisen heeft. Soms zou je kunnen zeggen: maak twee applicaties die naast elkaar draaien, maar de meeste bedrijven hebben daar gewoon geen budget voor. Wat je uiteindelijk wilt doen, is je richten op je doelgroep. Denk na over wie je gebruikers zijn en wat ze nodig hebben.”

Ramona Domen

“Tegenwoordig kunnen we gelukkig vrij goed analyseren, dankzij alle data en analytics die we tot onze beschikking hebben. We weten veel over de gebruikers; hun leeftijd, geslacht, waar ze wonen, enzovoort. Op basis daarvan stellen we profielen op en bepalen we wat hun behoeften zijn. Zo kun je prioriteiten stellen en keuzes maken. Bij mijn laatste project voor uitvaartverzekeraar Dela was de gemiddelde leeftijd van de gebruikers bijvoorbeeld vrij hoog. Dus voor die doelgroep is het belangrijk dat de tekst op de pagina goed leesbaar blijft, zelfs als iemand tot tweehonderd keer inzoomt. Ook moeten we rekening houden met het feit dat de cognitieve vaardigheden van mensen iets achteruitgaan als ze ouder worden. Daarom is het belangrijk om eenvoudige taal en duidelijke, korte zinnen te gebruiken. Een heel andere insteek heeft bijvoorbeeld de NS-app, waarvoor heel veel mensen hun telefoon gebruiken terwijl ze onderweg zijn. Voor hen is het belangrijk dat de app voldoende contrast heeft, zodat ze ook onder fel zonlicht alles goed kunnen zien. Het gaat erom dat je echt vanuit de gebruiker denkt en de website of app daarop afstemt.”

Goede voorbeelden van toegankelijke websites

Als wordt gekeken naar bekende websites van grote Nederlandse bedrijven, banken, nieuwsmedia, ziekenhuizen, enzovoort, welke zou Ramona dan aanwijzen als goede voorbeelden van hoe toegankelijkheid moet zijn geregeld?

Ramona: “Een aantal voorbeelden die ik graag noem, zijn de net genoemde NS-app, en de sites van Coolblue en BasicFit.”

“Wat goed is aan de NS-app, is dat hij een dark en light mode heeft, wat fijn is voor gebruikers die moeite hebben met fel licht of juist liever donkere achtergronden gebruiken. Ook heeft de app pop-ups die de opties uitleggen, wat heel handig is voor mensen die een screenreader gebruiken. De app hanteert eenvoudig taalgebruik op B1-niveau, zodat de teksten voor een breed publiek toegankelijk zijn. Daarnaast zijn de knoppen in de app groot genoeg om makkelijk met je vingers te bedienen, zelfs als je wat grotere ‘mannenduimen’ hebt, zoals mijn vader.”

“Coolblue heeft zijn alt-tekst goed op orde” vervolgt Ramona. “Dat betekent dat screenreaders gemakkelijk door de pagina’s kunnen navigeren en de juiste informatie oppikken. Ook de volgorde van de elementen is goed gestructureerd, zodat alles logisch en intuïtief aanvoelt voor de gebruiker. Daarnaast heeft Coolblue gekozen voor een sterk contrast in zijn huisstijl, wat helpt voor mensen met visuele beperkingen, zoals kleurblindheid. Dat maakt deze website een plezier om op te navigeren.”

“BasicFit heb ik uit nieuwsgierigheid onderzocht. Met een aantal collega’s heb ik de website ervan bekeken, en daarbij bleek dat dit bedrijf het al behoorlijk goed voor elkaar heeft. We hebben de site getest met verschillende simulaties, zoals hoe hij eruitziet voor iemand die kleurenblind is en hoe hij presteert onder fel zonlicht. Alles zag er goed uit, en ook de alt-tekst en contrasten zijn prima in orde.”

Hierom ‘moet’ je naar de talk van Ramona gaan

De hamvraag is natuurlijk waarom Dev Summit 2024-bezoekers de talk van Ramona zouden moeten volgen.

“Wat ik het allerleukste vind, is het bijhouden van de nieuwste ontwikkelingen in CSS. Er zijn tegenwoordig zaken die traditioneel in JavaScript werden opgelost, maar die je nu ook met CSS kunt oppakken. Ik ga een paar van die voorbeelden laten zien, zodat je JavaScript niet meer hoeft te gebruiken, wat je website lichter en toegankelijker maakt.”

“Een ander onderwerp waar ik erg enthousiast over ben, is een relatief nieuwe manier om kleuren natuurgetrouwer weer te geven, zoals wij ze in het echte leven zien. Dit helpt bijvoorbeeld in situaties waarbij de kleuren die je op een scherm ziet niet overeenkomen met de werkelijke kleuren. Denk aan het online shoppen van schoenen: je kiest een kleur, maar die ziet er op het scherm net anders uit dan in het echt. De nieuwe kleurenmethode zorgt voor een veel nauwkeurigere weergave en houdt de helderheid consistent, ongeacht de kleur. Dit heeft ook grote voordelen voor de toegankelijkheid voor mensen met een visuele beperking zoals kleurblindheid, omdat het contrast en de kleurperceptie sterk verbeteren.”

“Hoewel ik het niet in detail zal bespreken tijdens mijn talk, wil ik toch AI ook noemen. AI-tools kunnen enorm helpen bij het implementeren van toegankelijkheid. Stel dat je als developer nog nooit iets met accessibility hebt gedaan; dan kan AI je helpen door je de juiste richtlijnen te geven en voorbeelden te tonen. Ik gebruik AI zelf ook vaak om nieuwe dingen te leren. Dus als je je onzeker voelt over accessibility, kom dan vooral langs om mijn talk te volgen. Ik laat zien hoe je op een eenvoudige manier kunt beginnen.”

Koop nu je tickets voor de Developers Summit

De kaartverkoop voor hét evenement van het jaar dat developers in het zonnetje zet, is van start gegaan. Tickets zijn verkrijgbaar voor 299 euro (plus 1,99 euro servicekosten) of als ‘3 halen, 2 betalen’-deal. Mocht jouw werkgever de tickets betalen, dan krijg je uiteraard een factuur voor de administratie bijgevoegd. Persoonlijke gegevens worden niet gedeeld met partners.

Meer infot button

Kijk hier voor het privacybeleid van Tweakers.

Ben je student? Mail ons dan via concepts@tweakers.net, zodat je een ticket kan kopen voor een gereduceerd tarief van 75 euro.

Dev Summit partnerblok

Reacties (47)

47
46
33
0
0
7
Wijzig sortering
Moet dit niet een .ad zijn?

Wordt er bovendien niet erg vrolijk van om als abonnee een advertentie te zien, hoezeer het ook is vermomd als een (slecht) artikel.

[Reactie gewijzigd door Verwijderd op 11 oktober 2024 08:25]

eens, het artikel leek erop dat Tweakers zelfs de CSS gaat aanpassen op hun website, zoals je verwacht bij een .Plan.
Inderdaad, dat was ook het eerste dat ik dacht. Dit is gewoon een advertentie.
Heeft tweakers promoties voor eigen producten en diensten wel eerder als .ad aangemerkt dan? Want dat is dit eigenlijk.
Lekker een glaasje azijn genomen bij je ontbijt vanochtend?
Niet om het een of ander, maar...
Ik ben zelf front-end ontwikkelaar, en dingen zoals alt-text, hoog contrast, light-dark mode, knoppen die groot genoeg zijn... dat hoort iedereen toch te weten?

CSS gebruiken ipv Javascript? Dat is toch altijd al zo geweest?
Kleurenblindheid? Boeiend! Ik ben zelf deels kleurenblind. Zo lang de tekst goed leesbaar is, en je niet afhankelijk bent waarbij de gebruiker onderscheid moet maken tussen kleuren (dat is gewoon een slecht ontwerp).

Dat zijn gewoon de basics voor UI/UX design.

Ik vraag me daarom af voor wie deze 'talk' bedoeld is. Voor schoolverlaters? Die hebben geen 300 euro te besteden. Voor front-end developers: ik denk niet dat die hier veel van leren. Voor managers misschien? Die kunnen ideeën opdoen, en deze bij hun front-end developers neerleggen. Die doen er vervolgens niks mee omdat dit er allang in verwerkt zit.
Dit zal vooral gaan om de nieuwe features in CSS waarbij je afhankelijk van de voorkeuren van de gebruiker, andere kleuren gebruiken voor kleurenblindheid, grotere teksten voor slecht zicht, minder bewegingen voor meer rust, darkmode ipv light en zo meer. Het is nog wel wat beperkt wat je kunt doen, maar er zijn de afgelopen jaren best veel stappen genomen om dit toe te passen. Zoals je vroeger ook aparte CSS regels had voor de print-weergave van je pagina, heb je nu ook user preferences om diverse zaken aan te passen voor wie dat wil of nodig heeft.
Ik ben zelf front-end ontwikkelaar, en dingen zoals alt-text, hoog contrast, light-dark mode, knoppen die groot genoeg zijn... dat hoort iedereen toch te weten?
Ja, eigenlijk wel. Maar weten en doen, dat komt niet altijd overeen. Kijk maar eens naar Tweakers en hoe lang het duurde voordat een dark-mode variant er (native) was...dat ging niet zonder slag of stoot. En de contrast, kijk maar eens naar dat aanmeld-formulier in dit artikel ironisch genoeg; onderaan "CM.com" -> eigenlijk niet leesbaar door een brakke kleur-keuze.

Blijkbaar is het geen gegeven dat het altijd goed gaat :)

Of deze insteek puur gefocust op CSS (en AI?) zoveel toevoegt weet ik niet. Tegenwoordig heb je ook best veel tools om native apps + web apps te maken op basis van een enkele code-base waar je eigenlijk niet meer in aanraking komt met HTML/CSS, dus voor die groep is dit allemaal niet zo gek relevant.

Maar een beetje awareness creëren of anders dit opfrissen, dat kan nooit kwaad.
Persoonlijk ben ik er niet zo van overtuigd. Begrijp me niet verkeerd, ik vind dat de toegankelijkheid van producten en diensten zeker belangrijk is. Maar ik zie veel meer mogelijkheden op browser-niveau. De verantwoordelijkheid zou daar veel meer bij die partijen moeten liggen. Momenteel zijn speciale tools voor toegankelijkheid nog sterk afhankelijk van specifieke codering binnen de frontend van een website. Dat vind ik, net als bij de cookie-wet, nogal ridicuul. Het zou veel beter zijn om de verantwoordelijkheid bij een partij als Google te leggen. Zij kunnen belangrijke functies in hun browser-stack inbouwen om dergelijke functionaliteiten veel beter te ondersteunen.
Ehm in de basis kan de browser al vrij veel qua accessibility. Wat je juist veel ziet is alleen dat er dan via css danwel javascript gebruik veel standaard ondersteuning weer gesloopt wordt. Maar die functionaliteiten dan maar uit css/javascript halen is ook geen optie omdat je het in bepaalde gevallen wel nodig hebt.

Bijv, px ondersteuning maar weghalen voor alles behalve base fontsizes of browsers het laten negeren? px Is namelijk niet bepaald schaalbaar, of zullen we maar gewoon het gebruik van em en/of rem promoten zodat fonts, margins, padding etc. relatief worden en daarmee goed kunnen schalen?

edit: link met meer uitleg inclusief interactieve voorbeelden: https://www.joshwcomeau.c...pixels-and-accessibility/

[Reactie gewijzigd door DdeM op 11 oktober 2024 11:57]

mijn websites gebruiken px voor font en als je zoomt schaalt de font gewoon mee.
Oke zal het even wat beter specificeren, px afschaffen voor alles behalve font.
Als je dat doet, breek je heel veel websites voor altijd - ze zullen hun css echt niet aanpassen. En dan is jouw browser “die ene die 60% van de websites verkeerd rendert”. Geen kans.
Het was het voorbeeld van wat je juist niet moet doen O-)

Maar over het algemeen is het voor moderne websites wel het advies om em en rem te gebruiken ipv px omdat deze relatief zijn tov het base fontsize, wat default 16px is. Als jij, of een accessibility tool in de browser dit dan aanpast dan schaalt alles naar verhouding goed mee ipv dat je de zoom functie moet gebruiken die, als alles px is, minder goed werkt omdat dingen dan niet perse relatief aan elkaar schalen. Dat is ook bijna niet te fixen op browser niveau.
Hier zit dus weer de crux. Apple met Safari lost het heel slim op door een hele andere benadering van zoom te hanteren wat helemaal los staat van hoe jij je website hebt gebouwd. Het werkt net als Pinch to Zoom op je iPhone min of meer.

Waarom moet je hier developers mee lastig vallen als je dit op browserniveau prima zou kunnen oplossen?
Wat safari doet is em berekenen als 16px * zoomlevel, ipv 16px... Dat is zeer waarschijnlijk een bug omdat dat betekend dat wanneer je een pagina refreshed Safari de value van em anders berekend. Zou dat nou niet bepaald slim willen noemen.
We want to respect the user's font preferences in general, but full-page using pixel values in media queries leads to better results, due to a bug in the second-most-common web browser
https://cgamesplay.com/po...sing-em-in-media-queries/
Ik gebruik al enkele jaren rem voor fonts, maar heb een root font size ingesteld van 10px waardoor 1.6rem gelijk stond aan 16px. Dat rekende wel makkelijk :)
Onlangs toch even verdiept in waarom alles rem is geworden en uiteindelijk de overstap begonnen van px naar rem. (Met tegenzin) Erg aan moeten wennen want rem voelt als een iets onmeetbaars. En nu na een paar projecten verder vind ik het nog steeds mega irritant 😅 In figma zie je nog steeds vaak px staan. Dat moet dan weer gedeeld worden door 16 en dan krijg je een lastig/onhandig decimaal getal.
Als je niet zoomt met de browser maar met de schaling van je besturingssysteem, blijven de pixel afmetingen gewoon werken. Als je vaak moet zoomen, moet je de schaling gewoon aanpassen. Ik ben inmiddels ook bijna 40 en heb de schaling ook gewoon aangepast omdat ik dat fijner vind voor mijn ogen. Plus je ogen danken je op latere leeftijd ook weer

[Reactie gewijzigd door Martinspire op 11 oktober 2024 11:26]

Er zit wel echt een verschil in. In de meeste gevalllen passen tooling bijvoorbeeld het default fontsize aan, als jij dan overal px gebruikt schaalt het niet. em/rem is tegenwoordig gewoon echt 100% de aanbeveling voor veruit de meeste sizes.
Gemiste kans om de CSS'en die de toegankelijkheid van Tweakers.net verbeteren te promoten...
Inderdaad, al die whitespace, ugh! Ik moet 3 kilometer naar beneden scrollen, maar intussen is 2/3e van m'n scherm helemaal leeg.
Ik snap die whitespace haat niet en ik ben denk ik in de minderheid hier, maar ik vind het wel prettig dat er wat afstand tussen de afzonderlijke elementen zit. Het oogt anders zo onrustig en opgepropt.
Veel whitespace, is veel gegeven kritiek op de website, het is echt een rode draad door de jaren heen. Ook in de Pricewatch bijvoorbeeld wordt ook steeds meer whitespace geïntroduceerd, wat de bruikbaarheid echt ontzettend minder maakt en (vooral) mobiele devices lijken de dupe te worden, al wordt de leesbaarheid op desktop ook niet veel beter. Kijk voor de grap eens in forumtopic: Meer producten in één oogopslag bijvoorbeeld. ;)

Ook tussen deze comments zit de nodige (verticale) whitespace, wat mijns inziens ook wel de helft minder kan. Dan blijft het net zo leesbaar e.d, maar neemt het wel veel minder ruimte in beslag en passen er meer comments op een pagina. Ik weet dat er custom CSS is, maar dat is een lapmiddel voor heel veel problemen op de website.

[Reactie gewijzigd door CH4OS op 11 oktober 2024 11:19]

typisch kwestie van smaak. ik heb er geen problemen mee
Is het 'whitespace' of gewoon open ruimtes waar normaal de advertenties staan die je niet ziet door een adblocker? :Y)

Als een website voorgedefinieerde ruimte heeft ingebouwd om advertenties te laten zien lijkt mij niet dat een adblocker zo 'inclusief' is om die ruimte dan maar op te vullen door de CSS zodanig aan passen dat de website wel in de volle breedte benut wordt?
En zelfs als je abonnee zou zijn waardoor je ze op meer legitieme wijze niet te zien krijgt lijkt het mij niet dat de devs voor die specifieke situaties je een andere website gaan voorschotelen.

[Reactie gewijzigd door BLACKfm op 11 oktober 2024 14:43]

Fijn dat accessibility ook een onderwerp is bij de Dev Summit!

Voor wie het nog niet weet, vanaf 28 juni 2025 moeten een grote groep producten en diensten toegankelijk zijn wegens de Europese Toegankelijkheidsakte.
Gelukkig zit er een mooie uitzonderingsclausule op:

Er geldt nog een uitzondering voor ondernemers: zij hoeven hun dienst of product niet aan te passen als dat dan te veel verandert. Of als de kosten voor het toegankelijk maken te hoog zijn als je kijkt naar de voordelen.
Hier ben ik idd benieuwd naar. Wat als je een gespecialiseerde webapplicatie aanbiedt als bedrijf?
B2B is ook uitgezonderd.
En onder 2 miljoen omzet / 10 medewerkers.

Maar grotere clubs zoals banken, transport (NS, KLM, etc.), e-commerce (Bol, Coolblue, etc.) zullen moeten gaan voldoen.
Anoniem: 2158854 11 oktober 2024 11:04
Helemaal voor om voor inclusie het e.a. mee te nemen in je content.
Echter is het helaas een trend geworden waarbij ondertiteling embedded in video's is. Storend vind ik.
Hoop dat men daar nog eens van terugkomt en het als optie gaat aanbieden, waarbij je op basis van voorkeuren dan kunt instellen of het standaard wel/niet getoond wordt.
Als slechthorende ben ik enorm blij met deze trend. Ik zou wel willen dat de ondertiteling er mooier uit ziet (zo'n zwart blok is niet mooi, net als die dikke lijnen), maar veel browsers staan niet toe dat ik de styling aanpas naar bv 2 schaduwen.
Super interessant, maar 300 euro voor een ticket is dan weer niet zo toegankelijk voor mij :+
Zoals de tekst al zegt, je hebt altijd een kleine groep mensen die je er niet mee helpt ;).
Ik dacht 'leuk een .plan' maar dit is gewoon een advertentie..
Heeft iemand nog tips voor de AI-tools om helpen?
... dan kan AI je helpen door je de juiste richtlijnen te geven ...
Vertrouwen op AI om juiste informatie te geven, zou ik niet doen:)

Verder wel interessante materie, en goed dat hier aandacht voor is.

Op dit item kan niet meer gereageerd worden.