L'élément HTML <dialog> représente une boite de dialogue ou un composant interactif (par exemple un inspecteur ou une fenêtre).

Catégories de contenu Contenu de flux, racine de sectionnement.
Contenu autorisé Contenu de flux.
Omission de balises Aucune, la balise d'ouverture et la balise de fermeture sont obligatoires
Parents autorisés Tout élément qui accepte du contenu de flux.
Rôles ARIA autorisés alertdialog
Interface DOM HTMLDialogElement

Attributes

Cet élément inclut les attributs universels. L'attribut tabindex ne doit pas être utilisé sur l'élément <dialog>.

open
Cet attribut indique que la boîte de dialogue est active et peut être utilisée de façon interactive. Si l'attribut n'est pas renseigné, la boîte de dialogue ne doit pas être présentée à l'utilisateur.

Notes

  • L'élément <form> peut être intégré dans une boîte de dialogue en spécifiant l'attribut method="dialog". Lorsqu'un formulaire de ce type est envoyé, la boîte de dialogue est fermée avec un attribut returnValue mis à jour avec la valeur value du bouton d'envoi utilisé.
  • Le pseudo-élément CSS ::backdrop peut être utilisé pour mettre en forme l'arrière plan d'un élément <dialog>. On peut par exemple estomper un contenu inaccessible pendant que la boîte de dialogue est active. Cette ombre portée est uniquement dessinée lorsque l'élément <dialog> est affichée via dialog.showModal().

Exemples

HTML

<!-- Simple boîte de dialogue, contenant un formulaire -->
<dialog id="favDialog">
  <form method="dialog">
    <section>
      <p><label for="favAnimal">Animal favori :</label>
      <select id="favAnimal" name="favAnimal">
        <option></option>
        <option>Crevette de saumure</option>
        <option>Panda roux</option>
        <option>Singe-araignée</option>
      </select></p>
    </section>
    <menu>
      <button id="cancel" type="reset">Annuler</button>
      <button type="submit">Confirmer</button>
    </menu>
  </form>
</dialog>

<menu>
  <button id="updateDetails">Envoyer détails</button>
</menu>

<script>
  (function() {
    var updateButton = document.getElementById('updateDetails');
    var cancelButton = document.getElementById('cancel');

    // Update button opens a modal dialog
    updateButton.addEventListener('click', function() {
      document.getElementById('favDialog').showModal();
    });

    // Bouton pour fermer la boîte de dialogue
    cancelButton.addEventListener('click', function() {
      document.getElementById('favDialog').close();
    });

  })();
</script>

Résultat

Prothèse d'émulation (polyfill)

Cette prothèse peut être utilisée pour fournir un support pour les navigateurs : dialog-polyfill.

Spécifications

Spécification État Commentaires
HTML Living Standard
La définition de '<dialog>' dans cette spécification.
Standard évolutif  
HTML 5.2
La définition de '<dialog>' dans cette spécification.
Recommendation Définition initiale.

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple37 Non531 2 Non24 Non
open37 Non531 2 Non24 Non
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple3737 Non531 2 Non Non Oui
open3737 Non531 2 Non Non Oui

1. See bug 840640.

2. From version 53: this feature is behind the dom.dialog_element.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, J.DMB, KkFalse2, louuis
Dernière mise à jour par : SphinxKnight,