Aller au contenu
SkillCodex
Menu

State transition

Transition d’état

Une transition d’état change un état utile, par exemple Brouillon vers Enregistré. L’animation peut renforcer ce retour ; elle ne détermine jamais si l’enregistrement a réussi.

Essayer le composant
Repères, sources et actions
Sources et révision
Mis à jour le
Version
v1.0.26 · r1
Sources
4 sources
Statut
Publié
Consulter les sources

Tu as peut-être cherché : montrer que mes changements sont enregistrésconfirmer une action sans mouvementgarder le texte après l’animation

Toutes les formulations
Enregistrer et partager

Reconnaître

Coût et limites documentés

Rendu DOM avec transform ou opacity via Web Animations API, sans dépendance d’animation ajoutée, Canvas ou WebGL. Le module est demandé au clic sur Charger la démo. Le ressort prépare 121 points une seule fois ; le navigateur pilote ensuite la lecture. Le reflet continu continue à consommer des ressources jusqu’à sa pause ou son démontage.

Ces propriétés peuvent éviter le recalcul de mise en page ; elles ne garantissent ni composition GPU ni fluidité sur appareil modeste. Batterie, GPU et performance sur matériel réel restent non mesurés. L’état statique et le texte restent la référence lorsque le système réduit le mouvement ou que l’API manque.

web.dev · rendu et coût · MDN · Web Animations API

Mouvement et effets

Essayer

Le mouvement explique-t-il un changement, signale-t-il un état ou décore-t-il seulement ?

Transition d’état

Contexte commun aux essais

Un élément se déplace, change d’état ou attend un contenu. Quelle information doit rester sans mouvement ?

Transition d’état

Aperçu statique : l’état et le résultat restent lisibles sans mouvement. Active la démo pour comparer le paramètre, mettre en pause et essayer le repli.

Compare une mise à jour instantanée avec un fondu de 200 ms. Enregistré apparaît immédiatement dans les deux cas ; seule la coche décorative apparaît en fondu.

Ce que cet essai montre

L’état porte l’information. Courbes et ressorts décrivent comment animer ; le shimmer décore seulement l’attente. Le résultat reste lisible sans animation.

Lequel convient à ton besoin ?

Transition d’état

Confirme une action locale terminée par un texte persistant et un fondu court facultatif.

Courbe d’animation

Rends un petit déplacement plus facile à suivre avec une durée prévisible.

Quel composant utilises-tu ici ?
Différence et sources

L’état porte l’information. Courbes et ressorts décrivent comment animer ; le shimmer décore seulement l’attente. Le résultat reste lisible sans animation.

