Que fait Système de Mouvement d'Interface ?
Objectif
Le Système de Mouvement d'Interface fournit une méthodologie pour concevoir le « mouvement fonctionnel » — un mouvement qui sert un but spécifique dans l'interface utilisateur. Il va au-delà de l'animation décorative pour établir un système de durées, de courbes d'assouplissement et de chorégraphie qui aide les utilisateurs à comprendre les relations spatiales, fournit un feedback pour les actions et réduit la charge cognitive lors des changements de contexte.
Cas d'Utilisation
- Définir des temporisations et courbes de transition standard pour une bibliothèque UI.
- Concevoir des changements de mise en page complexes (par exemple, développer une carte en plein écran).
- Établir un mouvement de feedback pour les actions utilisateur (par exemple, coches de succès, spinners de chargement).
- Chorégraphier l'entrée et la sortie des couches UI (Modales, Tiroirs, Toasts).
- Utiliser le mouvement pour guider l'attention vers un élément ou un changement spécifique.
Quand Ne Pas Utiliser
- Esthétique de Marque Uniquement Statique : Lorsque le style visuel évite intentionnellement le mouvement pour transmettre un ton spécifique (par exemple, designs minimalistes, brutalistes ou « semblables à du papier »).
- « Paillettes » Uniquement Décoratives : Animations qui n'ajoutent aucune valeur fonctionnelle et distraient l'utilisateur de sa tâche principale (par exemple, éléments d'arrière-plan qui bougent sans interaction).
- Environnements à Haute Latence : Lorsque le coût de performance du rendu des mouvements dépasse le bénéfice UX, entraînant des à-coups ou du lag.
Entrées
- Personnalité de la Marque : Le mouvement est-il « Vif/Productif » (rapide, linéaire) ou « Naturel/Fluide » (rebondissant, doux, organique) ?
- Contexte d'Interaction : Qu'est-ce qui bouge ? (Élément atomique, conteneur ou page entière).
- Type de Déclencheur : Le mouvement est-il déclenché par le système (Chargement), l'utilisateur (Clic/Survol) ou l'environnement (Défilement) ?
- Capacités de la Plateforme : Contraintes techniques des navigateurs ou appareils cibles.
Sorties
- Échelle de Durées : Un ensemble de jetons de temporisation standardisés (par exemple,
motion-fast,motion-standard,motion-slow). - Palette d'Assouplissement : Un ensemble défini de courbes de Bézier pour différentes intentions de mouvement (par exemple,
ease-in,ease-out,emphasized). - Règles de Chorégraphie : Normes pour la manière dont les éléments entrent, sortent et se déplacent les uns par rapport aux autres.
- Spécification des Jetons de Mouvement : Documentation des variables de mouvement pour les développeurs.
Workflow
1. Établir l'Échelle de Durées
Créez une progression logique des temporisations basée sur la taille du changement :
- Rapide (100–150 ms) : Pour les micro-interactions et les états atomiques (Survol, Bascule, Actif).
- Standard (200–300 ms) : Pour les transitions de taille moyenne (Menus déroulants, Infobulles, Petites expansions).
- Lent (350–500 ms) : Pour les grands changements de mise en page ou les transitions immersives (Modales, Changements au niveau de la page).
2. Définir les Courbes d'Assouplissement
Attribuez une signification sémantique à différentes courbes de Bézier :
- Standard (Ease-in-out) : Pour les éléments se déplaçant d'un point à un autre dans la fenêtre d'affichage.
- Entrée (Ease-out) : Pour les éléments apparaissant ou entrant dans la fenêtre d'affichage (départ rapide, fin lente pour une sensation de réactivité).
- Sortie (Ease-in) : Pour les éléments disparaissant ou quittant la fenêtre d'affichage (départ lent, fin rapide pour une sensation de détermination).
- Accentué (Complexe) : Une courbe personnalisée (par exemple,
cubic-bezier(0.4, 0, 0.2, 1)) pour les transitions principales qui doivent sembler de haute qualité.
3. Concevoir pour les Modèles Mentaux Spatiaux
Utilisez le mouvement pour expliquer d'où vient un élément et où il va :
- Continuité Directionnelle : Si un tiroir glisse depuis la droite, il doit sortir par la droite.
- Relation Parent-Enfant : Un élément enfant (comme un menu) devrait idéalement provenir de son parent (le bouton).
4. Chorégraphier les Séquences (Décalage Temporel)
Lorsque plusieurs éléments apparaissent en même temps, évitez l'effet « Pop-in » :
- Décalage Temporel : Introduisez les éléments avec un léger délai (20–50 ms) entre chacun pour guider le regard dans un ordre spécifique.
- Décalage Directionnel : Décalez les éléments dans le sens de la lecture (de haut en bas ou de gauche à droite).
5. Planifier pour l'Accessibilité (Mouvement Réduit)
Le mouvement doit être inclusif :
- La Vérification « Pré-vol » : Définissez toujours un repli pour les utilisateurs qui ont activé « Réduire le mouvement » au niveau du système d'exploitation.
- Visuels Alternatifs : Remplacez le mouvement par des fondus d'opacité ou aucune animation lorsque
prefers-reduced-motionest actif.
Règles de Décision
- La Règle « Fonctionnel d'abord » : Si vous ne pouvez pas expliquer ce qu'un mouvement dit à l'utilisateur, supprimez-le.
- Temporisation Réactive : Les durées doivent être plus courtes sur les petits écrans (mobile) car la distance physique parcourue par un élément est plus petite.
- Vitesse avant Fluidité pour l'Action : Le feedback d'interaction (par exemple, un clic sur un bouton) doit sembler instantané (<100 ms) même si la transition résultante est plus longue.
- Pas de Boucles Infinies : Évitez les animations en boucle non-stop (spinners, pulsations) à moins qu'elles ne représentent un état actif bloquant l'arrière-plan.
Contraintes
- Accessibilité : Doit respecter
prefers-reduced-motion. Le mouvement ne doit pas déclencher de crises (éviter les clignotements rapides ou les motifs haute fréquence à grande échelle). - Performance : Tenez-vous-en aux propriétés « Uniquement par le compositeur » (
transformetopacity) pour garantir des performances à 60 ips. Évitez d'animerwidth,heightoumargin. - Cohérence : Utilisez la même durée et le même assouplissement pour le même type de composant sur l'ensemble du site.
Schémas d'Échec Courants
- Le Piège du « Mal des Transports » : Utiliser de grands mouvements amples (par exemple, la page entière qui glisse) qui provoquent une détresse vestibulaire.
- Interfaces Lentes : Définir des durées trop longues (par exemple, 1 seconde pour un menu), ce qui fait attendre l'utilisateur et donne l'impression que le site ne fonctionne pas.
- Mouvement Linéaire : Utiliser un assouplissement « linéaire », qui semble mécanique et non naturel comparé à l'accélération/décélération que l'on trouve dans le monde physique.
- Direction Confuse : Une modale qui « grandit » depuis le centre mais « glisse » vers le bas en sortant, brisant le modèle spatial de l'utilisateur.
- L'Effet « Saccade » : Décaler des éléments avec des délais trop longs, donnant l'impression que la page se charge lentement.
Critères de Validation
- Chaque transition possède un jeton de Durée et d'Assouplissement défini.
- Les durées sont proportionnelles à la taille de la transition (Rapide pour petit, Lent pour grand).
- Le mouvement soutient un modèle mental spatial clair (Entrée/sortie logique).
- Le décalage temporel est utilisé pour les révélations multi-éléments afin de guider le regard.
- Accessibilité :
prefers-reduced-motionest traité avec une stratégie de simplification claire. - Performance : Seules
transformetopacitysont utilisées pour les animations fréquentes. - Le mouvement de feedback (par exemple, clic sur un bouton) démarre en <100 ms.