Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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 ⁨janvier 2020⁩.

Attention : Un exemple intégré en bas de cette page comporte un mouvement de mise à l'echelle qui peut être problématique pour certain·e·s lecteur·ice·s. Les personnes souffrant de troubles vestibulaires liés au mouvement peuvent activer la fonctionnalité de réduction des animations sur leur appareil avant de visualiser l'animation.

La caractéristique média CSS prefers-reduced-motion permet de détecter si un·e utilisateur·ice a activé un réglage sur son appareil pour minimiser la quantité de mouvements non essentiels. Ce réglage indique au navigateur que l'utilisateur·ice préfère une interface qui supprime, réduit ou remplace les animations basées sur le mouvement.

De telles animations peuvent provoquer un inconfort chez les personnes souffrant de troubles vestibulaires liés au mouvement (angl.). Les animations comme la mise à l'echelle ou le déplacement de grands objets peuvent déclencher ces troubles.

Syntaxe

no-preference

Indique qu'aucune préférence n'a été exprimée sur l'appareil. Cette valeur-clé est évaluée à faux.

reduce

Indique que l'utilisateur·ice a activé le réglage de réduction des animations sur son appareil. La valeur-clé reduce est évaluée à vrai ; ainsi, @media (prefers-reduced-motion) est équivalent à @media (prefers-reduced-motion: reduce).

Préférences utilisateurs

Pour Firefox, la demande reduce est prise en compte si :

  • Sous GTK/GNOME : Paramètres > Accessibilité > Vue > Réduction des animations activée.
    • Dans les anciennes versions de GNOME : Outils GNOME > onglet Général (ou Apparence selon la version) > Animations désactivées.
    • Ou bien, ajouter gtk-enable-animations = false dans le bloc [Settings] du fichier de configuration GTK 3 (angl.).
  • Sous Plasma/KDE : Paramètres système > Comportement de l'espace de travail > Comportement général > « Vitesse d'animation » réglée complètement à droite sur « Instantané ».
  • Sous Windows 10 : Paramètres > Options d'ergonomie > Affichage > Afficher les animations dans Windows.
  • Sous Windows 11 : Paramètres > Accessibilité > Effets visuels > Effets d'animation.
  • Sous macOS : Préférences Système > Accessibilité > Affichage > Réduire les animations.
  • Sous iOS : Réglages > Accessibilité > Mouvement.
  • Sous Android 9+ : Paramètres > Accessibilité > Supprimer les animations.
  • Dans Firefox about:config : Ajouter une préférence numérique nommée ui.prefersReducedMotion et définir sa valeur à 0 pour les animations complètes ou à 1 pour indiquer une préférence pour la réduction des animations. Les modifications prennent effet immédiatement.

Exemples

Cet exemple utilise une animation de mise à l'echelle pour illustrer prefers-reduced-motion. Si vous activez la réduction des animations dans les préférences d'accessibilité de votre appareil, la requête média prefers-reduced-motion détectera votre préférence et le CSS contenu dans la règle de réduction des animations, ayant la même spécificité mais apparaissant plus tard dans l'ordre des sources CSS, prendra le dessus. Ainsi, l'animation de la boîte sera atténuée pour utiliser l'animation dissolve, plus douce et non déclenchante pour les troubles vestibulaires.

Atténuer l'animation de mise à l'echelle

HTML

html
<div class="animation">animated box</div>

CSS

css
.animation {
  animation: pulse 1s linear infinite both;
  background-color: purple;
}

/* Atténuer l'animation pour éviter les déclencheurs vestibulaires. */
@media (prefers-reduced-motion: reduce) {
  .animation {
    animation: dissolve 4s linear infinite both;
    background-color: green;
    text-decoration: overline;
  }
}

Résultat

Vous pouvez activer la réduction des animations sur votre appareil pour observer le changement d'animation. Cet exemple utilise la couleur de fond et la ligne au-dessus du texte pour mettre en évidence le passage d'une animation à l'autre selon que la préférence est activée ou non.

Spécifications

Specification
Media Queries Level 5
# prefers-reduced-motion

Compatibilité des navigateurs

Voir aussi