Overview

Status and Information messages give users information about events of objects, pages, or the application itself. For example: empty states, number of rows retrieved after a refresh action, system downtime, system errors. They are mostly initiated by the system and not immediate responses to user inputs.

Usage

Use Status and Information Messages to:

Don’t use status and information messages for:

<div> <div>Type</div> <div>Description</div> <div>Examples</div> </div> <div> <div><a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F">Empty State</a></div> <div> <p>Data is not available or can’t be loaded because:</p> <ul> <li>there’s a technical issue that prevents data from loading, and which is beyond the scope of system (e.g., no connection to the internet or to a data provider)</li> <li>there’s a data retrieval issue that means no results are returned to a page</li> <li>the user removed all content on the page and there’s no data left</li> <li>it’s the first visit by the user to a page that has no pre-existing content</li> </ul> </div> <div> <p>1. “You’re not connected to the internet.”</p> <p>or</p> <p>“An internal error occurred. Please log in again. If the problem persists, contact your Administrator.”</p> <p>2. "Sorry! We can’t find the data you’re looking for. Please modify your request.”</p> <p>or</p> <p>“Sorry! You don’t have permission to access this page. Request access here.”</p> <p>3. “All archives removed successfully. You’re done!”</p> <p>4. “Welcome to the Chart Builder. Build and test new charts here before sharing them with others.”</p> </div> </div> <div> <div><a href="https%3A%2F%2Fwww.sap.com%2Fr%2Fuz-4KDtMm8tlxBPSYnvbcK-UtDzLnvxt9n1H3uR6ROI">System Errors</a></div> <div>The product encounters an error that blocks the system, and the user or system administrator needs to take action to unblock the situation.</div> <div> <p>“An unexpected technical error occurred when processing your data action. Please contact your system administrator.”</p> <p>“Your Service Provider Certificate has expired. To renew your certificate, contact your administrator.”</p> </div> </div> <div> <div><a href="https%3A%2F%2Fwww.sap.com%2Fr%2Fuz-4KDtMm8tlxBPSYnvbcK-UtDzLnvxt9n1H3uR6ROI">System Warnings</a></div> <div>Communicate a potential issue diagnosed by the system. The user is not blocked in their workflow.</div> <div> <p>“Your data has been updated successfully, but we can’t display the results because the dataset is too large.”</p> <p>“Your Service Provider Certificate will expire in 2 days. To renew your certificate, contact your administrator.”</p> </div> </div> <div> <div><a href="https%3A%2F%2Fwww.sap.com%2Fr%2FUyFFCucqpMN6NBWKcPCXnZwnaQHxRJjXQOftBFcvf5U">Success</a></div> <div>Communicate that an action or event has been successful.</div> <div>“The instance is created. You’re all done!”</div> </div> <div> <div><a href="https%3A%2F%2Fwww.sap.com%2Fr%2F97a4LD81t7BPydQRVZVaqiJMFQtKQpDEqtEtf8kkuM0">Information</a></div> <div>Communicate status or changes of the system that may be useful to users, but not critical.</div> <div>“Your import job for the following package has been queued.”</div> </div>

Empty State

The system falls into empty states when it can’t display content due to following reasons:

An empty state interrupts a designated user flow. Therefore, it’s important to explain to the user why the page is empty and, if appropriate, to inform them what actions can be taken to retrieve or create the expected content.

Choose the component and layout that best matches your use case.

<div> <div>Use Case</div> <div></div> <div>Messaging Component</div> </div> <div> <div>The entire page is not loaded.</div> <div>Default</div> <div> <p>Replace the content area with <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-box%2F">Message Page</a>.</p> <p>Or</p> <p>A customized page that is composed of an illustration, a message, and a call to action. For details, see <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Flist-overview%2F">Empty States</a>.</p> </div> </div> <div> <div></div> <div>Helping users guess a desired result is important.</div> <div>Display a message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F">Message Strip</a> at the top of the page while keeping a default layout.</div> </div> <div> <div></div> <div>The page module includes “Creation” Nav Items.</div> <div>Display a message within a description section of the header area.</div> </div> <div> <div>The table (or the list) is empty.</div> <div></div> <div>Show message as the first and only item in the <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F%23empty-tables">empty table</a> (or the <a href="https%3A%2F%2Fsap.sharepoint.com%2Fr%2F2YieeOoO9OY5kwF339vMSpabD9IeiaUAyL6jaO20KIE%23empty-list">empty list</a>.) The header of the component is visible in this case.</div> </div> <div> <div>Components other than tables and lists are empty.</div> <div></div> <div> <p>Use an empty state if the UI component supports it.</p> <p>Otherwise, place <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F">Message Strip</a> near the target or, if there’s not enough space, replace the content area with a message in plain text.</p> </div> </div>

Best Practices

How to Display

How to Write

<div> <div>Writing Best Practices</div> <div>Example</div> </div> <div> <div>If the page is empty due to a technical issue, start the sentence with “Sorry!” This error is not the user’s fault and we acknowledge that the situation is not agreeable for them.</div> <div>“Sorry! Something unexplained occurred. Please log in and try again.”</div> </div> <div> <div>If it’s a connection error, inform the user clearly so they know to reconnect.</div> <div></div> </div> <div> <div>If the user has cleared the screen of all content, confirm everything on the page has been removed and give the user positive feedback by congratulating them.</div> <div>“Congrats! All done.” Or “Great job! Your new space has been created.”</div> </div> <div> <div> <p>If the user arrives on the page for the first time:</p> <ul> <li>inform them where they are in the product</li> <li>provide a description of what the user can do here</li> <li>inform the user what type of content will appear here once they are done with the creation of new content</li> <li>provide a clear call to action (CTA) so the user can start the workflow without losing time</li> </ul> </div> <div>“Welcome to Folders! Folders lets you keep your team’s docs organized in one place. All your folders will be listed on this page. Create Folder.”</div> </div>
guideline
NoteThe first time visit empty state usually includes a fun illustration. Adopt a playful tone of voice for the text so that it fits to the illustration.
2
Empty State Do.png
do
false
Empty State Dont.png
dont
false

System Errors

Users should be informed of critical system issues/status immediately, so they can take steps to resolve issues in a timely manner. For example:

System error messages can be displayed in different forms based on the relevance to the current context and urgency.

<div> <div>Use Case</div> <div></div> <div>Messaging Component</div> </div> <div> <div>The issue is related to the current context.</div> <div>Users need to acknowledge the issue.</div> <div>Message in <a href="https%3A%2F%2Fsap.sharepoint.com%2Fr%2F97a4LD81t7BPydQRVZVaqiJMFQtKQpDEqtEtf8kkuM0">Message Box</a>.</div> </div> <div> <div></div> <div>The issue blocks the page from being fully loaded and it’s okay to lock the entire page.</div> <div>Message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-box%2F">Message Box</a>.</div> </div> <div> <div></div> <div>The issue affects the entire page, but the page should not be locked.</div> <div>Message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Flist-overview%2F">Message Strip</a> at top of the page.</div> </div> <div> <div></div> <div>The issue is only applied to a partial screen.</div> <div> <p>Show message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F">Message Strip</a> at top of the page or near the target if there’s enough space to make the message visible.</p> <p>Also, apply a semantic status to applied components, if possible.</p> </div> </div> <div> <div>The issue is not related to the current context.</div> <div></div> <div> <p>In general, communicate a message via <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fresponsive-table%2F">Notifications</a>.</p> <p>Only use <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-box%2F">Message Box</a> if the issue can significantly affect the system.</p> </div> </div>

Best Practices

How to Display

How to Write

<div> <div>Writing Best Practices</div> <div>Example</div> </div> <div> <div>Always start a System Error message with “Sorry!” or “We’re sorry!”. This good customer service practice. SAP takes responsibility for technical errors in a transparent and customer service-oriented manner. Never blame your user!</div> <div>“Sorry! The data set is too large for us to display. Please change your selection to no more than xxx records.”</div> </div> <div> <div>If the cause of the error is known, describe this cause clearly and simply.</div> <div></div> </div> <div> <div> <p>If the user can take steps themselves to resolve the error:</p> <ul> <li>provide them with specific instructions in as simple a manner as you can</li> <li>use terms that map to your user’s world; don’t use technical language with which your user is not familiar</li> <li>use “Please” to request the user action. Errors cause users to feel frustrated or even angry. Using please reduces this friction, because shows that SAP recognizes the heightened emotional state of the user</li> </ul> </div> <div></div> </div>
2
System Errors Do.png
do
false
System Errors Dont.png
dont
false

System Warnings

Sharing potential problems in the system with users can prevent more critical issues in the future. For example, if the user is informed that a storage is almost full, a timely warning gives them the option to increase the storage, so that the system can continuously run without capacity issues.

<div> <div>Use Case</div> <div></div> <div>Messaging Component</div> </div> <div> <div>The issue is related to the current context.</div> <div>Users need to acknowledge the issue.</div> <div>Message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-box%2F">Message Box</a>.</div> </div> <div> <div></div> <div>The issue affects the entire page, but the page should not be locked.</div> <div>Message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F">Message Strip</a> at the top of the page.</div> </div> <div> <div></div> <div>The issue is only applied to a partial screen.</div> <div> <p>Show message in <a href="https%3A%2F%2Fsap.sharepoint.com%2Fr%2FJlvTMq7bW95Jj5AfZuJgcy4TvklXf_aYLarpI9oEfLU">Message Strip</a> at top of the page or near the target if there’s enough space to make the message visible.</p> <p>Also, apply a semantic status to applied components, if possible.</p> </div> </div> <div> <div>The issue is not related to the current context.</div> <div></div> <div>Message in <a href="https%3A%2F%2Fwww.sap.com%2Fr%2Fnf8CPy2lUWoafVqNka77IhJLBZigSMC9vtoP-X-IKAY">Notifications</a>.</div> </div>

Best Practices

How to Display

information
NoteIf the issue prevents the user from continuing the current user workflow, use System Errors type.

How to Write

2
Warnings Do.png
do
false
Warnings Dont.png
dont
false

Success

Use this type of message to communicate successful events in the system, for example, a completion of an operation without any issues. Success messages are an opportunity to make the user feel good about using the product.

<div> <div>Use Case</div> <div></div> <div>Messaging Component</div> </div> <div> <div>The issue is related to the current context.</div> <div>The issue should be acknowledged by users.</div> <div>Message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-box%2F">Message Box</a>.</div> </div> <div> <div></div> <div>The screen should not be locked.</div> <div> <p>Show message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F">Message Strip</a> at top of the page or near the target if there’s enough space to make the message visible.</p> <p>Also, apply a semantic status to applied components, if possible.</p> </div> </div> <div> <div>The issue is not related to the current context.</div> <div></div> <div>Message in <a href="https%3A%2F%2Fwww.sap.com%2Fr%2Fnf8CPy2lUWoafVqNka77IhJLBZigSMC9vtoP-X-IKAY">Notification</a>.</div> </div>

Best Practices

How to Display

How to Write

<div> <div>Writing Best Practices</div> <div>Example</div> </div> <div> <div>First, congratulate the user for their success. This kind of encouragement makes them feel good about using our products and increases our NPS scores.</div> <div>“Congratulations! You’re all done.” Or “Nicely done!”</div> </div> <div> <div>Be specific about what the user has achieved and give them some visibility about the resulting state.</div> <div>“Congrats! Your model is published to the Catalog.”</div> </div> <div> <div>If system events are triggered, perhaps impacting other users, include this information into the message.</div> <div></div> </div>
2
Success Do.png
do
false
Success Dont.png
dont
false

Information

When the system shares information that is not critical but useful to users, use this type of messaging. For example, announcements about feature updates.

<div> <div>Use Case</div> <div></div> <div>Messaging Component</div> </div> <div> <div>The information is relevant to the current context.</div> <div>Users need to acknowledge the information.</div> <div>Message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fresponsive-table%2F">Message Box</a>.</div> </div> <div> <div></div> <div>The screen should not be locked.</div> <div> <p>Show message in <a href="https%3A%2F%2Fexperience.sap.com%2Finternal%2Ffiori-design-web%2Fmessage-strip%2F">Message Strip</a> at top of the page or near the target if there’s enough space to make the message visible.</p> <p>Also, apply a semantic status to applied components, if possible.</p> </div> </div> <div> <div>The information is not relevant to the current context.</div> <div></div> <div>Message in <a href="https%3A%2F%2Fwww.sap.com%2Fr%2Fnf8CPy2lUWoafVqNka77IhJLBZigSMC9vtoP-X-IKAY">Notification</a>.</div> </div>

Best Practices

How to Display

How to Write

2
Information Do.png
do
false
Information Dont.png
dont
false

Accessibility

Visit Messaging – Accessibility to read accessibility considerations in messaging.

Resources

User Guidance

Notifications

Empty List

Empty Tables

Message Box

Message Page

Message Strip

Support

If you have any questions or feedback about this page, please contact our team. For further information and questions in regards to the Design System, please visit the DNA Design SharePoint.