Porsche Design System Search Navigate to GitHub repository of Porsche Design System Open sidebar prev nextIntroduction Decision Tree Notifications
Table of Contents
Notifications are an important method of communicating with users and providing feedback.
Their main aim should be to help users perform a task and not necessarily interfere or get in the way of users while
using your product. Ensure your notifications are relevant, timely, and informative.
Keep in Mind: Highly frequented or disruptive Notifications can have a negative impact on the user's experience.
When to use#
In order to find the right notification type for your use case, we have defined some decision-making rules for you:
Go to the Decision Tree
Types/Behavior#
prev next
Components Placement Follow-up Action Hide Criticality StatesForm elements (Inline Validation) Below form element Yes Resolved Low Success, ErrorToast Bottom, Left No Automatically (6s) Low/Medium Neutral, SuccessInline Notification Before/After Content Yes Resolved/Dismiss Medium Neutral, Success, Warning, ErrorBanner Top, Center Yes Resolved/Dismiss Medium/High Neutral, Warning, ErrorModal Center Yes Resolved/Dismiss High Neutral, Warning, Error
Layer order#
Important: All elements are rendered on the browsers #top-layer
so a manual ordering of z-index will
have no effect, instead the browser renders the element on top of everything which was triggered to be shown last, meet the top layer: a solution to z-index:10000 .
prev next
Component Order Toast#top-layer
Modal#top-layer
Flyout#top-layer
Popover#top-layer
Banner#top-layer
References#
Kim Flaherty,
Indicators, Validations, and Notifications s
(Nielsen Norman Group, 2015)
Aurora Harley, Visibility of System Status (Nielsen Norman
Group, 2018)
Jakob Nielsen,
10 Usability Heuristics for User Interface Design (Nielsen
Norman Group, 1994)
Web Content Accessibility Guidelines
Global settingsTheme ThemeMore information Changes the theme of the application and any Porsche Design System component. It's possible to choose between forced theme light and dark . It's also possible to use auto , which applies light or dark theme depending on the operating system settings automatically. // TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
Light// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
Dark// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
Auto (sync with operating system)DirectionMore information The dir
global attribute in HTML changes the direction of text and other content within an element. It's most often used on the <html>
tag to set the entire page's direction, which is crucial for supporting languages that are written from right to left (RTL), such as Arabic and Hebrew. For example, using <html dir="rtl">
makes the entire page display from right to left, adjusting the layout and text flow accordingly. // TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
LTR (left-to-right)// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
RTL (right-to-left)Text ZoomMore information To ensure accessibility and comply with WCAG 2.2 AA standards , it is mandatory for web content to support text resizing up to at least 200% without loss of content or functionality. Using relative units like rem
is a best practice for achieving this, as they allow the text to scale uniformly based on the user's browser settings. // TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
100%// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
130%// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
150%// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
200%