prefers-reduced-motion
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
La requêtes média CSS prefers-reduced-motion
détecte si l'utilisateur a demandé au système de minimiser la quantité d'animation ou de mouvement.
Attention : Un exemple intégré au bas de cette page comporte un mouvement d'échelle qui peut poser problème à certains lecteurs. Les lecteurs souffrant de troubles du mouvement vestibulaire peuvent souhaiter activer la fonction de réduction du mouvement sur leur appareil avant de visionner l'animation.
Syntaxe
no-preference
-
Cette valeur indique que l'utilisateur n'a rien indiqué au système.
reduce
-
Cette valeur indique que l'utilisateur souhaite utiliser une interface qui minimise la quantité d'animation, au point où tout mouvement qui n'est pas essentiel a été retiré.
Gestion des préférences
Dans Firefox, la valeur reduce
est utilisée par le moteur selon des conditions provenant du système d'exploitation/environnement de bureau :
- Pour GTK/Gnome, si
gtk-enable-animation
vautfalse
. Cela peut être configuré par le menu « Ajustements » de Gnome. - Pour Windows 10 : Paramètres > Options d'ergonomie > Vision > Afficher > Afficher les animations dans windows
- Pour macOS : Préférences système > Accessibilité > Affichage > Réduire les animations.
- Dans iOS : Paramètres > ; Général > ; Accessibilité > ; Réduire les animations.
- Dans Android 9+ : Paramètres > ; Accessibilité > ; Supprimer les animations.
- Dans la page
about:config
de Firefox : Ajoutez une préférence numérique appeléeui.prefersReducedMotion
et définissez sa valeur soit à0
pour des animations complètes, soit à1
pour indiquer une préférence pour des mouvements réduits. Les modifications apportées à cette préférence prennent effet immédiatement.
Exemple
Cet exemple possède une animation désagréable qui sera exécutée à moins d'activer la réduction de mouvement dans les préférences relatives à l'accessibilité.
HTML
<div class="animation">boîte animée</div>
CSS
.animation {
animation: vibrate 0.3s linear infinite both;
}
@media (prefers-reduced-motion: reduce) {
.animation {
animation: none;
}
}
Résultat
Spécifications
Specification |
---|
Media Queries Level 5 # prefers-reduced-motion |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- Une introduction aux requêtes média pour la réduction de mouvement
- Responsive Design for Motion (WebKit Blog) comprend des exemples de déclencheurs de mouvements vestibulaires.