prefers-reduced-motion in CSS

Bewegung abschalten, Inhalt behalten

Lauftext, Blinken, Autoplay-Ton: drei Quellen unruhiger Seiten.

Website prüfen
Beispiel im Prüfbericht Markierter Befund
Markierter Befund · Kritisch · WCAG 2.2.2Messnotiz im Lauftext

Bewegung mit Ersatzbild

Reduzieren heißt: Information stehen lassen

Drei Storyboards zeigen, wie Bewegung durch klare Zustände ersetzt wird.

Statisches Storyboard · keine AnimationSystemeinstellung → Darstellung
Keine Präferenz gemeldetno-preference
Weniger Bewegung gewünschtreduce
SeitenwechselRäumliche Bewegung
Verschieben
Bericht
Bericht
──────▶
Direkt anzeigen
Bericht
Endzustand sofort sichtbar

Position und Größe springen auf den Zielzustand, ohne Zwischenbilder.

HinweisbandDauerbewegung
Laufende Spur
Aufzug bereitWerkstatt ab 9 UhrNeuer Kurs
Bei langer Automatik: Pause anbieten
Statische Liste
  • Aufzug bereit
  • Werkstatt ab 9 Uhr
  • Neuer Kurs

Alle Hinweise bleiben vorhanden und können in eigenem Tempo gelesen werden.

ErfolgsmeldungBestätigungseffekt
Skalieren + Partikel
Die Meldung trägt die Bedeutung
Stabile Rückmeldung
✓ Bericht gespeichertZuletzt geändert: gerade eben

Der Effekt entfällt. Text, Symbol und Status bleiben als Rückmeldung erhalten.

Die rechte Spalte ist keine abgespeckte Oberfläche. Sie enthält dieselben Ziele, Meldungen und Hinweise ohne nicht notwendige Bewegung. no-preference bedeutet nur, dass keine Reduktionspräferenz bekannt ist; es ist keine Bitte um mehr Animation.

Bewegung nach ihrer Aufgabe behandeln

Die Ersatzdarstellung folgt dem Zweck, nicht der Animationstechnik.

entfernenParallax, Zoom, große Verschiebung
StartZiel

Bei reduce direkt zum Zielzustand wechseln.

anhaltenAutomatisch bewegter Inhalt
läuftPause

Startet er automatisch, läuft länger als fünf Sekunden und steht neben anderem Inhalt, braucht er eine Pause-, Stopp- oder Ausblendmöglichkeit.

ersetzenFortschritt und Rückmeldung
wartet72 %

Status als Text oder Fortschrittswert erhalten; nur die Schleife entfällt.

Die ruhige Version ist die Basis

So bleibt die vollständige Darstellung auch dann stabil, wenn eine ältere Umgebung die Medienabfrage nicht kennt. Bewegung kommt ausschließlich als Zusatz hinzu.

.panel {
  transform: none;
}

.hinweise {
  display: grid;
}

@media (prefers-reduced-motion: no-preference) {
  .panel {
    animation: einblenden 320ms ease-out;
  }
}

@keyframes einblenden {
  from { transform: translateX(2rem); }
}

Vier Zustände für die Abnahme

System: reduceKeine räumliche Bewegung

Inhalt, Reihenfolge und Bedienung bleiben vollständig.

System: no-preferencePause bleibt erreichbar

Automatische Dauerbewegung lässt sich per Tastatur stoppen.

JavaScript ausRuhige Basis bleibt lesbar

Eine sichtbare Schaltfläche darf nicht ohne Funktion zurückbleiben.

Wert wechseltEinstellung wird neu ausgewertet

CSS reagiert ohne Neuladen; Skript hört bei Bedarf auf change.

Aus dem Prüfbericht

Drei Quellen, drei Befunde

Zum Mitnehmen

Die Bewegung, korrigiert

Eine Medienabfrage, zwei entfernte Elemente.

Korrektur in 3 Schritten ansehen
  1. Animationen bei Bedarf anhalten

    Die Medienabfrage übernimmt die Systemeinstellung. Übergänge laufen dann nicht mehr ab, Inhalt und Bedienung bleiben unverändert.

    KorrekturvergleichSchritt 1 · CSS

    Vorher

    .karte {
      transition: transform 400ms ease;
    }

    Nachher

    .karte {
      transition: transform 400ms ease;
    }
    
    @media (prefers-reduced-motion: reduce) {
      .karte {
        transition: none;
      }
    }

    Markierte Zeilen wurden geändert

    So prüfen Sie es Stellen Sie im System „Bewegung reduzieren“ ein und laden Sie neu. Die Karte wechselt ohne Übergang.

  2. Lauftext und Blinken ersetzen

    marquee und blink sind veraltet. Derselbe Text in einem Absatz oder span bleibt an Ort und Stelle lesbar.

    KorrekturvergleichSchritt 2 · HTML

    Vorher

    <marquee>Neue Öffnungszeiten ab 1. März</marquee>
    <blink>Bitte beachten</blink>

    Nachher

    <p class="hinweisband">Neue Öffnungszeiten ab 1. März</p>
    <strong>Bitte beachten</strong>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Lesen Sie den Hinweis, ohne ihm zu folgen. Der Text steht still und bleibt vollständig sichtbar.

  3. Ton nicht von allein starten

    autoplay entfernen und controls ergänzen. Wer den Ton hören möchte, startet ihn selbst; die Sprachausgabe bleibt verständlich.

    KorrekturvergleichSchritt 3 · HTML

    Vorher

    <audio src="/ton/atelier.wav" autoplay loop></audio>

    Nachher

    <audio src="/ton/atelier.wav" controls aria-label="Atelierton"></audio>

    Markierte Zeilen wurden geändert

    So prüfen Sie es Laden Sie die Seite neu. Es bleibt still, bis Sie auf Abspielen drücken.

Werbung

Kostenloser Website-Barrierefreiheits-Check

Website auf Barrierefreiheit prüfen.

Technische WCAG-Warnsignale erkennen. Kritische Stellen zuerst prüfen.

Der Website-Check ist bereit.

Werbung

Ein letzter Schritt

Prüfen, bevor Sie gehen.

Finden Sie automatisch erkennbare Barrieren auf Ihrer eigenen Website.

Website prüfen

Kostenlos starten · keine Installation

Automatisches Screening. Tastaturbedienung und Screenreader bleiben manuelle Prüfung.