Aller au contenu
SkillCodex
Menu

Tree view

Vue arborescente

Un widget composite pour parcourir des éléments hiérarchiques dont les nœuds parents peuvent développer ou replier leurs groupes enfants.

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

Tu as peut-être cherché : parcourir des dossiers dans une hiérarchiedévelopper un parent pour révéler ses enfantsreplier des branches imbriquées

Toutes les formulations
Enregistrer et partager

Reconnaître

Structurer et explorer des données

Essayer

Faut-il lire des données tabulaires, interagir cellule par cellule ou développer une hiérarchie ?

Vue arborescente

Contexte commun aux essais

Un espace de travail présente un grand ensemble d’informations dont la structure et le modèle d’interaction déterminent comment les personnes le parcourent, le modifient ou le développent.

Vue arborescente

Mission

Vue arborescente

Entre une fois, développe Projets avec Droite, atteins Design, sélectionne-le puis reviens au parent et réduis-le.

Archives
Point de navigation : Projets

Résultat de l’essai

Projets est le point d’entrée géré et reste réduit ; ses enfants sont hors de la navigation.

Étape 1 sur 3

Essayer

Manipule le composant. Le résultat de ton essai apparaît juste au-dessus. Avance à ton rythme.

Comportement et cas limite
À observer
Projets est focalisé et réduit ; les enfants masqués sont absents de la navigation.
Cas limite
Les feuilles n’exposent jamais aria-expanded et les enfants d’un parent réduit quittent la navigation et le focus.

Ce que cet essai montre

La vue arborescente combine hiérarchie, focus composite et développement des parents ; la grille de données parcourt des cellules tabulaires, tandis qu’une liste imbriquée ou un accordéon n’offre pas le modèle clavier unifié de l’arbre.

Lequel convient à ton besoin ?

Vue arborescente

Il faut parcourir une vraie hiérarchie parent-enfant

Tableau

Il faut comparer des valeurs entre lignes et colonnes

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

