Resonance Logo

Dialog (Non-Modal)

A non-modal dialog presents additional content or options in a floating panel without blocking interaction with the rest of the page.

Demo

Activate the trigger button to open the dialog panel. Once open, explore the content inside with the keyboard — notice that focus moves into the dialog but you can still tab to content outside it. Press Escape to close the dialog and observe where focus returns. Try activating the trigger again from the keyboard to verify the round-trip focus behavior.

What to Observe

Anatomy

[Anatomy image placeholder — will be added when assets are available]

  1. Trigger button — The button that opens the dialog; carries aria-expanded and references the dialog via aria-controls.
  2. Dialog container — The panel element with role="dialog" and an accessible name provided by aria-labelledby pointing to the dialog heading.
  3. Dialog heading — An <h> element inside the dialog that names it for both sighted users and screen readers.
  4. Dialog content — The body of the panel, which may include text, forms, links, or other interactive elements.
  5. Close button — A button inside the dialog to dismiss it explicitly, with a descriptive accessible name.

Accessibility Behavior

Common Mistakes

Why This Matters

Non-modal dialogs appear in help panels, inline notifications, tooltips, and contextual actions — patterns that are common across enterprise and consumer products alike. When focus management is missing or incorrect, keyboard and screen reader users either cannot reach the dialog content or, after closing it, find themselves at an unpredictable location in the page. This disrupts the flow of a task and forces users to re-orient themselves from scratch, a compounding cost that adds up across every dialog interaction in a session.

Accessibility Validation

This component is validated against internal accessibility criteria aligned with WCAG standards, using our internally developed system, Resonance Specs.

To learn more, please contact us.

Code

Reference Implementation