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 könnte. Leser mit vestibulären Bewegungsstörungen sollten die Reduzierung von Bewegungen auf ihrem Gerät aktivieren, bevor sie die Animation ansehen.
Die prefers-reduced-motion CSS Medienfunktion wird verwendet, um zu erkennen, ob ein Benutzer eine Einstellung auf seinem Gerät aktiviert hat, um die Menge an nicht wesentlichen Bewegungen zu minimieren. Diese Einstellung soll dem Browser auf dem Gerät anzeigen, dass der Benutzer eine Oberflä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 false ausgewertet.
reduce-
Gibt an, dass ein Benutzer die Einstellung auf seinem Gerät für eine reduzierte Bewegung aktiviert hat. Der Schlüsselwortwert
reducewird als true ausgewertet; daher ist@media (prefers-reduced-motion)gleichbedeutend mit@media (prefers-reduced-motion: reduce).
Benutzereinstellungen
Für Firefox wird die reduce-Anforderung berücksichtigt, wenn:
-
In GTK/GNOME: Einstellungen > Barrierefreiheit > Sehen > Reduzierte Animationen ist aktiviert.
- In älteren Versionen von GNOME, GNOME Tweaks > Allgemein-Tab (oder Darstellung, je nach Version) > Animationen ist deaktiviert.
- Alternativ fügen Sie
gtk-enable-animations = falseim[Settings]Block der GTK 3-Konfigurationsdatei hinzu.
-
In Plasma/KDE: Systemeinstellungen > Arbeitsbereich-Verhalten -> Allgemeines Verhalten > "Animationsgeschwindigkeit" ist ganz nach rechts auf "Sofort" eingestellt.
-
In Windows 10: Einstellungen > Erleichterte Bedienung > Anzeige > Animationen in Windows anzeigen.
-
In Windows 11: Einstellungen > Barrierefreiheit > Visuelle Effekte > Animationseffekte
-
In macOS: Systemeinstellungen > Barrierefreiheit > Anzeige > Bewegung reduzieren.
-
In iOS: Einstellungen > Barrierefreiheit > Bewegung.
-
In Android 9+: Einstellungen > Barrierefreiheit > Animationen entfernen.
-
In Firefox
about:config: Fügen Sie eine numerische Einstellung mit dem Namenui.prefersReducedMotionhinzu und setzen Sie ihren Wert entweder auf0für volle Animation oder auf1, um eine Präferenz für reduzierte Bewegung zu kennzeichnen. Änderungen an dieser Einstellung werden sofort wirksam.
Beispiele
Dieses Beispiel verwendet eine skalierende Animation, um prefers-reduced-motion zu demonstrieren. Wenn Sie die Einstellung zur Reduzierung von Bewegungen in den Barrierefreiheitseinstellungen auf Ihrem Gerät aktivieren, wird die prefers-reduced-motion-Media-Query Ihre Präferenz erkennen, 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 dem Kasten zur dissolve-Animation abgemildert, die eine gedämpftere Animation ist, die kein Auslöser für vestibuläre Bewegungen ist.
Die skalierende Animation abmildern
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 Reduzierung von Bewegungen auf Ihrem Gerät aktivieren, um die Änderung der Animationsskalierung zu sehen. Dieses Beispiel verwendet die Hintergrundfarbe und die Linie über dem Text, um visuell hervorzuheben, wann die Keyframe-Animation in Reaktion auf das Aktivieren oder Deaktivieren der Einstellung wechselt.
Spezifikationen
| Specification |
|---|
| Media Queries Level 5> # prefers-reduced-motion> |
Browser-Kompatibilität
Loading…
Siehe auch
Sec-CH-Prefers-Reduced-MotionHTTP-Header User-Agent-Client-Hinweis- Eine Einführung in die Medienabfrage zur Reduzierung von Bewegungen auf CSS-Tricks (2019)
- Responsive Design für Bewegung im WebKit Blog (2017)