Alert screens convey important information related to the state of your app or the device, and often request feedback. An alert screen consists of a required title, an optional message, and one or more buttons. Aside from these configurable elements, the visual appearance of an alert is static and can’t be customized.
Minimize alerts. Alerts disrupt the user experience and should only be used in important situations like confirming purchases and destructive actions (such as deletions), or notifying people about problems. The infrequency of alerts helps ensure that people take them seriously. Ensure that each alert offers critical information and useful choices.
Avoid showing an alert at launch time. People don't expect to see a jarring alert message the moment they open your app. If you need to inform people about new or important information, design your interface so the information is discoverable. If there's a problem, such as no network connection, consider alternatives. For example, you could show cached or placeholder data and a noninvasive label denoting the problem.
For developer guidance, see UIAlertController.
Alert Titles and Messages
Write short, descriptive, multiword alert titles. The less text people have to read onscreen, the better. Try to craft a title that avoids adding extra text as a message. Because single-word titles, such as Watch or Rent, rarely provide useful information, consider asking a question or using short sentences. Whenever possible, keep titles to a single line. Use sentence-style capitalization and appropriate punctuation for complete sentences. Don’t use ending punctuation for sentence fragments.
If you must provide a message, write short, complete sentences. Try to keep messages short enough to fit on one or two lines to prevent scrolling. Use sentence-style capitalization and appropriate punctuation.
Avoid sounding accusatory, judgmental, or insulting. People know that alerts notify them about problems and dangerous situations. As long as you use a friendly tone, it’s better to be negative and direct than positive and oblique. Avoid pronouns such as you, your, me, and my, which are sometimes interpreted as insulting or patronizing.
Avoid explaining the alert buttons. If your alert text and button titles are clear, there should be no need to explain what the buttons do.
Generally, use two-button alerts. Two-buttons provide an easy choice between two alternatives. Single-button alerts inform, but give no control over the situation. Alerts with three or more buttons create complexity.
Give alert buttons succinct, logical titles. The best button titles consist of one or two words that describe the result of selecting the button. As with all button titles, use title-style capitalization and no ending punctuation. To the extent possible, use verbs and verb phrases that relate directly to the alert title and message—for example, View All, Reply, or Ignore. Use OK for simple acceptance. Avoid using Yes or No.
Label cancel buttons appropriately. A button that cancels an alert’s action should always be labeled Cancel.
Identify destructive buttons. If an alert button results in a destructive action, such as deleting content, set the button’s style to Destructive so that it gets appropriate formatting by the system. For developer guidance, see the UIAlertActionStyleDestructive constant in UIAlertAction. Additionally, provide a Cancel button so people can safely opt out of the destructive action. Make the Cancel button bold by marking it as the default button.
Allow the remote to cancel alerts. Pressing Menu on the remote while an alert is visible should produce the same effect as clicking the cancellation button—that is, the alert is dismissed without performing any action. If your alert doesn’t have a cancellation button, consider implementing a cancel action in your code so that Menu can still be used to exit.