Skip to main content

Storybook

Notification Modal

A modal variant used to surface system-level notifications that require user acknowledgement. Use for high-priority messages that must interrupt the user's current flow. Don't use for routine feedback — use Alert instead.

Figma Storybook Docs

Description

What it does

Notification Modal surfaces a system-level message that requires explicit user acknowledgement before they can continue. It is a modal overlay, not an inline component.

Where it appears

Session expiry warnings, terms of service updates, critical system status changes, or mandatory onboarding notices that must be seen before a user proceeds.

Why it exists

Some messages cannot be passively received — they need deliberate acknowledgement. Notification Modal creates that moment without requiring a full page navigation.

Notification Modal vs Modal

Notification Modal Modal
Trigger System-initiated — the system decides when to show it, not a user action User-initiated — triggered by a user action (clicking Delete, Edit, etc.)
Icon Always present — reinforces the type and urgency of the message Optional — used for destructive variants only
Actions Typically one action (OK / Acknowledge) or a choice (Accept / Decline) Two actions (primary + cancel/secondary)
Dismissal Often non-dismissible — the message must be acknowledged Always has a close button and backdrop dismiss
Content System message — neutral tone, describes a state or change Task-focused — directly related to what the user was doing

Notification Modal vs Alert

Notification Modal Alert
Interrupts flow Yes — page interaction is blocked until acknowledged No — appears inline, user can continue
Requires action Yes — must be dismissed explicitly No — may be informational only
Urgency High — used when the message cannot be missed Variable — success to critical error

Anatomy

PartRequired?Notes
Backdrop Required Semi-transparent overlay. Unlike Modal, clicking it does not dismiss the Notification Modal.
Icon Required Reinforces the type of notification — info, warning, or error. Never decorative-only; always meaningful.
Title Required A clear, direct headline describing the notification. Referenced by aria-labelledby.
Message Required Plain language explanation. State what happened, what it means, and what (if anything) the user needs to do.
Primary action Required "OK", "Got it", "Accept", or similar. This is the only required action. Add a secondary action only when a genuine choice exists.

Usage guidelines

When to use

  • A system-level event has occurred that the user must be aware of before continuing.
  • Legal, terms, or policy changes that require explicit acknowledgement.
  • A session is about to expire or has already expired.
  • A critical integration or dependency has changed that affects the user's current work.

When not to use

  • For feedback after a user action — use Alert.
  • For decisions the user initiates — use Modal.
  • For marketing or promotional messages — do not use an interrupting modal for non-essential content.
  • More than once per session for the same type of message — repeated interruptions cause users to dismiss without reading.

Do / Don't

Do

Write messages in plain language. "Your session will expire in 5 minutes. Save your work to avoid losing changes." Not "Session timeout warning".

Don't

Don't use Notification Modal for anything that can be shown inline. The interruption cost is high — only use it when missing the message would have real consequences.

Do

Give the user agency where possible. "Renew session" and "Log out now" is better than a single "OK" when a meaningful choice exists.

Don't

Don't stack Notification Modals. If multiple system events fire simultaneously, queue them or consolidate into a single notification.

Was this page helpful?

Updated 9 September 2026