01 — Foundation

Notifications inform — they do not exhaust

Good notifications create confidence. Bad notifications become interruption spam.

Notifications communicate important system events — in-app messages, email digests, push alerts, and toasts. They should provide useful, timely information without competing for attention constantly.

02 — Channels

Match channel to urgency

Not every event deserves push, email, and a toast at once.

  • in-app: inline messages and persistent banners first — corner toasts only as a last resort; see Toast Notifications
  • email for summaries users can act on later — clear subject and single primary action
  • push only for time-sensitive items users opted into
  • user preferences for frequency and channel — respect opt-out immediately

03 — Priority

Priority and tone

Distinguish informational, success, warning, destructive, and critical — not everything is an emergency.

  • understandable language with a clear purpose
  • sensible timing — batch low-priority updates where possible
  • actionable where needed — link to the task, not a generic homepage
  • avoid meaningless updates and stacked interruption chaos

04 — Accessibility

Accessibility across channels

Accessibility is not only for on-screen toasts.

  • screen reader support for in-app announcements — live regions used thoughtfully
  • reduced motion for animated badges and toast entrances
  • visible timing and persistent access where users must read before dismiss
  • HTML email: semantic structure, alt text, and sufficient contrast

05 — Review

Before you approve

A short checklist for notification systems in code review.

  • each notification earns its channel and priority level
  • users can control volume; critical alerts are rare and specific
  • in-app UI avoids toasts by default; see Toast Notifications when alternatives fail; forms follow Accessible Forms

Notifications should help users stay informed — not exhaust them.