Animotion Studio Logo Animotion Studio

Animaties en Toegankelijkheid: Prefers-Reduced-Motion

Respecteer gebruikersvoorkeuren voor gereduceerde beweging. Hoe je CSS media queries gebruikt om animaties aan te passen voor iedereen.

10 min leestijd Beginner April 2026
Keyboard toets en muis cursor illustreren prefers-reduced-motion accessible design implementatie
Marijn van der Meer
Senior Frontend Designer & Animation Specialist

Senior Frontend Designer gespecialiseerd in prestatie-gerichte UI-animaties en microinteracties met 12 jaar ervaring in Nederlandse webprojecten.

Waarom Prefers-Reduced-Motion Belangrijk Is

Animaties maken websites voelen levendig en modern. Ze geven feedback, tonen laadstatus, en creëren moment van delight. Maar niet iedereen ervaart beweging op dezelfde manier.

Sommige gebruikers — vooral mensen met vestibulaire aandoeningen, neurologische aandoeningen, of migraine — kunnen fysiek onwel worden van snelle bewegingen. Voor hen is prefers-reduced-motion niet alleen een voorkeur, het’s een medische noodzaak.

Het goede nieuws? Je hoeft je animaties niet helemaal weg te halen. Je hoeft ze alleen aan te passen. Dit artikel laat je zien hoe je dat doet — met CSS, zonder ingewikkelde JavaScript.

Computer scherm met accessibility instellingen menu geopend, toont prefers-reduced-motion optie

De @prefers-reduced-motion Media Query

CSS heeft sinds 2019 een ingebouwde manier om naar gebruikersvoorkeuren te luisteren: de prefers-reduced-motion media query. Dit is precies wat het klinkt — het checkt of een gebruiker beweging heeft gereduceerd in hun besturingssysteem instellingen.

Je kan dit instellen op Windows (Ease of Access), macOS (System Preferences), iOS (Accessibility), en Android (Accessibility Settings). Zodra iemand het inschakelt, stuurt hun browser een signaal naar jouw website.

Basis syntax:

@media (prefers-reduced-motion: reduce) { }

Wanneer je dit schrijft, zeg je eigenlijk: “Als de gebruiker gereduceerde beweging wil, pas deze stijlen toe.” Je hoeft niet wachten op JavaScript. Je hoeft geen detectie. Het gebeurt automatisch.

Code editor met CSS media query @prefers-reduced-motion regel zichtbaar, syntax highlighting, clean workspace
Twee telefoon schermen naast elkaar: links normale animatie, rechts gereduceerde beweging versie

Animaties Aanpassen: Praktische Voorbeelden

Laten we concreet worden. Je hebt waarschijnlijk animaties op buttons, fade-in effecten, of laadstatus spinners. Hoe pas je deze aan?

Het eenvoudigste approach: verwijder je transition of animation wanneer prefers-reduced-motion actief is. In plaats van een knop die 300ms over de achtergrondkleur glijd, verandert het gewoon direct.

Voorbeeld 1: Button met normale transition

.button { transition: background-color 0.3s ease; }

.button:hover { background-color: teal; }

Met prefers-reduced-motion:

@media (prefers-reduced-motion: reduce) {

.button { transition: none; }

}

Nu verandert de knop meteen van kleur zonder glijd-effect. Het voelt nog steeds responsief — gewoon minder beweging.

Spinners, Fade-Ins, en Laadstatus

De echte test is met meer complexe animaties. Laadstatus spinners draaien continu. Modals faden in. Elementen schuiven van links naar rechts. Dit zijn allemaal animaties waar je voorzichtig mee moet omgaan.

Voor een draaiende spinner — maak hem gewoon statisch. Het’s nog steeds zichtbaar, nog steeds duidelijk dat er iets laadt. Je hoeft geen geavanceerde vervanger. Gewoon: stop de rotation.

Pro Tip

Verwijder niet alle visuele feedback. Een statische spinner ziet er nutteloos uit. Zorg dat gebruikers met gereduceerde beweging nog steeds begrijpen wat er gebeurt — via kleur, iconen, of tekst.

