Modality creates focus by entering a distraction-free context that prevents people from doing other things until they complete a task or dismiss a message or view. Alerts and sheets are examples of modal views that must be dismissed before the user can proceed with a task. In some modal contexts, features and interactions unrelated to the current task may be temporary disabled. For example, the Sketch mode in Preview prevents certain user actions—like selecting or adding text—until the user exits the mode.

Minimize the use of modality. Generally, people prefer to interact with apps in nonlinear ways. Consider creating a modal context only when it’s critical to get someone’s attention, when a task must be completed or abandoned to continue using the app, when a task calls for modality (such as using a drawing or selection tool in a graphics app), or to save important data.

Scope modality appropriately. In general, choose the least restrictive mode that makes sense. For example, if a task must be completed before doing something in a document window, consider using a sheet, which disables interaction in the document but lets the user continue using other parts of your app. For related guidance, see Sheets.

Provide an obvious and safe way to exit a modal context. People shouldn’t feel trapped in a modal context. For example, you can enable a modal popover that closes automatically when the user clicks another area onscreen. Generally, it’s best to save the user’s work in case they exit the mode without meaning to. Users should always know the outcome of their action when they leave a modal context.

Keep modal tasks simple, short, and narrowly focused. People shouldn’t perceive your app as a series of disjointed tasks or transitions that result in a confusing workflow. If a modal task is too complex, users can lose sight of the task they suspended when they entered the modal context. As much as possible, reserve modes for small, self-contained tasks.

Mode-based pointer

Mode-based toolbar icon highlighting

Clearly indicate the current mode. If your app includes different modes, make it easy for people to tell at a glance which mode they’re in. For example, in sketching mode, Preview shows a different pointer style and highlights the mode's icon in an editing toolbar.

Reserve alerts for delivering essential—and ideally actionable—information. An alert interrupts the experience and requires action to dismiss, so it’s important for people to feel that the intrusion is warranted. If an alert must be displayed, be sure to clearly describe the problem, explain why it happened, and provide options for proceeding, including any workarounds that may exist. For additional guidance, see Alerts.

Respect notification preferences. In System Preferences, people specify how they want to receive notifications from your app. Abide by these preferences so users aren’t tempted to turn off your app’s notifications entirely.

Don’t display a modal view above a popover. With the possible exception of an alert, nothing should appear over a popover. In rare cases when you need to present a modal view after action is taken in a popover, close the popover before displaying the modal view.