Modality

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 temporarily 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.

Choose the least restrictive mode that makes sense. If a task must be completed before doing something in a document window, consider using a sheet. Sheets disable interaction in the document itself while the user continues 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, modal popovers can close 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 an action when leaving 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, the user could lose sight of what they were doing when they entered the modal context. As much as possible, reserve modes for small, self-contained tasks.

Mode-based toolbar icon highlighting

Mode-based pointer

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 Sketch mode, Preview highlights the mode's icon in the Markup Toolbar and shows a different pointer style.

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.