prefers-reduced-motion richtig berücksichtigen

prefers-reduced-motion: Muster für CSS, JavaScript und React | We.Inc

Erkenne die Einstellung für reduzierte Bewegung in CSS und JavaScript, sieh deine eigene Einstellung live und kopiere Muster, die große Bewegungen durch Fades ersetzen, statt Animationen zu löschen.

prefers-reduced-motion richtig berücksichtigen

prefers-reduced-motion ist ein CSS-Media-Feature, das meldet, ob ein Besucher sein Gerät um weniger Bewegung gebeten hat. Es hat zwei Werte, no-preference und reduce. Pack große Bewegungen wie Parallax, Zooms und Slides in eine Query und ersetze sie beim Wert reduce durch einen kurzen Fade oder gar keine Animation.

Wo Menschen die Einstellung aktivieren

Menschen aktivieren reduzierte Bewegung, weil Gleiten, Zoomen und Parallax Schwindel, Übelkeit oder Kopfschmerzen auslösen können, besonders bei Gleichgewichtsstörungen. Das Abzeichen unten liest die Einstellung deines Geräts live aus, und die Demo zeigt dieselbe Animation in voller und reduzierter Form, damit du vergleichen kannst, bevor du ein Muster wählst.

Häufige Fragen

Welche Werte hat prefers-reduced-motion?

Zwei: no-preference, wenn der Besucher nichts eingestellt hat, und reduce, wenn er um weniger Bewegung gebeten hat. @media (prefers-reduced-motion) allein zu schreiben ist dasselbe wie eine Abfrage auf reduce.

Wie prüfe ich prefers-reduced-motion in JavaScript?

Ruf window.matchMedia("(prefers-reduced-motion: reduce)") auf und lies die Eigenschaft matches. Häng an das zurückgegebene Objekt einen change-Event-Listener, um zu reagieren, wenn sich die Einstellung ändert, während die Seite geöffnet ist.

Sollte ich bei reduce jede Animation abschalten?

Nein. Gewünscht ist weniger Bewegung, keine eingefrorene Seite. Behalte Farbwechsel, kurze Fades und Fortschrittsanzeigen und entferne oder verkleinere Bewegungen wie Gleiten, Skalieren, Drehen und Parallax.

Verlangt die WCAG, reduzierte Bewegung zu berücksichtigen?

WCAG 2.3.3 Animation durch Interaktionen, Stufe AAA, verlangt, dass durch Interaktion ausgelöste Bewegung abgeschaltet werden kann, sofern sie nicht wesentlich ist. Die Systemeinstellung zu berücksichtigen ist einer der genannten Wege, das zu erfüllen. Unabhängig davon deckt 2.2.2 Pausieren, Stoppen, Ausblenden auf Stufe A Bewegung ab, die von selbst startet.

Wie gehe ich in Tailwind mit reduzierter Bewegung um?

Nutze die Variante motion-safe:, um eine Animation nur anzuwenden, wenn keine Präferenz gesetzt ist, oder motion-reduce:, um eine zu überschreiben, wenn reduce gesetzt ist, zum Beispiel motion-safe:animate-bounce.

Welche Bewegung Probleme macht

CSS, das ohne Bewegung beginnt

Skripte und Bibliotheken

CSS-Muster

Bewegung als Erweiterung

Die Karte gleitet nur herein, wenn keine Präferenz gesetzt ist. Alle anderen sehen einen sanften Fade.

Ein Sicherheitsnetz für bestehende Websites

Nützlich, wenn du nicht jede Animation umschreiben kannst. Die Dauern werden fast null statt none, sodass animationend- und transitionend-Events weiterhin feuern.

JavaScript und React

Einstellung auslesen und Änderungen folgen

matchMedia gibt eine Live-Liste zurück. Ihr change-Event feuert, wenn der Besucher die Einstellung umschaltet.

React-Hook: usePrefersReducedMotion

Startet auf dem Server mit true, damit nichts animiert, bevor der Browser geantwortet hat.

Wodurch du welchen Effekt ersetzt

Reduzierte Alternativen

Deine Bewegungseinstellung

Das Abzeichen liest deine Geräteeinstellung mit matchMedia aus, und der Vorschau-Schalter zeigt die reduzierte Animation, ohne dein System zu ändern.

Vorschaumodus

Meiner Einstellung folgen

Volle Bewegung ansehen

Reduziert ansehen

Erneut abspielen

Reduziert: ein kurzer Fade an Ort und Stelle.

Volle Bewegung: Das Panel fliegt, dreht sich und wächst.

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap