Aller au contenu
SkillCodex
Menu

Lightbox

Visionneuse modale

Une visionneuse modale qui agrandit un média et peut permettre de parcourir une collection associée.

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é : ouvrir cette photo en grand au-dessus de la pagevoir les images de la galerie sans quitter la pageune superposition complète pour une image produit

Toutes les formulations
Enregistrer et partager

Reconnaître

Surfaces modales

Essayer

La tâche consiste-t-elle à agir, à confirmer une décision sensible ou à consulter un média ?

Visionneuse modale

Contexte commun aux essais

Un élément de projet ouvre une surface ciblée tandis que l'espace sous-jacent reste indisponible jusqu'à ce que l'utilisateur termine ou ferme cette surface.

Visionneuse modale

Mission

Visionneuse d'images - Lightbox

Ouvrir la deuxième image, passer à la suivante au clavier, puis fermer et revenir sur la même miniature.

Résultat de l’essai

La galerie est disponible dans la page.

É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
La photo sélectionnée est agrandie avec sa légende, sa position dans l'ensemble et les contrôles de navigation.
Cas limite
Un échec de chargement conserve la légende et la navigation, explique l'erreur par du texte et ne laisse jamais une modale vide.

Ce que cet essai montre

Lightbox est une composition modale dédiée aux médias ; une Boîte de dialogue modale traite les tâches et un Dialogue d'alerte traite une décision sensible.

Lequel convient à ton besoin ?

Visionneuse modale

Examiner des photos produit en grand

Boîte de dialogue modale

Modifier une fiche compacte sans perdre le contexte

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

Lightbox est une composition modale dédiée aux médias ; une Boîte de dialogue modale traite les tâches et un Dialogue d'alerte traite une décision sensible.

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.

    Voile de fond

    La couche qui sépare une surface modale du contenu de page inactif.

    Position dans l’atlas

    Carte relationnelle

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

    • Chapitre

      Surfaces modales

      Visionneuse modale appartient à ce groupe de concepts comparés.

    • Ne pas confondre

      Boîte de dialogue modale

      Choisis Visionneuse modale si consulter ou parcourir des images ou vidéos est la tâche principale. Choisis Boîte de dialogue modale si l’utilisateur remplit un formulaire ou accomplit une autre tâche délimitée.

      Comparer cette paire
    • Ne pas confondre

      Dialogue d'alerte

      Choisis Visionneuse modale si consulter un média en grand est la tâche, sans décision sensible. Choisis Dialogue d’alerte si l’utilisateur doit décider avant une action lourde de conséquences.

      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 : visionneuse d'image, visionneuse de média, galerie modale

    • ouvrir cette photo en grand au-dessus de la page
    • voir les images de la galerie sans quitter la page
    • une superposition complète pour une image produit
    • cliquer sur une miniature pour examiner la photo
    • des photos précédente et suivante dans une fenêtre
    • agrandir une image avec légende et bouton fermer

    Choisir

    À utiliser quand

    • Examiner des photos produit en grand
    • Parcourir une petite collection d'images liées

    À éviter quand

    • Les médias doivent être comparés côte à côte
    • Le contenu est un formulaire ou une décision sensible

    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

      Ouvre la deuxième image de la galerie et lis sa légende.

      Résultat attendu

      La visionneuse affiche l’image choisie avec assez de contexte pour l’identifier et la situer dans la galerie.

    2. 2. À faire

      Atteins les commandes précédente, suivante et fermer au clavier, puis change d’image.

      Résultat attendu

      Les commandes restent accessibles dans la visionneuse, et la légende décrit la nouvelle image affichée.

    3. 3. À faire

      Ferme la visionneuse avec Échap, puis rouvre-la dans une fenêtre étroite.

      Résultat attendu

      Le focus revient à la miniature qui l’a ouverte ; l’image, la légende et le bouton de fermeture restent utilisables dans la vue étroite.

    Contrat complet
    1. 1Le média sélectionné et sa légende sont clairement identifiés
    2. 2Le clavier atteint la navigation et la fermeture
    3. 3Le focus revient à la miniature d'origine
    4. 4Les erreurs de chargement et de média ont une alternative textuelle

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

    # Implémenter Visionneuse modale dans ton agent
    
    ## Objectif
    Implémente Visionneuse modale pour ce comportement vérifié : Une visionneuse modale qui agrandit un média et peut permettre de parcourir une collection associée.
    
    ## 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 Visionneuse modale répond au besoin avant de coder.
    
    ## Comportement requis
    - Tant que la surface est modale, le focus clavier y reste jusqu’à sa fermeture.
    - Les contrôles précédent et suivant parcourent la collection sans quitter la visionneuse.
    - Échap ferme la surface temporaire et renvoie le focus vers un contrôle pertinent.
    
    ## États à couvrir
    - Vue galerie
    - Média agrandi
    
    ## Accessibilité
    - Rôle ARIA : dialog[aria-modal=true]
    - Le contrôle principal ou la région nommée pour Visionneuse modale 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.
    - L’ouverture place le focus sur la visionneuse ou le contrôle fermer, le contient, puis le rend à la miniature d’origine.
    - Le contrôle fermer nommé et Échap ferment toujours ; l’appui extérieur est facultatif et jamais le seul moyen.
    - Le titre de la visionneuse, la position du média, la légende, le texte alternatif et les échecs de chargement sont disponibles pour la technologie d’assistance.
    - Tab atteint les contrôles de la visionneuse
    - Gauche et Droite parcourent les médias lorsque prévu
    - Échap ferme la visionneuse
    
    ## Quand ne pas utiliser
    - Les médias doivent être comparés côte à côte
    - Le contenu est un formulaire ou une décision sensible
    
    ## Critères d’acceptation
    - Le média sélectionné et sa légende sont clairement identifiés
    - Le clavier atteint la navigation et la fermeture
    - Le focus revient à la miniature d’origine
    - Les erreurs de chargement et de média ont une alternative textuelle
    
    ## 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-dialog
    • 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 Visionneuse modale sur un parcours réel

    # Vérifier Visionneuse modale après l’implémentation
    
    ## Objectif
    Audite l’implémentation de Visionneuse modale 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:5b030add94dfd47ed0986d7a4a179ca1b78d944d935d2e4da1b8fe3e9b48315d

    Diagnostiquer un problème

    Trouve et corrige le défaut de Visionneuse modale

    # Déboguer Visionneuse modale 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 Visionneuse modale.
    - 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 média sélectionné et sa légende sont clairement identifiés
    - Le clavier atteint la navigation et la fermeture
    - Le focus revient à la miniature d’origine
    - Les erreurs de chargement et de média ont une alternative textuelle
    
    ## 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-dialog
    • 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 Visionneuse modale

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

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

    Dans le code

    TechnologiePrimitiveVersionLimite
    @radix-ui/react-dialog

    Dialog.Root

    @radix-ui/react-dialog@1.1.19Dialog fournit seulement le confinement modal ; la navigation des médias, les légendes, le chargement, le zoom et les gestes forment une composition explicite.

    Détails techniques

    Comportements

    • Contenir le focus

      Tant que la surface est modale, le focus clavier y reste jusqu'à sa fermeture.

    • Parcourir les médias

      Les contrôles précédent et suivant parcourent la collection sans quitter la visionneuse.

    • Fermer avec Échap

      Échap ferme la surface temporaire et renvoie le focus vers un contrôle pertinent.

    États

    • Vue galerie

      Vue galerie

    • Média agrandi

      Média agrandi

    Transitions d’état

    • Vue galerie → Média agrandi

      Une miniature est activée et son média s’ouvre avec sa légende et son contexte de navigation.

    • Média agrandi → Vue galerie

      Fermer ou Échap ferme la visionneuse et rend le focus à la miniature d’origine.

    Scénarios de test

    Contexte
    Une galerie produit contient quatre photos détaillées avec textes alternatifs pertinents et légendes.
    Mission
    Ouvrir la deuxième image, passer à la suivante au clavier, puis fermer et revenir sur la même miniature.
    État principal
    La photo sélectionnée est agrandie avec sa légende, sa position dans l'ensemble et les contrôles de navigation.
    Cas limite
    Un échec de chargement conserve la légende et la navigation, explique l'erreur par du texte et ne laisse jamais une modale vide.

    Signaux visuels

    • Grand média centré au-dessus de la page
    • Légende ou compteur près du média
    • Contrôles précédent, suivant et fermer

    Signaux comportementaux

    • Activer une miniature ouvre le média correspondant
    • Les flèches parcourent les médias liés
    • Le focus reste dans la visionneuse modale

    Accessibilité

    Rôle
    dialog[aria-modal=true]
    Nom accessible
    Le contrôle principal ou la région nommée pour Visionneuse modale 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
    L'ouverture place le focus sur la visionneuse ou le contrôle fermer, le contient, puis le rend à la miniature d'origine.
    Fermeture
    Le contrôle fermer nommé et Échap ferment toujours ; l'appui extérieur est facultatif et jamais le seul moyen.
    Défilement
    Le défilement de l'arrière-plan est verrouillé pendant l'ouverture. Le contenu débordant défile dans la surface et le contrôle actif reste visible.
    Annonce
    Le titre de la visionneuse, la position du média, la légende, le texte alternatif et les échecs de chargement sont disponibles pour la technologie d'assistance.
    Clavier
    • Tab atteint les contrôles de la visionneuse
    • Gauche et Droite parcourent les médias lorsque prévu
    • Échap ferme la visionneuse

    Implémentations

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

      implementationKind
      shadcn-radix
      nativeElement
      Non applicable
      ariaPattern
      dialog
      radixPrimitive
      Dialog
      shadcnRecipe
      Dialog with figure viewer
      runtimeDependency
      @radix-ui/react-dialog@1.1.19
      packageName
      @radix-ui/react-dialog
      exportName
      Dialog.Root
      exactVersion
      1.1.19
      status
      verified
      sourceId
      source-ui-radix-dialog
      deprecationStatus
      active
      replacement
      Non applicable
      validFrom
      Non applicable
      validUntil
      Non applicable

      Limite d’équivalence : Dialog fournit seulement le confinement modal ; la navigation des médias, les légendes, le chargement, le zoom et les gestes forment une composition explicite.

      Vérifier la source du binding

    Sources

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

      Affirmation couverte : Visionneuse modale : guide APG informatif pour le modèle dialogue modal : rôles, états, relations et interactions au clavier.

    • Radix Primitives: Dialog
      sourceId
      source-ui-radix-dialog
      kind
      documentation
      canonicalUrl
      https://www.radix-ui.com/primitives/docs/components/dialog
      publisher
      Radix Primitives
      sourceRevision
      http-etag:W/"df76fcc1be71ddeff0677a09beda6d7e"
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:068577fa4c5cf2ccc711b9e97e2473ed516e4840e220f2b2f03c552d346fc92f
      status
      verified

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

    • WHATWG HTML: The img element
      sourceId
      source-ui-html-image
      kind
      standard
      canonicalUrl
      https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element
      publisher
      WHATWG
      sourceRevision
      http-last-modified:2026-07-19T13:52:46Z
      consultedAt
      2026-07-19
      license
      Non indiquée
      contentDigest
      sha256:2a8bf4a2ae6c69ee0215e3bd1293a6a963271e014876cf729a3c25afe51d9de6
      status
      verified

      Affirmation couverte : Visionneuse modale : sémantique native normative, états, attributs et comportement du navigateur pour img.

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