Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » DokuWiki-Erweiterungen (WvdS) » FluentUI (Design-System-Bibliothek) » FluentUI: Komponenten-Referenzen » FluentUI: Bewegung

FluentUI: Bewegung

Zurück: Übersicht


Bewegung ist in dieser Bibliothek eine Zutat, keine Grundlage: verminderte Bewegung hat der Besucher einmal im Betriebssystem eingestellt, und jede Animation hält sich daran.

1. Übersicht und Zweck

Status: [Live].

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.

Was bewegt wird und was nicht. Bewegt wird, was sich bewegt – Schublade, Dialog, Einblendmeldung, Schaltknauf, aufklappender Zweig. Ein Zustand – Zeiger, Auswahl, Fokus, Druck – wechselt seine Farbe sofort, ohne Übergang.

Das ist keine Lücke, sondern der Grund, warum dichte Tabellen sich gut bedienen lassen: wer den Zeiger über dreißig Zeilen zieht, will dreißig sofortige Antworten und nicht dreißig nachlaufende Blenden. In den beiden Referenzwerkbänken haben Listenzeile, Knopf und Kontrollkästchen keinen Übergang; insgesamt stehen dort 27 Übergänge in 154 Stylesheets und keine Keyframes, und diese 27 bewegen Deckkraft, Verschiebung und Höhe. Die einzige Bewegung in deren Datenraster ist ein Aufblitzen nach einer Wertänderung – Aufmerksamkeit, keine Rückmeldung auf den Zeiger.

Wer hier später einen fehlenden Übergang vermutet, findet in style.css an der Marke --wk-motion dieselbe Zählung noch einmal. Eine Entscheidung, die nur als Abwesenheit sichtbar ist, liest sich sonst beim nächsten Mal wieder als Versäumnis.

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-drawer--slide .wk-drawer__panel dieselbe Bewegung als Übergang --wk-motion erscheint an Endposition
.wk-drawer--slide .wk-scrim Schleier blendet mit --wk-motion erscheint sofort
.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
.wk-tree__twisty::before Zweigpfeil dreht 0,12 s springt
.wk-datagrid__inspect Prüfpfeil dreht 0,12 s springt
.wk-datagrid__resizer Spaltengriff färbt 0,12 s färbt sofort
.wk-workbench--workspace .wk-editorgroup__close Schließknopf blendet auf 0,1 s erscheint sofort

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

Acht der zehn Dauern sind Literale, zwei lesen die Marke. Der Tokensatz führt zwei Namen für Bewegung – --wk-motion und --wk-easing –, und beide erscheinen im Themenbauer unter der Gruppe Motion.

Gelesen werden sie von den beiden Schublade-Regeln der Gleitfassung. Die übrigen acht Dauern sind Literale; eine davon zu ändern ist eine Codeänderung und keine Einstellung. Das ist Absicht und kein Rückstand: die Dauern sind aufeinander abgestimmte Werte eines Bewegungsentwurfs und keine Vorliebe. Eine Marke für jede einzelne Dauer lüde dazu ein, sie einzeln zu verstellen.

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; _test/ReducedMotionCensusTest.php 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

Der Prüflauf fällt auch dann, wenn er nichts findet – ein Parser, der am Stylesheet zerbricht, meldete sonst ein grünes Ergebnis über eine Messung, die nicht stattgefunden hat.

12. Verwandte Themen

de/wiki/dwe/wkfluentui/component/motion.txt · Zuletzt geändert: von 0.0.0.0