La vue arborescente combine hiérarchie, focus composite et développement des parents ; la grille de données parcourt des cellules tabulaires, tandis qu’une liste imbriquée ou un accordéon n’offre pas le modèle clavier unifié de l’arbre.

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.

    Arborescence

    La hiérarchie composite qui possède ses éléments visibles et son modèle de focus.

    Position dans l’atlas

    Carte relationnelle

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

    • Chapitre

      Structurer et explorer des données

      Vue arborescente appartient à ce groupe de concepts comparés.

    • Ne pas confondre

      Tableau

      Choisis Vue arborescente si les éléments ont des parents et que l’utilisateur descend de niveau en niveau. Choisis Tableau si l’utilisateur compare des valeurs entre lignes et colonnes sans structure parent-enfant.

      Comparer cette paire
    • Ne pas confondre

      Grille de données

      Choisis Vue arborescente si la structure est une vraie hiérarchie, comme des dossiers, que l’utilisateur développe niveau par niveau. Choisis Grille de données si les données sont tabulaires et que l’utilisateur édite ou parcourt beaucoup de cellules efficacement.

      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 : arborescence, navigateur hiérarchique, vue en arbre

    • parcourir des dossiers dans une hiérarchie
    • développer un parent pour révéler ses enfants
    • replier des branches imbriquées
    • parcourir les nœuds visibles avec les flèches
    • sélectionner un élément dans une arborescence de fichiers
    • atteindre un nœud en tapant son nom

    Choisir

    À utiliser quand

    • Il faut parcourir une vraie hiérarchie parent-enfant
    • Les branches doivent se développer sur place avec une navigation clavier efficace

    À éviter quand

    • Les éléments forment une liste plate
    • Le contenu est un plan statique ou des révélations indépendantes

    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

      Atteins l’arborescence avec Tab et utilise la flèche droite pour ouvrir un parent, puis descends parmi ses enfants.

      Résultat attendu

      L’état ouvert est clair, et la navigation au clavier suit la hiérarchie visible.

    2. 2. À faire

      Utilise la flèche gauche pour revenir à un parent ou le replier, puis continue avec les flèches haut et bas.

      Résultat attendu

      Les enfants masqués sont ignorés, le focus reste sur un élément visible et une feuille n’est pas présentée comme dépliable.

    3. 3. À faire

      Active l’action principale d’une feuille avec Entrée, puis utilise Tab pour quitter l’arborescence.

      Résultat attendu

      L’élément voulu s’ouvre ou agit selon le modèle annoncé, le focus et la sélection se distinguent et Tab quitte normalement l’arborescence.

    Contrat complet
    1. 1L’arborescence possède un nom accessible
    2. 2Chaque nœud est un treeitem dans le bon groupe
    3. 3Seuls les parents exposent aria-expanded
    4. 4Une seule stratégie de focus composite est utilisée
    5. 5Focus et sélection restent distincts

    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 Vue arborescente sans casser son comportement

    # Implémenter Vue arborescente dans ton agent
    
    ## Objectif
    Implémente Vue arborescente pour ce comportement vérifié : Un widget composite pour parcourir des éléments hiérarchiques dont les nœuds parents peuvent développer ou replier leurs groupes enfants.
    
    ## 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 Vue arborescente répond au besoin avant de coder.
    
    ## Comportement requis
    - Haut et Bas parcourent les éléments visibles ; Gauche et Droite naviguent entre les niveaux parent-enfant.
    - Un élément parent expose ou masque son groupe d’enfants tandis que focus et sélection restent distincts.
    
    ## États à couvrir
    - Arborescence au repos
    - Parent réduit focalisé
    - Parent développé focalisé
    - Enfant focalisé
    - Enfant sélectionné
    
    ## Accessibilité
    - Rôle ARIA : tree > treeitem + group
    - Le contrôle principal ou la région nommée pour Vue arborescente 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.
    - Utilise roving tabindex ou aria-activedescendant de façon cohérente et distingue le focus visible de aria-selected ou aria-checked.
    - L’arborescence ne se ferme pas ; Gauche réduit un parent ouvert et Échap n’est pas une commande obligatoire.
    - Chaque treeitem expose son nom, son niveau, sa position, son état développé s’il est parent et une propriété de sélection cohérente ; les nœuds terminaux n’exposent jamais aria-expanded.
    - Tab entre une seule fois dans l’arborescence
    - Haut et Bas parcourent les nœuds visibles
    - Droite ouvre un parent ou atteint son premier enfant ; Gauche ferme ou revient au parent
    - Début et Fin atteignent les premier et dernier nœuds ; la saisie anticipée trouve une correspondance
    - Entrée exécute l’action par défaut et la sélection suit le modèle déclaré
    
    ## Quand ne pas utiliser
    - Les éléments forment une liste plate
    - Le contenu est un plan statique ou des révélations indépendantes
    
    ## Critères d’acceptation
    - L’arborescence possède un nom accessible
    - Chaque nœud est un treeitem dans le bon groupe
    - Seuls les parents exposent aria-expanded
    - Une seule stratégie de focus composite est utilisée
    - Focus et sélection restent distincts
    
    ## 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 Vue arborescente sur un parcours réel

    # Vérifier Vue arborescente après l’implémentation
    
    ## Objectif
    Audite l’implémentation de Vue arborescente 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:4c9eb7ac57ff3b66565750b6b3b3ffbe9234ce635e78c031d43e4f1e60545f73

    Diagnostiquer un problème

    Trouve et corrige le défaut de Vue arborescente

    # Déboguer Vue arborescente 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 Vue arborescente.
    - 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
    - L’arborescence possède un nom accessible
    - Chaque nœud est un treeitem dans le bon groupe
    - Seuls les parents exposent aria-expanded
    - Une seule stratégie de focus composite est utilisée
    - Focus et sélection restent distincts
    
    ## 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 Vue arborescente

    # Empêcher la régression de Vue arborescente
    
    ## Objectif
    Transforme la cause reproduite en test de non-régression ciblé et compare Vue arborescente 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:09f77826174fe005041c624d31a2030f518d9af3ccaeac668dc7f70da1ba28b7

    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:6648fd02988ad17442c3aefd75e5a42ff12df45a05e1a40f98dbba645c28f038

    Dans le code

    TechnologiePrimitiveVersionLimite
    Web platform

    nested elements with managed item focus

    NatifL’arborescence ARIA exige un modèle clavier composite complet. Une simple liste de navigation imbriquée doit rester une liste si cette complexité est inutile.

    Détails techniques

    Comportements

    • Parcourir la hiérarchie

      Haut et Bas parcourent les éléments visibles ; Gauche et Droite naviguent entre les niveaux parent-enfant.

    • Développer ou réduire une branche

      Un élément parent expose ou masque son groupe d’enfants tandis que focus et sélection restent distincts.

    États

    • Arborescence au repos

      Arborescence au repos

    • Parent réduit focalisé

      Parent réduit focalisé

    • Parent développé focalisé

      Parent développé focalisé

    • Enfant focalisé

      Enfant focalisé

    • Enfant sélectionné

      Enfant sélectionné

    Transitions d’état

    • Arborescence au repos → Parent réduit focalisé

      Tab focalise le nœud sélectionné ou le premier si aucun n’est sélectionné.

    • Parent réduit focalisé → Parent développé focalisé

      Flèche droite ouvre le parent réduit sans déplacer le focus.

    • Parent développé focalisé → Enfant focalisé

      Flèche droite sur le parent ouvert déplace le focus vers son premier enfant.

    • Enfant focalisé → Enfant sélectionné

      Entrée exécute l’action par défaut ou Espace sélectionne selon le modèle déclaré.

    • Enfant sélectionné → Arborescence au repos

      Réinitialiser restaure l’arborescence réduite et efface la sélection du spécimen.

    Scénarios de test

    Contexte
    Un navigateur de fichiers contient un parent Projets avec un enfant Design.
    Mission
    Entre une fois, développe Projets avec Droite, atteins Design, sélectionne-le puis reviens au parent et réduis-le.
    État principal
    Projets est focalisé et réduit ; les enfants masqués sont absents de la navigation.
    Cas limite
    Les feuilles n’exposent jamais aria-expanded et les enfants d’un parent réduit quittent la navigation et le focus.

    Signaux visuels

    • L’indentation expose les niveaux hiérarchiques
    • Les éléments parents ont un indicateur de déploiement
    • Focus et sélection ont des repères différents

    Signaux comportementaux

    • Droite et Gauche parcourent les niveaux parent-enfant
    • Haut et Bas visitent seulement les nœuds visibles
    • Le déploiement ne change jamais la sélection silencieusement

    Accessibilité

    Rôle
    tree > treeitem + group
    Nom accessible
    Le contrôle principal ou la région nommée pour Vue arborescente 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
    Utilise roving tabindex ou aria-activedescendant de façon cohérente et distingue le focus visible de aria-selected ou aria-checked.
    Fermeture
    L’arborescence ne se ferme pas ; Gauche réduit un parent ouvert et Échap n’est pas une commande obligatoire.
    Défilement
    Le développement, la réduction et la navigation dans la hiérarchie gardent l’élément focalisé visible avec un débordement imbriqué prévisible.
    Annonce
    Chaque treeitem expose son nom, son niveau, sa position, son état développé s’il est parent et une propriété de sélection cohérente ; les nœuds terminaux n’exposent jamais aria-expanded.
    Clavier
    • Tab entre une seule fois dans l’arborescence
    • Haut et Bas parcourent les nœuds visibles
    • Droite ouvre un parent ou atteint son premier enfant ; Gauche ferme ou revient au parent
    • Début et Fin atteignent les premier et dernier nœuds ; la saisie anticipée trouve une correspondance
    • Entrée exécute l’action par défaut et la sélection suit le modèle déclaré

    Implémentations

    Ouvrir la matrice HTML, ARIA, Radix et shadcn
    • nested elements with managed item focus

      implementationKind
      custom
      nativeElement
      nested elements with managed item focus
      ariaPattern
      tree with treeitem and group
      radixPrimitive
      Non applicable
      shadcnRecipe
      Non applicable
      runtimeDependency
      Non applicable
      packageName
      Non applicable
      exportName
      Non applicable
      exactVersion
      Non applicable
      status
      exception
      sourceId
      source-ui-aria-tree-view
      deprecationStatus
      active
      replacement
      Non applicable
      validFrom
      Non applicable
      validUntil
      Non applicable

      Limite d’équivalence : L’arborescence ARIA exige un modèle clavier composite complet. Une simple liste de navigation imbriquée doit rester une liste si cette complexité est inutile.

      Vérifier la source du binding

    Sources

    • WAI-ARIA APG: Tree View Pattern
      sourceId
      source-ui-aria-tree-view
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/ARIA/apg/patterns/treeview/
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-08-07T07:06:02Z
      consultedAt
      2026-08-10
      license
      Non indiquée
      contentDigest
      sha256:5890fd989b1523d4392b72deed8f7ab09d8c76fcc39da86414d9c7d80d9d499d
      status
      verified

      Affirmation couverte : Vue arborescente : guide APG informatif pour le modèle vue arborescente : rôles, états, relations et interactions au clavier.

    • WAI-ARIA 1.2: Roles Model
      sourceId
      source-ui-wai-aria-roles
      kind
      standard
      canonicalUrl
      https://www.w3.org/TR/wai-aria-1.2/#roles
      publisher
      W3C WAI
      sourceRevision
      W3C-REC-wai-aria-1.2-20230606
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:c0fea16fc747779569ab754d2d25bca3e2b7e8a673b8ef5362aeb9ebc73a4849
      status
      verified

      Affirmation couverte : Vue arborescente : définitions normatives des rôles ARIA et contraintes du rôle accessible indiqué.

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

      Affirmation couverte : Vue arborescente : guide WCAG informatif pour évaluer l'apparence visible du focus clavier.

    • WAI-ARIA 1.2: Live Region Attributes
      sourceId
      source-ui-wai-aria-live-regions
      kind
      standard
      canonicalUrl
      https://www.w3.org/TR/wai-aria-1.2/#attrs_liveregions
      publisher
      W3C WAI
      sourceRevision
      W3C-REC-wai-aria-1.2-20230606
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:c0fea16fc747779569ab754d2d25bca3e2b7e8a673b8ef5362aeb9ebc73a4849
      status
      verified

      Affirmation couverte : Vue arborescente : propriétés normatives des régions live pour le comportement d'annonce d'état.

    • 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 : Vue arborescente : guide WCAG informatif sur les messages d'état annoncés sans déplacer le focus.