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 Januar 2020.
Warnung: Ein eingebettetes Beispiel am Ende dieser Seite enthält eine skalierende Bewegung, die für einige Leser problematisch sein kann. Leser mit vestibulären Bewegungsstörungen sollten die Bewegungsreduktion auf ihrem Gerät aktivieren, bevor sie die Animation ansehen.
Das prefers-reduced-motion
CSS Medienfeature wird verwendet, um zu erkennen, ob ein Benutzer auf seinem Gerät eine Einstellung aktiviert hat, die die Menge nicht notwendiger Bewegungen minimiert. Diese Einstellung wird verwendet, um dem Browser auf dem Gerät mitzuteilen, dass der Benutzer eine Benutzeroberfläche bevorzugt, die bewegungsbasierte Animationen entfernt, reduziert oder ersetzt.
Solche Animationen können bei Personen mit vestibulären Bewegungsstörungen Unbehagen auslösen. Animationen wie das Skalieren oder Verschieben großer Objekte können Auslöser für vestibuläre Bewegungen sein.
Syntax
no-preference
-
Gibt an, dass ein Benutzer keine Präferenz auf dem Gerät angegeben hat. Dieser Schlüsselwortwert wird als falsch bewertet.
reduce
-
Gibt an, dass ein Benutzer die Einstellung für reduzierte Bewegung auf seinem Gerät aktiviert hat. Der Schlüsselwortwert
reduce
wird als wahr bewertet; daher ist@media (prefers-reduced-motion)
äquivalent zu@media (prefers-reduced-motion: reduce)
.
Benutzereinstellungen
Für Firefox wird die Anforderung reduce
berücksichtigt, wenn:
-
Unter GTK/GNOME: Einstellungen > Barrierefreiheit > Sehen > Reduzierte Bewegung ist eingeschaltet.
- In älteren Versionen von GNOME ist GNOME Tweaks > Allgemein (oder Aussehen, je nach Version) > Animationen ausgeschaltet.
- Alternativ fügen Sie
gtk-enable-animations = false
zum[Settings]
Block der GTK 3 Konfigurationsdatei hinzu.
-
Unter Plasma/KDE: Systemeinstellungen > Arbeitsbereich Verhalten -> Allgemeines Verhalten > "Animationsgeschwindigkeit" ist ganz rechts auf "Sofort" gesetzt.
-
In Windows 10: Einstellungen > Erleichterte Bedienung > Anzeige > Animationen in Windows anzeigen.
-
In Windows 11: Einstellungen > Barrierefreiheit > Visuelle Effekte > Animationseffekte
-
Unter macOS: Systemeinstellungen > Bedienungshilfen > Display > Bewegung reduzieren.
-
In iOS: Einstellungen > Bedienungshilfen > Bewegung.
-
In Android 9+: Einstellungen > Bedienungshilfen > Animationen entfernen.
-
In Firefox
about:config
: Fügen Sie eine Nummernpräferenz namensui.prefersReducedMotion
hinzu und setzen Sie deren Wert entweder auf0
für vollständige Animation oder auf1
, um eine Präferenz für reduzierte Bewegung anzuzeigen. Änderungen an dieser Einstellung treten sofort in Kraft.
Beispiele
Dieses Beispiel verwendet eine Skalierungsanimation, um prefers-reduced-motion
zu demonstrieren. Wenn Sie die Einstellung zur Bewegungsreduzierung in den Barrierefreiheitseinstellungen auf Ihrem Gerät aktivieren, erkennt die Medienabfrage prefers-reduced-motion
Ihre Präferenz und das CSS innerhalb der Regeln zur reduzierten Bewegung, mit derselben Spezifität, aber später in der CSS-Quellreihenfolge, wird Vorrang haben. Infolgedessen wird die Animation auf der Box zur dissolve
Animation, einer gedämpfteren Animation, die keinen vestibulären Bewegungsauslöser darstellt.
Die Animation skalierung reduzieren
HTML
<div class="animation">animated box</div>
CSS
.animation {
animation: pulse 1s linear infinite both;
background-color: purple;
}
/* Tone down the animation to avoid vestibular motion triggers. */
@media (prefers-reduced-motion: reduce) {
.animation {
animation: dissolve 4s linear infinite both;
background-color: green;
text-decoration: overline;
}
}
Ergebnis
Sie können die Einstellung zur Bewegungsreduzierung auf Ihrem Gerät aktivieren, um die Änderung in der Animationsskalierung zu sehen. In diesem Beispiel wird die Hintergrundfarbe und die Linie über dem Text verwendet, um visuell hervorzuheben, wann die Keyframe-Animation in Reaktion auf die aktivierte oder deaktivierte Einstellung umschaltet.
Spezifikationen
Specification |
---|
Media Queries Level 5> # prefers-reduced-motion> |
Browser-Kompatibilität
Loading…
Siehe auch
Sec-CH-Prefers-Reduced-Motion
HTTP-Header User-Agent-Client-Hint- Eine Einführung zum "reduce motion" Medien-Feature auf CSS-Tricks (2019)
- Responsive Design für Bewegung im WebKit-Blog (2017)