Make room for one task.

Edit a sample project, review long content, or ask for a deliberate confirmation. Two modal primitives share one native foundation.

Tasks and confirmations

Modal workspaceLocal demonstration

Focus follows the task

Opening moves focus inside. Tab and Shift+Tab stay within the active modal; Escape closes the topmost modal. Closing restores its invoker. The edit example can open a nested confirmation without closing the parent.

Choose the right interruption

Dialog supports ordinary focused tasks and optional backdrop dismissal. Alert Dialog requires an explicit response and initially focuses its least destructive action. Keep inline feedback inline when it does not require a decision.

Native semantics, explicit ownership

The foundation uses HTMLDialogElement.showModal(). The browser owns the top layer and inert background. Controlled state, validation, asynchronous work, and the next logical focus target belong to the application. These examples update local state and never send project data to a server.

Implementation guidance follows the W3C modal dialog pattern, alert dialog pattern, and HTML dialog standard.