Aller au contenu
SkillCodex
Menu

Tabs

Onglets

Un ensemble de libellés qui bascule entre des panneaux de contenu liés en gardant un seul panneau visible à la fois.

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

Tu as peut-être cherché : basculer entre les panneaux aperçu et activitédes libellés en haut qui changent le contenuafficher une vue liée à la fois

Toutes les formulations
Enregistrer et partager

Reconnaître

Changer de vue ou révéler du contenu

Essayer

Faut-il changer de vue, choisir un mode compact ou révéler du contenu dans le flux ?

Onglets

Contexte commun aux essais

Un espace projet révèle du contenu associé sur place tout en conservant la position de l'utilisateur dans la page.

Onglets

Mission

Onglets - Tabs

Passe le focus d’Aperçu à Fichiers avec les flèches, puis appuie sur Entrée pour afficher son panneau.

Aperçu

Résumé du projet et prochaines échéances.

Résultat de l’essai

Le panneau Aperçu est affiché.

É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
Un onglet sélectionné nomme le panneau visible, et les autres panneaux sont masqués de l'interaction.
Cas limite
Si un panneau charge sensiblement, l'activation devient manuelle afin que les flèches ne déclenchent pas des attentes répétées.

Ce que cet essai montre

Tabs contrôle des panneaux de contenu ; Segmented control choisit une valeur, tandis qu'Accordion révèle des sections verticales sans remplacer un panneau commun.

Lequel convient à ton besoin ?

Onglets

Regrouper quelques vues de même niveau

Contrôle segmenté

Basculer entre quelques modes d'affichage compacts

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

