--- title: ' : l''élément de boîte de dialogue' slug: Web/HTML/Element/dialog tags: - Dialog - Element - HTML - HTML interactive elements - Reference - Web - polyfill translation_of: Web/HTML/Element/dialog browser-compat: html.elements.dialog --- {{HTMLRef}} L'élément HTML **``** 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ôle ARIA implicite dialog
Rôles ARIA autorisés alertdialog
Interface DOM HTMLDialogElement
## Attributs Cet élément inclut [les attributs universels](/fr/docs/Web/HTML/Global_attributes). > **Attention :** L'attribut `tabindex` ne doit pas être utilisé sur l'élément ``. - `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 d'utilisation - Les éléments [`
`](/fr/docs/Web/HTML/Element/Form) peuvent fermer un dialogue s'ils possèdent l'attribut `method="dialog"`. Lorsqu'un tel formulaire est soumis, le dialogue se ferme avec sa propriété [`returnValue`](/fr/docs/Web/API/HTMLDialogElement/returnValue) définie sur la `value` (valeur) du bouton qui a été utilisé pour soumettre le formulaire. - Le pseudo-élément CSS [`::backdrop`](/fr/docs/Web/CSS/::backdrop) peut être utilisé pour créer un style derrière un élément `` lorsque le dialogue est affiché avec [`HTMLDialogElement.showModal()`](/fr/docs/Web/API/HTMLDialogElement/showModal). Par exemple, pour atténuer le contenu inaccessible derrière la boîte de dialogue modale. ## Exemples ### Exemple simple ```html

Salutations, à tous et à toutes !

``` ### Exemple avancé #### HTML ```html

``` #### JavaScript ```js let updateButton = document.getElementById('updateDetails'); let favDialog = document.getElementById('favDialog'); let outputBox = document.querySelector('output'); let selectEl = document.querySelector('select'); let confirmBtn = document.getElementById('confirmBtn'); // Le bouton "Mettre à jour les détails" ouvre le ; modulaire updateButton.addEventListener('click', function onOpen() { if (typeof favDialog.showModal === "function") { favDialog.showModal(); } else { console.error("L'API n'est pas prise en charge par ce navigateur."); } }); // L'entrée "Animal favori" définit la valeur du bouton d'envoi. selectEl.addEventListener('change', function onSelect(e) { confirmBtn.value = selectEl.value; }); // Le bouton "Confirmer" du formulaire déclenche la fermeture // de la boîte de dialogue en raison de [method="dialog"] favDialog.addEventListener('close', function onClose() { outputBox.value = favDialog.returnValue + " bouton cliqué - " + (new Date()).toString(); }); ``` #### Résultat {{EmbedLiveSample("Exemple_avancé", "", 300)}} ## Spécifications {{Specifications}} ## Compatibilité des navigateurs {{Compat}} ## Prothèse d'émulation (polyfill) Incluez ce polyfill pour fournir un support aux navigateurs sans élément `` : [dialog-polyfill](https://github.com/GoogleChrome/dialog-polyfill). ## Voir aussi - L'évènement [close](/fr/docs/Web/Reference/HTMLDialogElement/close_event) - L'évènement [cancel](/fr/docs/Web/Reference/HTMLDialogElement/cancel_event) - [Guide sur les formulaires HTML](/fr/docs/Learn/Forms) - Le pseudo-élément [`::backdrop`](/fr/docs/Web/CSS/::backdrop)