Content · Web Development · HTML

HTML aria-modal Accessibility Attribute: Reference and Examples

A clear, practical aria reference to aria-modal. Learn when to use it, see working HTML, and avoid common mistakes.

1 views Published Oct 19, 2026 Updated Oct 19, 2026 Admin

ARIA attributes help assistive technologies understand information that is not always obvious from a custom interface. The aria-modal attribute reports that a dialog is modal.

What it communicates


Reports that a dialog is modal. This information becomes part of the accessibility representation of the page, so it may help people using screen readers or other assistive tools.

An ARIA attribute does not usually change what you see on screen. It also does not automatically add keyboard handling, validation, or scripted state changes.

Example with accessible markup


<div role="dialog" aria-modal="true" aria-labelledby="dialog-title">
    <h2 id="dialog-title">Settings</h2>
</div>

Reading the example


Notice the aria-modal setting and the element or role it describes: dialog. If the value refers to another element, that other element needs a matching id.

Aria-modal does not trap focus or make the background inert; native dialog.showModal() handles more behavior.

When is it appropriate?


Use aria-modal when this information is genuinely needed and the chosen role supports it. Before adding ARIA, check whether a native HTML element already expresses the same meaning. Native buttons, forms, tables, and progress controls usually need less custom code.

If a script changes the state of the interface, update the ARIA state at the same time. The screen reader’s description and the visible behavior should always agree.

Quick accessibility test


Try the example using only your keyboard. Inspect the accessibility tree and check whether the role, name, and state are what you expect. For an interactive control, confirm that the actual behavior matches its announced state.

Common Beginner Mistakes


  • Aria-modal does not trap focus or make the background inert; native dialog.showModal() handles more behavior.
  • Adding ARIA to an element that already has the right native semantics, without a clear reason.
  • Changing the visual state of an interface without updating its ARIA state.

Key Takeaways


  • aria-modal reports that a dialog is modal.
  • Aria-modal does not trap focus or make the background inert; native dialog.showModal() handles more behavior.
  • Correct native HTML comes first; ARIA fills gaps rather than replacing working behavior.
Share this resourceSend this page to someone who may find it useful.