Consulter les sources

    Parties du spécimen

    Sélectionne un repère numéroté sur le schéma, ou utilise la liste ci-dessous, pour afficher son rôle. Le schéma montre l'état représentatif du concept.

    Déclencheur

    Le contrôle qui ouvre ou révèle la surface.

    Position dans l’atlas

    Carte relationnelle

    Repère le chapitre, les concepts proches et la prochaine décision utile.

    • Chapitre

      Mouvement et effets

      Transition d’état appartient à ce groupe de concepts comparés.

    • Ne pas confondre

      Courbe d’animation

      Choisis Transition d’état si tu cherches un retour d’état persistant. Choisis Courbe d’animation si tu cherches un rythme de durée fixée.

      Comparer cette paire
    • Ne pas confondre

      Animation à ressort

      Choisis Transition d’état si tu cherches un retour d’état persistant. Choisis Animation à ressort si tu cherches une réponse physique amortie.

      Comparer cette paire
    • Ne pas confondre

      Reflet de chargement

      Choisis Transition d’état si tu cherches un retour d’état persistant. Choisis Reflet de chargement si tu cherches une décoration facultative d’attente.

      Comparer cette paire
    • Ne pas confondre

      Mouvement réduit et repli

      Choisis Transition d’état si tu cherches un retour d’état persistant. Choisis Mouvement réduit et repli si tu cherches le même résultat sans mouvement.

      Comparer cette paire
    • Prochaine étape

      Compare les concepts du chapitre avant de retenir une implémentation.

      Ouvrir le chapitre

    Avec tes mots

    Comprendre

    Ce que les gens décrivent

    Alias documentés : transition d’état

    • montrer que mes changements sont enregistrés
    • confirmer une action sans mouvement
    • garder le texte après l’animation
    • passer de brouillon à enregistré
    • afficher une coche en fondu
    • un retour indépendant de l’animation

    Choisir

    À utiliser quand

    • Confirme une action locale terminée par un texte persistant et un fondu court facultatif.

    À éviter quand

    • N’attends jamais la fin d’une animation pour valider des données et n’annonce pas de succès avant la fin de l’opération.

    Comparer

    Comparer les concepts proches

    Checklist de vérification

    Essaie ces gestes dans le lab, puis vérifie les mêmes comportements dans le résultat de ton agent. Adapte les noms d’exemple à ton interface.

    1. 1. À faire

      Fais passer l’exemple de Brouillon à Enregistré et lis le libellé pendant la transition.

      Résultat attendu

      Le nouvel état est annoncé par le texte dès que l’opération réussit ; l’icône qui apparaît est un indice complémentaire.

    2. 2. À faire

      Compare la version instantanée et la version animée, puis répète l’action au clavier.

      Résultat attendu

      Les deux versions communiquent le même résultat, et le focus reste sur le bouton utilisé.

    3. 3. À faire

      Active la réduction des animations, puis change de nouveau l’état.

      Résultat attendu

      Le texte change toujours correctement ; l’animation n’est pas nécessaire pour savoir si l’opération a réussi.

    Contrat complet
    1. 1Le résultat reste lisible sans animation
    2. 2Pause, réduction système et repli fonctionnent pendant la lecture
    3. 3Le démontage annule effets et écouteurs
    4. 4Seuls transform ou opacity changent ; le coût sur appareil reste non mesuré

    Comprendre → Reconnaître → Choisir → Comparer

    Pack pour ton agent

    Instructions pré-écrites à coller dans ton agent. Copier n’exécute rien.

    Implémenter correctement

    Construis Transition d’état sans casser son comportement

    # Implémenter Transition d’état dans ton agent
    
    ## Objectif
    Implémente Transition d’état pour ce comportement vérifié : Une transition d’état change un état utile, par exemple Brouillon vers Enregistré. L’animation peut renforcer ce retour ; elle ne détermine jamais si l’enregistrement a réussi.
    
    ## Prérequis
    - Inspecte d’abord le dépôt, le design system et les tests existants.
    - Préserve les changements sans rapport et borne les fichiers modifiés.
    - Confirme que Transition d’état répond au besoin avant de coder.
    
    ## Comportement requis
    - Une région live annonce un nouvel état seulement si la mise à jour est importante et n’a pas déjà le focus.
    - L’activation au pointeur, avec Entrée ou Espace, exécute une action nommée une seule fois.
    
    ## États à couvrir
    - Prêt — État initial statique
    - En cours — L’effet facultatif est en cours
    - En pause — La lecture est figée
    - Résultat — Résultat persistant sans mouvement nécessaire
    
    ## Accessibilité
    - Rôle ARIA : button + select + checkbox + status
    - Le contrôle principal ou la région nommée pour Transition d’état possède un nom accessible stable issu d’un texte visible ou d’un libellé programmatique explicite ; le placeholder et l’infobulle ne servent pas de nom.
    - Le focus reste sur le contrôle activé. Recommencer rend le focus à son bouton.
    - Pause fige la lecture ; le repli statique l’annule. Quitter le spécimen annule son animation et retire les écouteurs.
    - Annonce les changements d’état par un texte concis, jamais les images de l’animation. Le visuel décoratif reste masqué aux technologies d’assistance.
    - Tab atteint chaque contrôle
    - Entrée ou Espace active les boutons ; les flèches changent le sélecteur natif ; Espace bascule la case du repli statique
    
    ## Quand ne pas utiliser
    - N’attends jamais la fin d’une animation pour valider des données et n’annonce pas de succès avant la fin de l’opération.
    
    ## Critères d’acceptation
    - Le résultat reste lisible sans animation
    - Pause, réduction système et repli fonctionnent pendant la lecture
    - Le démontage annule effets et écouteurs
    - Seuls transform ou opacity changent ; le coût sur appareil reste non mesuré
    
    ## Garde-fous
    - Montre d’abord les changements envisagés avant toute action externe.
    - Ne publie, n’envoie, ne supprime, ne paie et ne modifie aucun état distant sans autorisation explicite.
    - Préserve les changements sans rapport et arrête-toi si le périmètre devient ambigu.
    
    ## Format de sortie
    - Résultat obtenu ou verdict.
    - Fichiers ou actions concernés.
    - Vérifications exécutées et preuves observables.
    - Blocages ou limites restantes.
    
    • Web platform
    • Prérequis · Accès au dépôt, au design system et aux tests
    Pourquoi ça marche
    • Le besoin est relié au comportement canonique avant toute décision technique.
    • Les états, l’accessibilité et les non-objectifs empêchent une implémentation seulement visuelle.
    • Les critères d’acceptation et le format de sortie rendent la vérification observable.

    À essayer ensuite

    Vérifie Transition d’état sur un parcours réel

    # Vérifier Transition d’état après l’implémentation
    
    ## Objectif
    Audite l’implémentation de Transition d’état au regard de son comportement, de ses états et de ses exigences d’accessibilité sans la modifier automatiquement.
    
    ## Contrôles
    - Rejoue le plus petit parcours représentatif.
    - Contrôle le clavier, le focus, le nom accessible et les annonces.
    - Relie chaque écart à un critère d’acceptation précis.
    
    ## Garde-fous
    - Montre d’abord les changements envisagés avant toute action externe.
    - Ne publie, n’envoie, ne supprime, ne paie et ne modifie aucun état distant sans autorisation explicite.
    - Préserve les changements sans rapport et arrête-toi si le périmètre devient ambigu.
    
    ## Format de sortie
    - Résultat obtenu ou verdict.
    - Fichiers ou actions concernés.
    - Vérifications exécutées et preuves observables.
    - Blocages ou limites restantes.
    

    sha256:3979ba445cadae1b98a7381ef11d0945e1224f840629c3b24bb64af30f4939bc

    Diagnostiquer un problème

    Trouve et corrige le défaut de Transition d’état

    # Déboguer Transition d’état dans ton agent
    
    ## Symptôme observé
    [DÉCRIS ICI LE SYMPTÔME]
    
    ## Contrôles observables
    - Reproduis le problème avec le plus petit parcours pertinent.
    - Compare le comportement aux états et transitions documentés de Transition d’état.
    - Vérifie le clavier, le focus, le nom accessible et les annonces.
    
    ## Causes possibles
    - La primitive employée ne correspond pas au comportement attendu.
    - Un état, une transition ou un retour de focus manque.
    - Le composant voisin capture un événement ou masque un signal accessible.
    
    ## Corrections bornées
    - Corrige la cause reproduite sans recréer les composants voisins.
    - Conserve le contrat public et ajoute un test ciblé de non-régression.
    - N’installe aucune dépendance et ne modifie aucun état distant sans autorisation.
    
    ## Vérification finale
    - Le résultat reste lisible sans animation
    - Pause, réduction système et repli fonctionnent pendant la lecture
    - Le démontage annule effets et écouteurs
    - Seuls transform ou opacity changent ; le coût sur appareil reste non mesuré
    
    ## Garde-fous
    - Montre d’abord les changements envisagés avant toute action externe.
    - Ne publie, n’envoie, ne supprime, ne paie et ne modifie aucun état distant sans autorisation explicite.
    - Préserve les changements sans rapport et arrête-toi si le périmètre devient ambigu.
    
    ## Format de sortie
    - Résultat obtenu ou verdict.
    - Fichiers ou actions concernés.
    - Vérifications exécutées et preuves observables.
    - Blocages ou limites restantes.
    
    • Web platform
    • Prérequis · Accès au dépôt, au design system et aux tests
    Pourquoi ça marche
    • Le symptôme explicite évite de partir d’une correction supposée.
    • Les contrôles séparent comportement, accessibilité et interférences voisines.
    • La correction reste bornée et doit produire une preuve de non-régression.

    À essayer ensuite

    Verrouille la correction de Transition d’état

    # Empêcher la régression de Transition d’état
    
    ## Objectif
    Transforme la cause reproduite en test de non-régression ciblé et compare Transition d’état aux concepts voisins avant d’élargir la correction.
    
    ## Contrôles
    - Prouve que le test échoue avant la correction.
    - Prouve qu’il passe après la correction bornée.
    - Vérifie qu’aucun composant voisin n’a changé de comportement.
    
    ## Garde-fous
    - Montre d’abord les changements envisagés avant toute action externe.
    - Ne publie, n’envoie, ne supprime, ne paie et ne modifie aucun état distant sans autorisation explicite.
    - Préserve les changements sans rapport et arrête-toi si le périmètre devient ambigu.
    
    ## Format de sortie
    - Résultat obtenu ou verdict.
    - Fichiers ou actions concernés.
    - Vérifications exécutées et preuves observables.
    - Blocages ou limites restantes.
    

    sha256:1e3981579cc5d94094d2d32d129a9fd2efd98c1fdda30e5cd9ec9084957a7db0

    Fiche complète, enregistrement et provenance

    Instruction pré-écrite par SkillCodex — ta demande n’est ni envoyée ni utilisée pour adapter ce texte ; aucun contenu n’est généré et copier n’exécute rien.

    Digest du Pack: sha256:f22334fe5dc640dd354200552cff737176e8297ff5851d1a87c40e0ddfbc6371

    Dans le code

    TechnologiePrimitiveVersionLimite
    Web platform

    button, label, select, input[type=checkbox] and decorative div

    NatifDémo native du navigateur, sans nouveau widget ARIA. Le contenu statique reste utilisable.

    Détails techniques

    Comportements

    • Annoncer les changements utiles

      Une région live annonce un nouvel état seulement si la mise à jour est importante et n'a pas déjà le focus.

    • Exécuter une action

      L'activation au pointeur, avec Entrée ou Espace, exécute une action nommée une seule fois.

    États

    • Prêt

      État initial statique

    • En cours

      L’effet facultatif est en cours

    • En pause

      La lecture est figée

    • Résultat

      Résultat persistant sans mouvement nécessaire

    Transitions d’état

    • Prêt → En cours

      Active Lire lorsque le mouvement est disponible

    • En cours → En pause

      Active Pause

    • En cours → Résultat

      Termine ou active le repli statique

    Scénarios de test

    Contexte
    Confirme une action locale terminée par un texte persistant et un fondu court facultatif.
    Mission
    Compare une mise à jour instantanée avec un fondu de 200 ms. Enregistré apparaît immédiatement dans les deux cas ; seule la coche décorative apparaît en fondu.
    État principal
    Une transition d’état change un état utile, par exemple Brouillon vers Enregistré. L’animation peut renforcer ce retour ; elle ne détermine jamais si l’enregistrement a réussi.
    Cas limite
    La réduction système ou une API indisponible conserve la même information statique. Aucune opération de données ne dépend de la lecture.

    Signaux visuels

    • Un spécimen délimité avec un départ et un résultat visibles
    • Un texte lisible sans mouvement

    Signaux comportementaux

    • Compare une mise à jour instantanée avec un fondu de 200 ms. Enregistré apparaît immédiatement dans les deux cas ; seule la coche décorative apparaît en fondu.
    • Démarre sur demande ; pause et repli statique restent disponibles

    Accessibilité

    Rôle
    button + select + checkbox + status
    Nom accessible
    Le contrôle principal ou la région nommée pour Transition d’état possède un nom accessible stable issu d’un texte visible ou d’un libellé programmatique explicite ; le placeholder et l’infobulle ne servent pas de nom.
    Focus clavier
    Le focus reste sur le contrôle activé. Recommencer rend le focus à son bouton.
    Fermeture
    Pause fige la lecture ; le repli statique l’annule. Quitter le spécimen annule son animation et retire les écouteurs.
    Défilement
    L'activation du contrôle avec Espace ne fait pas défiler la page, et le retour apparaît sans déplacer le focus ni provoquer de saut inattendu.
    Annonce
    Annonce les changements d’état par un texte concis, jamais les images de l’animation. Le visuel décoratif reste masqué aux technologies d’assistance.
    Clavier
    • Tab atteint chaque contrôle
    • Entrée ou Espace active les boutons ; les flèches changent le sélecteur natif ; Espace bascule la case du repli statique

    Implémentations

    Ouvrir la matrice HTML, ARIA, Radix et shadcn
    • button, label, select, input[type=checkbox] and decorative div

      implementationKind
      custom
      nativeElement
      button, label, select, input[type=checkbox] and decorative div
      ariaPattern
      native controls and status text
      radixPrimitive
      Non applicable
      shadcnRecipe
      Non applicable
      runtimeDependency
      Non applicable
      packageName
      Non applicable
      exportName
      Non applicable
      exactVersion
      Non applicable
      status
      exception
      sourceId
      source-ui-motion-waapi
      deprecationStatus
      active
      replacement
      Non applicable
      validFrom
      Non applicable
      validUntil
      Non applicable

      Limite d’équivalence : Démo native du navigateur, sans nouveau widget ARIA. Le contenu statique reste utilisable.

      Vérifier la source du binding

    Sources

    • Web Animations API
      sourceId
      source-ui-motion-waapi
      kind
      documentation
      canonicalUrl
      https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API
      publisher
      MDN
      sourceRevision
      Wed, 16 Sep 2026 01:08:41 GMT
      consultedAt
      2026-09-16
      license
      Non indiquée
      contentDigest
      sha256:b030cde49d8dbf6294ab507e29a03d53591011c9bd11ca2d48d87182a0abd50b
      status
      verified

      Affirmation couverte : Transition d’état : Lecture, pause et annulation des animations du navigateur.

    • WCAG 2.2: Status Messages
      sourceId
      source-ui-wcag-understanding-status-messages
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-07-02T10:07:49Z
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:cf2a8c16b20c1a94164c9a37e2b3f15d9a7d3f47d88385d47432d6a29655609e
      status
      verified

      Affirmation couverte : Transition d’état : guide WCAG informatif sur les messages d'état annoncés sans déplacer le focus.

    • prefers-reduced-motion
      sourceId
      source-ui-motion-reduction
      kind
      documentation
      canonicalUrl
      https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@media/prefers-reduced-motion
      publisher
      MDN
      sourceRevision
      Wed, 16 Sep 2026 01:08:49 GMT
      consultedAt
      2026-09-16
      license
      Non indiquée
      contentDigest
      sha256:573fe46ee27fed249d9c39e910a2a6c258cee26527e90554ba5b02eba1496fbf
      status
      verified

      Affirmation couverte : Transition d’état : Préférences de mouvement et alternative statique.

    • High-performance animations
      sourceId
      source-ui-motion-performance
      kind
      documentation
      canonicalUrl
      https://web.dev/articles/animations-guide?hl=de
      publisher
      Google web.dev
      sourceRevision
      Tue, 06 Oct 2020 07:00:00 GMT
      consultedAt
      2026-09-16
      license
      Non indiquée
      contentDigest
      sha256:2f4492e9ba7b3679936eac2f1f1e6e42dcde7fc65bf29cf6f848d076df224acd
      status
      verified

      Affirmation couverte : Transition d’état : Coût de rendu de transform et opacity ; la composition ne garantit pas les performances.