Decision guide · 02

Sheet vs. Alert (macOS)

The short answer

A sheet belongs to one window and holds a short task. An alert shows a short message or choice that needs attention now.

Use a sheet for settings, saving, or a short form tied to one document. Use an alert for a warning, failure, or one-step check.

01

See what each pattern does

Try each example. Then read about the job it is made to do.

macOS Sheet

↗

A macOS Sheet is a dialog tied to one document window. It blocks only that window until the person finishes the choice.

Original worked examplemacOS Sheet
Saving an untitled document opens a sheet on that window. Other document windows still work.
Use it when
Use it when one document cannot safely continue until a clear choice or short setup is done.
Do not use it when
Do not let a sheet block unrelated windows. Do not show routine facts in a modal sheet. Use another surface for app-wide tasks.
Name used in code
NSWindow beginSheet / SwiftUI sheet
Open the full guide

macOS Alert

↗

A macOS Alert is a system dialog for an important choice, failure, or condition. A person must notice it and answer.

Original worked examplemacOS Alert
Closing an unsaved document asks whether to Save, Cancel, or discard changes. The safest default is clear.
Use it when
Use it only when an important condition needs an answer or choice before the current task can safely go on.
Do not use it when
Avoid routine success messages, recoverable inline validation, and confirmations for reversible actions. Repeated alerts train people to dismiss them unread.
Name used in code
AppKit NSAlert / SwiftUI alert
Open the full guide
02

Quick comparison

UI patternBest forNot forName used in code
macOS Sheet Use it when one document cannot safely continue until a clear choice or short setup is done. Do not let a sheet block unrelated windows. Do not show routine facts in a modal sheet. Use another surface for app-wide tasks. NSWindow beginSheet / SwiftUI sheet
macOS Alert Use it only when an important condition needs an answer or choice before the current task can safely go on. Avoid routine success messages, recoverable inline validation, and confirmations for reversible actions. Repeated alerts train people to dismiss them unread. AppKit NSAlert / SwiftUI alert
03

Before you ship

  1. 01

    Write down what the person needs to do.

  2. 02

    Test the keyboard, focus, touch, zoom, loading, empty, and error states.

  3. 03

    Make sure people can get the same information without hover or motion.

  4. 04

    Test with real content on both small and large screens.

04

Comparison request you can copy

Copy this when your team needs help choosing between the patterns.

Choose the best pattern from macOS Sheet, macOS Alert for our real user flow. Use this rule: A sheet belongs to one window and holds a short task. An alert shows a short message or choice that needs attention now. Write down the task, amount of content, and cost of stopping the flow. Check keyboard, touch, loading, error, and reduced-motion behavior. Explain your choice, then build the smallest accessible version with the project's design system.

Copy it yourself

The browser could not copy this. Select the request below and copy it yourself.