Dialog
<dialog>, html dialog, showModal(), modal dialogDefinition
The HTML element for a dialog box — <dialog> opened with .show() or, for a modal, .showModal(), which puts it in the top layer, makes everything behind it inert, traps focus, closes on Escape, and returns focus to the opener; a <form method=“dialog”> inside it closes it with a value
The element that made a modal a platform feature instead of a library: the inert background, the focus trap, the Escape handling and the top-layer stacking that every dialog component reimplemented are the element’s own. ::backdrop styles the dimmer. Nuxt UI’s UModal still runs on Reka UI’s Dialog for the animation and the controlled-state ergonomics, and it renders the right ARIA either way; the glossary’s modal entry in the cwds context is the estate’s version. With the Popover API for the non-modal cases, the two cover almost every overlay.
A modal is a promise that nothing else on the page will respond until this is answered. <dialog> keeps the promise for you, which is most of what the libraries were for.