FluentUI: Bewegung
Zurück: Übersicht
1. Übersicht und Zweck
Status: [Live] seit dem 4. August 2026.
Diese Seite führt jeden bewegten Teil des Bausatzes an einer Stelle und beschreibt, was mit ihm geschieht, wenn ein Besucher weniger Bewegung eingestellt hat. Sie ist der Grund, warum die neun Barrierefreiheits-Seiten der einzelnen Bauteile das Thema nicht wiederholen: Bewegung ist eine Eigenschaft des Bausatzes, nicht eines Bauteils.
2. Voraussetzungen
Keine. Die Zusage gilt für jede Fläche, auf der der Bausatz rendert, und verlangt vom Aufrufer nichts.
3. Konzepte
Verminderte Bewegung ist eine Einstellung, die der Besucher bereits getroffen hat — im Betriebssystem, einmal, für alle Anwendungen. Für einen Teil derer, die sie setzen, verursachen gleitende und wischende Bewegungen tatsächliche Übelkeit oder Schwindel. Sie zu übergehen ist deshalb keine ausgelassene Annehmlichkeit, sondern eine verworfene Willensäußerung.
Der Browser reicht sie als Medienabfrage prefers-reduced-motion: reduce durch. Der Bausatz
wertet sie aus; der Aufrufer muss nichts abfragen und nichts weiterreichen.
Warum alle bewegten Teile in einem Block stehen. Der Fehlerfall ist hier nicht eine falsche Regel, sondern eine vergessene — und eine vergessene Regel neben einer Animation ist unsichtbar, während eine fehlende Zeile in einer Liste, die Vollständigkeit behauptet, es nicht ist. Genau das ist vorher passiert: der Bausatz hatte vier bewegte Teile und berücksichtigte die Einstellung bei einem davon.
4. Erste Schritte
Entfällt — nichts einzurichten.
5. Verwendung
Zum Prüfen die Einstellung im Betriebssystem setzen (Windows: Einstellungen → Barrierefreiheit → Visuelle Effekte → Animationseffekte; macOS: Bedienungshilfen → Anzeige → Bewegung reduzieren) und eine Schublade oder einen Dialog öffnen. Beide erscheinen dann sofort an ihrer Endposition, statt hereinzufahren.
6. API-Referenz: die bewegten Teile
| Bauteil | Bewegung | Dauer | Bei verminderter Bewegung |
|---|---|---|---|
.wk-drawer__panel | fährt von rechts herein | 0,18 s | erscheint an Endposition |
.wk-modal__panel | fährt auf | 0,15 s | erscheint an Endposition |
.wk-toast | steigt auf und blendet ein | 0,18 s | erscheint an Endposition |
.wk-field__checkbox--switch::before | Schaltknauf wandert 16 px | 0,12 s | springt |
Beim Umschalter ist die Bewegung ausdrücklich entbehrlich: der Zustand, den sie anzeigt, wird zusätzlich durch Farbe und Endposition getragen, und beide kommen ohne den Weg dorthin an.
7. Parameter, Optionen und Zustände
Entfällt — es gibt keine Option. Die Einstellung des Besuchers ist der einzige Schalter, und ein Anwendungsschalter daneben wäre eine zweite Wahrheit über dieselbe Frage.
8. Vollständige Beispiele
Entfällt — die Zusage wirkt ohne Zutun des Aufrufers.
9. Einschränkungen und Randfälle
Die vier Dauern sind Literale, keine Tokens. Der Tokensatz führt heute genau einen Namen für
Bewegung (--wk-motion), und keine der vier Regeln liest ihn. Eine Dauer zu ändern ist
damit eine Codeänderung und keine Einstellung. Die Bewegungs-Tokenfamilie entsteht mit der
Neufassung des Tokensatzes; bis dahin ist diese Tabelle die einzige vollständige Aufstellung.
Die Liste gilt nur für den Bausatz. Die Hausvorlage und einzelne Pakete bringen eigene Übergänge mit und berücksichtigen die Einstellung jeweils selbst; sie stehen nicht hier, weil diese Seite nicht behaupten soll, für fremden Code zu sprechen.
10. Accessibility und Kompatibilität
Betroffen ist WCAG 2.2 Erfolgskriterium 2.3.3 (Animation aus Interaktionen, Stufe AAA). Die Zusage geht damit über das hier sonst geltende Maß AA hinaus — sie kostet vier Zeilen und wird deshalb gegeben, nicht weil sie gefordert wäre.
Die Medienabfrage wird von allen aktuellen Browsern ausgewertet. Wo sie fehlt, bleibt es beim bisherigen Verhalten: die Bewegung läuft. Es gibt keinen Zustand, in dem etwas nicht erscheint.
11. Troubleshooting
| Beobachtung | Ursache | Abhilfe |
|---|---|---|
| Ein neues Bauteil bewegt sich trotz gesetzter Einstellung | sein Selektor fehlt im Block | Zeile ergänzen; der Prüflauf des Pakets meldet jeden bewegten Selektor, der nicht darin steht |
| Der Block scheint zu fehlen | die Medienabfrage wird beim Bündeln um screen and erweitert | im Bündel nach screen and (prefers-reduced-motion:reduce) suchen, nicht nach der Quellschreibweise |
12. Verwandte Themen
- FluentUI: Design-Tokens — Design-Tokens; dort entsteht die Bewegungs-Tokenfamilie
- Eingabefelder: Accessibility — Zustands-Kommunikation der Eingabefelder
- FluentUI: Basis-Widget-Katalog — Basis-Widget-Katalog, darunter Schublade, Dialog und Einblendmeldung