Voor fade-in effecten, kan je ofwel opacity direct naar 1 zetten (geen fade), of een zeer snelle fade (100ms in plaats van 600ms) gebruiken. Beide opties werken.

Loading spinner animatie, vier stadia van rotatie weergegeven, met gereduceerde versie ernaast

Implementatie Best Practices

Dit is hoe je het echt doet — stap voor stap aanpak

1

Test Je Instellingen

Ga naar je besturingssysteem instellingen en zet prefers-reduced-motion aan. Herlaad je website. Zie je de animaties verdwijnen? Prima, het werkt.

2

Begin Met Transitions

Zet eerst je CSS transitions op none. Dit is 80% van het werk. Daarna check je keyframe animations — die zijn meestal complexer.

3

Behoud Feedback

Gebruikers moeten nog steeds weten wanneer ze iets doen. Een knop moet zich nog steeds anders voelen wanneer je erop klikt. Gebruik kleurverandering in plaats van beweging.

4

Check Alle Elementen

Je hebt waarschijnlijk animaties op meer plekken dan je denkt. Hover states, focus states, laadstatus, modals, tooltips. Ga alles af.

5

Niet Alleen Animaties

Prefers-reduced-motion kan ook autoplay video’s, moving backgrounds, en parallax effecten betreffen. Zet die uit of maak ze statisch.

6

Blijf Responsief

Gereduceerde beweging betekent niet gereduceerde feedback. Knoppen moeten zich nog steeds voelen als knoppen. Zorg ervoor dat je interface nog steeds interactief aanvoelt.

Geavanceerde Patronen

Je kan voorbij het basispatroon gaan. In plaats van animaties compleet uit te schakelen, kan je ze aanpassen — sneller, subtiel, of anders.

Sommige ontwerpers gebruiken snellere transities (200ms in plaats van 500ms) voor gebruikers met gereduceerde beweging. Dit voelt nog steeds responsief maar is minder overweldigend. Anderen kiezen voor opacity-veranderingen in plaats van beweging — de elementen verschijnen/verdwijnen in plaats van te schuiven.

Voorbeeld: Snellere transition in plaats van uitschakelen

.modal { transition: opacity 0.6s ease; }

@media (prefers-reduced-motion: reduce) {

.modal { transition: opacity 0.15s ease; }

}

Dit geeft je de beste van beide werelden. Gebruikers die animaties willen zien, krijgen een vloeiende 600ms fade. Gebruikers met gereduceerde beweging krijgen een snelle 150ms verandering — nog steeds zichtbaar, nog steeds responsief, maar niet overweldigend.

Grafiek toont twee tijdlijnen: normale animatie van 600ms en gereduceerde versie van 150ms

Waarom Dit Ertoe Doet

Je hebt waarschijnlijk veel tijd gestoken in het perfectioneren van je animaties. Dat werk hoeft niet weg. Het’s niet alles-of-niets — het’s aanpassing.

Prefers-reduced-motion respecteren betekent dat je zegt: “Jouw ervaring is belangrijk. Ik zal je website aanpassen aan wat jij nodig hebt.” Dat’s goed design. Dat’s inclusief design.

En technisch? Het’s triviaal om toe te voegen. Een paar regels CSS. Geen JavaScript. Geen complexe logica. Alleen: checken wat de gebruiker wil, en aanpassen.

Klaar om aan de slag te gaan?

Test je animaties vandaag nog met prefers-reduced-motion ingeschakeld. Je zal waarschijnlijk ontdekken dat je al halverwege bent.

Lees onze gids over CSS Transities

Disclaimer

Dit artikel is informatief materiaal over CSS media queries en accessibility best practices. De informatie hier is gebaseerd op WCAG 2.1 richtlijnen en CSS standaarden. Implementatie details kunnen variëren afhankelijk van je specifieke project en gebruikersbehoeften. Voor medische vragen over vestibulaire aandoeningen of bewegingsgevoeligheid, raadpleeg altijd een gezondheidsprofessional. Dit artikel geeft geen medisch advies.