Tabs contrôle des panneaux de contenu ; Segmented control choisit une valeur, tandis qu'Accordion révèle des sections verticales sans remplacer un panneau commun.

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.

    Liste d'onglets

    L'ensemble nommé qui regroupe les onglets disponibles.

    Position dans l’atlas

    Carte relationnelle

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

    • Chapitre

      Changer de vue ou révéler du contenu

      Onglets appartient à ce groupe de concepts comparés.

    • Ne pas confondre

      Contrôle segmenté

      Choisis Onglets si chaque option affiche son propre panneau de contenu dans une zone commune. Choisis Contrôle segmenté si le choix est une valeur, comme un tri ou une unité, qui change la façon d’afficher le même contenu.

      Comparer cette paire
    • Ne pas confondre

      Accordéon

      Choisis Onglets si les vues sont de même niveau et qu’une seule doit occuper l’espace à la fois. Choisis Accordéon si plusieurs sections peuvent rester ouvertes en même temps et se lisent de haut en bas, comme une FAQ.

      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 : interface à onglets, barre d'onglets, panneaux à onglets

    • basculer entre les panneaux aperçu et activité
    • des libellés en haut qui changent le contenu
    • afficher une vue liée à la fois
    • une rangée d'onglets au-dessus d'un panneau
    • changer de section sans quitter la page
    • des flèches clavier entre les vues de contenu

    Choisir

    À utiliser quand

    • Regrouper quelques vues de même niveau
    • Basculer instantanément entre des sections de réglages liées

    À éviter quand

    • Les panneaux doivent être comparés simultanément
    • Chaque destination mérite sa propre URL et navigation de page

    Comparer

    Comparer les concepts proches

    Équivalents par plateforme

    Une même interaction peut changer de nom ou de contrat selon la plateforme. Vérifie la correspondance avant de choisir une API.

    • HTML

      Aucune primitive directe

      Aucune primitive directe

      HTML n'a pas d'élément tabs ; boutons, panneaux, état, mouvement du focus et masquage doivent être composés.

      Vérifié
    • WAI-ARIA APG

      Direct

      tablist + tab + tabpanel roles

      WAI-ARIA APG 2026-09

      Le modèle définit les relations de rôles, un seul arrêt de tabulation, les flèches, la sélection et la visibilité des panneaux.

      Vérifié Documentation officielle
    • Radix UI

      Direct

      Tabs.Root

      @radix-ui/react-tabs 1.1.x

      La primitive coordonne liste, déclencheurs, panneaux, orientation du clavier, activation et état.

      Vérifié Documentation officielle
    • shadcn/ui

      Direct

      Tabs

      shadcn/ui docs 2026-09-03

      La recette Tabs expose le comportement des onglets Radix avec un style local.

      Vérifié Documentation officielle
    • Material UI

      Direct

      Tabs + Tab

      Material UI v9.4.0

      Tabs gère sélection et indicateur ; l'application associe et rend chaque panneau d'onglet.

      Vérifié Documentation officielle
    • SwiftUI

      Direct

      TabView

      SwiftUI documentation 2026-09

      TabView bascule entre les vues enfants sélectionnées et adapte la présentation des onglets à la plateforme.

      Vérifié Documentation officielle
    • Jetpack Compose

      Direct

      Tab + PrimaryTabRow

      Android Developers 2026-08

      Les rangées d'onglets présentent les destinations ; l'état de l'application sélectionne et rend le contenu correspondant.

      Vérifié Documentation officielle
    • Flutter

      Direct

      TabBar + TabBarView

      Flutter API docs 2026-09

      TabBar et TabBarView partagent un contrôleur pour synchroniser sélection, navigation au clavier ou par geste et panneaux.

      Vérifié Documentation officielle

    Profil d’impact

    Coûts d’implémentation mesurés et contraintes d’exploitation de ce spécimen SkillCodex. Une valeur non évaluée n’est jamais présentée comme gratuite.

    Rendu
    Client
    Poids différé
    11.4 kB-gzip
    Mesuré ·
    Environnement
    macOS 26.6.2; Node 24.19.0; pnpm 10.34.5; Next.js 16.3.0 Turbopack; Chromium 140
    Méthode
    Sum of gzip -9 bytes for the lazy files of module 26189 in .next/server/app/(en)/term/[slug]/page/react-loadable-manifest.json after pnpm build:local at c9f1299.
    Appareils modestes
    Correct
    Mesuré ·
    Environnement
    macOS 26.6.2; Node 24.19.0; pnpm 10.34.5; Next.js 16.3.0 Turbopack; Chromium 140
    Méthode
    Loaded the 390 x 844 term route in isolated Chromium with 6x CPU throttling and reduced motion, then exercised the first state change; failures are recorded as non-blocking warnings.
    CPU / GPU
    Radix et React permutent des panneaux DOM de même niveau ; aucun rendu canvas, WebGL ou animation continue n’est présent.
    Mesuré ·
    Environnement
    macOS 26.6.2; Node 24.19.0; pnpm 10.34.5; Next.js 16.3.0 Turbopack; Chromium 140
    Méthode
    Static source inspection of the target lab module plus an interaction on the isolated Chromium verification route; checked DOM/React work and absence of canvas or WebGL.
    Réduction des animations
    Le contrat global de réduction des animations ramène leurs durées et celles des transitions au minimum ; les mêmes états et contrôles restent disponibles.
    Mesuré ·
    Environnement
    macOS 26.6.2; Node 24.19.0; pnpm 10.34.5; Next.js 16.3.0 Turbopack; Chromium 140
    Méthode
    Inspected src/app/globals.css prefers-reduced-motion rules and repeated the target interaction with reducedMotion=reduce in Chromium.
    Repli statique
    Sans JavaScript, la fiche reste sur son repli Chargement localisé ; le profil et le spécimen initial ne sont pas révélés.
    Mesuré ·
    Environnement
    macOS 26.6.2; Node 24.19.0; pnpm 10.34.5; Next.js 16.3.0 Turbopack; Chromium 140
    Méthode
    Loaded all ten prerendered routes from a local next start build in Chromium with JavaScript disabled; each HTTP 200 remained on the localized Loading fallback, so the profile and specimen were not revealed.
    Rendu serveur
    S’hydrate
    Mesuré ·
    Environnement
    macOS 26.6.2; Node 24.19.0; pnpm 10.34.5; Next.js 16.3.0 Turbopack; Chromium 140
    Méthode
    Inspected the prerendered route response, then loaded the same route with JavaScript enabled and exercised the hydrated client specimen.
    Maintenance
    Stable

    Bon choix

    • Un petit ensemble de sections de même niveau dont un seul panneau est visible.

    À éviter quand

    • Des sections développables indépendantes ou un parcours linéaire en plusieurs étapes.

    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

      Sélectionne un autre onglet et examine le contenu en dessous.

      Résultat attendu

      Un seul panneau de ce groupe est affiché, et l’onglet sélectionné identifie le panneau qu’il commande.

    2. 2. À faire

      Atteins les onglets avec Tab et déplace-toi avec les flèches ; utilise Entrée ou Espace si l’activation est manuelle.

      Résultat attendu

      Le focus se déplace entre les onglets. Le panneau sélectionné change selon le mode d’activation annoncé, automatique ou manuel.

    3. 3. À faire

      Appuie sur Tab depuis l’onglet sélectionné, lis le panneau affiché, puis continue avec Tab ; utilise ses liens ou commandes s’il en contient.

      Résultat attendu

      Le panneau affiché est accessible et lisible ; ses éventuelles commandes suivent un ordre logique, et les panneaux masqués n’ajoutent aucun arrêt invisible.

    Contrat complet
    1. 1Chaque onglet contrôle exactement un panneau
    2. 2Un seul panneau de même niveau est présenté à la fois
    3. 3Les flèches et l'activation sont documentées
    4. 4Les panneaux lents utilisent l'activation manuelle

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

    # Implémenter Onglets dans ton agent
    
    ## Objectif
    Implémente Onglets pour ce comportement vérifié : Un ensemble de libellés qui bascule entre des panneaux de contenu liés en gardant un seul panneau visible à la fois.
    
    ## 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 qu’Onglets répond au besoin avant de coder.
    
    ## Comportement requis
    - L’onglet sélectionné affiche son panneau associé tandis que les autres sont masqués.
    - Les flèches parcourent les éléments liés selon leur orientation visuelle.
    
    ## États à couvrir
    - Onglet Aperçu sélectionné
    - Onglet Fichiers sélectionné
    
    ## Accessibilité
    - Rôle ARIA : tablist > tab + tabpanel
    - Le contrôle principal ou la région nommée pour Onglets 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.
    - La liste est un seul arrêt de tabulation ; le panneau visible est atteint dans l’ordre normal s’il contient des contrôles.
    - Sans objet : sélectionner un autre onglet remplace le panneau visible sans fermer le composant.
    - L’état sélectionné et la relation entre chaque onglet et son panneau nommé sont exposés.
    - Tab entre sur l’onglet sélectionné
    - Les flèches parcourent les onglets
    - Entrée ou Espace active en mode manuel
    - Début et Fin atteignent le premier et le dernier
    
    ## Quand ne pas utiliser
    - Les panneaux doivent être comparés simultanément
    - Chaque destination mérite sa propre URL et navigation de page
    
    ## Critères d’acceptation
    - Chaque onglet contrôle exactement un panneau
    - Un seul panneau de même niveau est présenté à la fois
    - Les flèches et l’activation sont documentées
    - Les panneaux lents utilisent l’activation manuelle
    
    ## 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.
    
    • @radix-ui/react-tabs
    • 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 Onglets sur un parcours réel

    # Vérifier Onglets après l’implémentation
    
    ## Objectif
    Audite l’implémentation d’Onglets 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:145b69bb3f5842d16cf98dba9ba4f0eca5aebf94503f68c6718f8f78f20ef55f

    Diagnostiquer un problème

    Trouve et corrige le défaut d’Onglets

    # Déboguer Onglets 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 d’Onglets.
    - 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
    - Chaque onglet contrôle exactement un panneau
    - Un seul panneau de même niveau est présenté à la fois
    - Les flèches et l’activation sont documentées
    - Les panneaux lents utilisent l’activation manuelle
    
    ## 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.
    
    • @radix-ui/react-tabs
    • 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 d’Onglets

    # Empêcher la régression d’Onglets
    
    ## Objectif
    Transforme la cause reproduite en test de non-régression ciblé et compare Onglets 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:7729cb2dbce789266b76f4e1988509813e346920fdc48997cfbb119069cae5f1

    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:c2e58c7673fda6f84334674ffa7ea5e988226aec8745a13f5f5c1301973ef843

    Dans le code

    TechnologiePrimitiveVersionLimite
    @radix-ui/react-tabs

    Tabs.Root

    @radix-ui/react-tabs@1.1.17Choisis l’activation manuelle ou automatique selon la latence des panneaux et teste le comportement clavier correspondant.

    Détails techniques

    Comportements

    • Activer un panneau

      L'onglet sélectionné affiche son panneau associé tandis que les autres sont masqués.

    • Naviguer avec les flèches

      Les flèches parcourent les éléments liés selon leur orientation visuelle.

    États

    • Onglet Aperçu sélectionné

      Onglet Aperçu sélectionné

    • Onglet Fichiers sélectionné

      Onglet Fichiers sélectionné

    Transitions d’état

    • Onglet Aperçu sélectionné → Onglet Fichiers sélectionné

      La navigation par flèches atteint Fichiers et l’activation automatique ou explicite révèle son panneau.

    • Onglet Fichiers sélectionné → Onglet Aperçu sélectionné

      La navigation par flèches atteint Aperçu et l’activation automatique ou explicite révèle son panneau.

    Scénarios de test

    Contexte
    Une page projet regroupe Aperçu, Activité et Fichiers dans un espace local rapide.
    Mission
    Passe le focus d’Aperçu à Fichiers avec les flèches, puis appuie sur Entrée pour afficher son panneau.
    État principal
    Un onglet sélectionné nomme le panneau visible, et les autres panneaux sont masqués de l'interaction.
    Cas limite
    Si un panneau charge sensiblement, l'activation devient manuelle afin que les flèches ne déclenchent pas des attentes répétées.

    Signaux visuels

    • Liste d'onglets horizontale ou verticale
    • Un onglet sélectionné
    • Un panneau de contenu associé

    Signaux comportementaux

    • Les flèches parcourent les onglets
    • La sélection révèle le panneau associé
    • L'activation peut être automatique seulement si les panneaux sont instantanés

    Accessibilité

    Rôle
    tablist > tab + tabpanel
    Nom accessible
    Le contrôle principal ou la région nommée pour Onglets 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
    La liste est un seul arrêt de tabulation ; le panneau visible est atteint dans l'ordre normal s'il contient des contrôles.
    Fermeture
    Sans objet : sélectionner un autre onglet remplace le panneau visible sans fermer le composant.
    Défilement
    Le changement de vue active conserve une position stable dans la page. Le focus reste sur le contrôle et le contenu révélé ne provoque pas de saut inattendu.
    Annonce
    L'état sélectionné et la relation entre chaque onglet et son panneau nommé sont exposés.
    Clavier
    • Tab entre sur l'onglet sélectionné
    • Les flèches parcourent les onglets
    • Entrée ou Espace active en mode manuel
    • Début et Fin atteignent le premier et le dernier

    Implémentations

    Ouvrir la matrice HTML, ARIA, Radix et shadcn
    • Tabs.Root

      implementationKind
      radix
      nativeElement
      Non applicable
      ariaPattern
      tabs
      radixPrimitive
      Tabs
      shadcnRecipe
      Tabs
      runtimeDependency
      @radix-ui/react-tabs@1.1.17
      packageName
      @radix-ui/react-tabs
      exportName
      Tabs.Root
      exactVersion
      1.1.17
      status
      verified
      sourceId
      source-ui-radix-tabs
      deprecationStatus
      active
      replacement
      Non applicable
      validFrom
      Non applicable
      validUntil
      Non applicable

      Limite d’équivalence : Choisis l’activation manuelle ou automatique selon la latence des panneaux et teste le comportement clavier correspondant.

      Vérifier la source du binding

    Sources

    • WAI-ARIA APG: Tabs Pattern
      sourceId
      source-ui-aria-tabs
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/ARIA/apg/patterns/tabs/
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-07-09T07:07:35Z
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:1953e8ee2c1e6200a637cdd9de23ac0ab198ea98e6bc9e4a46b0a75702306c86
      status
      verified

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

    • Radix Primitives: Tabs
      sourceId
      source-ui-radix-tabs
      kind
      documentation
      canonicalUrl
      https://www.radix-ui.com/primitives/docs/components/tabs
      publisher
      Radix Primitives
      sourceRevision
      http-etag:W/"601b796621807b6969083b7ce12ce5d6"
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:0e6235ee3c1800e791b35bacce63be07a6a06d3f9f56255b0e550d3c65d93094
      status
      verified

      Affirmation couverte : Onglets : parties, API d'état, interactions et limites d'implémentation documentées pour Radix Tabs.

    • 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 : Onglets : 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 : Onglets : guide WCAG informatif pour évaluer l'apparence visible du focus clavier.

    • WAI-ARIA APG: Button Pattern
      sourceId
      source-ui-aria-button
      kind
      documentation
      canonicalUrl
      https://www.w3.org/WAI/ARIA/apg/patterns/button/
      publisher
      W3C WAI
      sourceRevision
      http-last-modified:2026-07-09T07:07:36Z
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:863329ea659a53439b0953eec0bd0af7c6219e372d0e878f75e57d263924704c
      status
      verified

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