Accessibility in SAP Fiori

Accessibility refers to the possibility for everyone, including and especially people with disabilities, to access and use information and communication technology. It is an integral part of the SAP Fiori design system and SAPUI5.

Accessibility support is incorporated at two levels:

  • Framework level: Many fundamental accessibility features are built into the core design elements up front and are available to app teams out of the box. This ensures consistency across all products.
  • App level: Some accessibility features need to be added or adapted to reflect app-specific context. These need to be considered whenever you design an app.

This article outlines how accessibility requirements are handled in the SAPUI5 reference framework:

Accessibility Provided at Framework Level

Visualization

Minimum contrast: Following the requirements of the international Web Content Accessibility Guidelines WCAG 2.1 (see References), SAP Fiori’s default theme was designed to fulfill the requirements for minimum color contrast. In addition, we provide high-contrast themes that support the required contrast ratio of 7:1 for texts. They can be chosen in the user settings. The individual theme choice is saved as a preference until the user changes it again.

More information:

Consistency of icons: A comprehensive icon library ensures consistent icon usage within a product and also across products. The icon library includes predefined descriptions. This enables the development teams not only to use consistent icons, but also to implement meaningful descriptions for tooltips as a textual alternative for graphical representation. However, in some cases you may need to adapt these descriptions to the specific use case.

For more information, see Iconography.

Keyboard focus visualization design: Focus visualization is very important for user efficiency. SAP Fiori uses a contrast ratio that makes the current focus stand out in all themes.

Layout adaptation for different devices: Since SAP Fiori can run on various devices, it comes with a responsive layout that adapts to the display resolution parameters of the individual device.

For more information, see Multi-Device Support: Responsive vs. Adaptive.

Support for text resizing: Users can adjust the font size themselves using the browser zoom. The responsive layout adapts to these manual adjustments automatically.

For more information, see Multi-Device Support: Responsive vs. Adaptive.

 

Keyboard Support

Keyboard navigation and control interaction: All standard UI elements and controls are designed to be keyboard-enabled. All suitable input channels (such as mouse, keyboard, or touch) are treated equally according to the capabilities of the device or the individual preferences of the user. For example, some users may prefer using the keyboard instead of a mouse, which lets them work faster.

For more information, see SAPUI5 keyboard support on SAP Help Portal.

Tab order of controls: According to the placement of controls on the screen, SAPUI5 supports keyboard navigation with a predefined tab order sequence. This includes the tab order for the floorplan, the sequence of accessing individual applications, and the navigation in the application itself. According to control containers and layout, the application needs to be designed to support this order (left-right-top-bottom for western languages, for example).

 

Messaging Patterns

Standard messaging patterns (busy, errors, notifications): In SAP Fiori, a message system is implemented. This ensures that system messages appear at predefined locations with a consistent design.

For more information, see Message Handing.

Screen Reader Enablement

Screen readers retrieve visible and invisible textual information, as well as structural information from the user interface, in order to provide it as speech output or braille output to the end user. The SAPUI5 framework is technically prepared for screen reader support. This means that all the structural information and texts needed are handed over to assistive technology. Nevertheless, the actual structure, as well as the actual visible and invisible texts, need to be defined at application level.

Supporting Accessibility at App Level

Many requirements are already covered by the technology framework, but design aspects that are related to the individual purpose of the application still need to be implemented by the individual design teams. Here are some examples:

Understanding

Status updates, messages, error handling: Although the shape and appearance of system messages is predefined, ensure that the message content is clear and easy to understand. For error messages, indicate the location of the error and how to fix it.

Labels, tooltips, and placeholders: Define meaningful labels. Use tooltips according to the guideline, and ensure that they are relevant. Define clear placeholders in input fields where appropriate. For more information on placeholders, see Mask Input and Input Field.

Keyboard Operation

Initial focus position: To enable users to work through a task efficiently, always set an initial focus for the task. Set the focus to either the first logical interaction element or the first element in the task.

Structure and fast navigation: Ensure that the navigation within your application is logical and follows the task structure for the intended purpose. When designing apps with a large set of functions or information blocks, always form logical groups to help users navigate efficiently. You can form logical groups using a container, a toolbar, or other grouping elements. To enable faster navigation, SAPUI5 allows users to skip groups (with F6 or Shift + F6). Also, enable direct keyboard navigation to logical groups, such as working areas or navigation areas.

Keyboard shortcuts (hot keys): While some keyboard shortcuts are supported at framework level (such as Ctrl+A to select all items), others must be defined at application level (a common one is Ctrl+S to save the current object). Support for keyboard shortcuts in SAP Fiori differs from the default browser behavior: all keyboard shortcut commands are captured by the application except Ctrl-L, which is needed to jump to the browser address bar. From there, all browser keyboard shortcuts are available. Observe industry standards and de-facto standards.

Screen Reader Support

Although screen reader support is technically prepared at framework level, it is still the developer’s task to arrange the individual UI elements in relationships that are needed for a screen reader. This is done by using appropriate floorplans, layouts, and controls for the respective use cases.

Alternative texts: Images need alternative texts and descriptions, unless they are purely decorative. Also, the default texts for icons, image placeholders, and other graphical elements may not be available or suitable for your application use case. Always review these texts, and replace or redefine them where necessary.

Landmarks: Landmarks are used by assistive technologies (such as screen readers) to provide a meaningful overview of a page or specific parts of a page. Define landmarks when you use an object page, dynamic page, or panel, for example.

For more information, see the landmark options in the corresponding API documentation:

Changes That Impair Accessibility

Be aware that any changes in the framework definitions can impair accessibility support.

Custom controls: SAP Fiori and SAPUI5 comprise an extensive set of controls. These controls come with numerous features that support accessible implementation, including keyboard enablement, resizing behavior, or support for theme changes. If you think that your use case requires a custom control, think twice. A custom control needs to fit into the interaction concept, and all the features must be coded by the app team. This includes accessibility requirements, but also many other aspects, such as globalization and writing modes (left-to-right or right-to-left), security, performance, maintenance, or documentation. Before developing a custom control, always check if your use case can be handled by existing controls. However, it is important to use controls only for their intended purpose.

For more information, see the SAPUI5 documentation.

Custom colors: Change individual colors only in exceptional cases and after very careful consideration. Bear in mind that any color changes must also be applied to the different UI element states (such as active, hovered, or inactive buttons). Additionally, these changes may not work with theme changes or high-contrast modes of the underlying operating system. When changing a single color, you may need to create an entirely new theme to ensure that the appearance of your app remains coherent and consistent.

Fixed width or height:  If you set a fixed width or height, your app will no longer be responsive and adaptive. Information might get lost if the user resizes the application window, zooms, or changes the device, for example.

Embedded third party objects: An application is only as accessible as each of its parts. Embedded objects like (third party) maps or PDF forms (see PDF Viewer) often have accessibility issues. You need to either fix these issues or provide an alternative, accessible alternative way to retrieve the information and complete the task.

Get Started

SAP Fiori

What is SAP Fiori?

Learn about the new user experience for SAP software.

Introduction to the SAP Fiori Design Guidelines

Find out how the SAP Fiori design guidelines are used and learn about the benefits.

Best Practices for Designing SAP Fiori Apps

The must-know essentials for anyone designing SAP Fiori apps.

Foundation

Design Principles

Learn about the five core principles that make up the design philosophy of SAP Fiori.

SAP Fiori Design-Led Development Process

Get to know the SAP Fiori design-led development process.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

Theming

SAP Fiori user interfaces are constructed using SAPUI5 control sets that are meticulously styled with CSS.

Accessibility in SAP Fiori

Learn how SAP Fiori supports you in designing accessible products.

Designing Intelligent Systems

Situation Handling

Help users identify critical business situations in context as they work.

Explainable AI

Make the underlying logic of your intelligent algorithms transparent using progressive disclosure techniques.

Matching

Help users match related objects using AI methods and ranked proposals.

Ranking

Simplify complex decisions for business users by showing the best options first.

Recommendations

Help users by recommending appropriate content or suggesting an action or input.

General Concepts

SAP Fiori Launchpad

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Draft Handling

Learn about the draftling handling concept of SAP Fiori, including auto-save, locking, and data loss prevention.

Navigation

Navigation in SAP Fiori follows the standard navigation paradigms of various web applications.

Manage Objects

Find out about the different interaction flows for managing objects, including create, edit, and delete.

Message Handling

Find out how to display messages to the user such as errors, warnings, success messages, confirmation, and information.

Layouts,  Floorplans & Frameworks

Page Layouts

Most app designs are based on one of these basic page layouts, which can be used with a range of different floorplans.

Floorplans

Floorplan is an umbrella term that covers the different layout types, the structure of the controls used, and how to handle different use cases. An application contains normally several pages, with each page showing a single floorplan.

SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. They ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

Frameworks

Get insights into two important frameworks used by SAP Fiori.

UI Elements

'Explore' Page

Get an overview of all the UI elements available in SAP Fiori.

Learn More

To learn more, check out the UI Elements category in the navigation menu on the left.

Services & Resources

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Quartz Dark Colors

Quartz Dark is an additional theme created for SAP Fiori applications to work in environments where low light is necessary or unavoidable. The dark theme also ensures a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Usages of the Quartz Dark theme could be working at night, low-lighted factory or other environments, or working outside at night using portable devices.

Be aware that Quartz Dark does not replace high-contrast themes and supports the minimal contrast requirements of the Web Contrast Accessibility Guidelines (WCAG) 2.1.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Dark theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Dark)
Color balance (Quartz Dark)

Color Usage

Each theme is based on a set of individual base reference values. These are:

Primary (main user interface colors)

Secondary (accent colors)

Grayscale (neutral values)

Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Dark reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, which are then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Quartz Dark Theme Primary Colors

Primary 1
Home/ Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#91C8F6
rgb(145, 200, 246)

Primary 3
App Headers and Containers

#29313A
rgb(41, 49, 58)

Primary 4
Home/ Shell Background Base

#232A31
rgb(35, 42, 49)

Primary 5
Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Primary 6
Text and Titles

#FAFAFA
rgb(250, 250, 250)

Primary 7
Subtitles and Labels

#D3D7D9
rgb(211, 215, 217)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

 

Top

#181D22
rgb(24, 29, 34)

Bottom

#272F37
rgb(39, 47, 55)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

 

Accent 1

#FFC847
rgb(255, 200, 71)

Accent 2

#E7A1A1
rgb(231, 161, 161)

Accent 3

#F37AA2
rgb(243, 122, 162)

Accent 4

#E269C9
rgb(226, 105, 201)

Accent 5

#8CA7D5
rgb(140, 167, 213)

Accent 6

#6BD3FF
rgb(107, 211, 255)

Accent 7

#7FC6C6
rgb(127, 198, 198)

Accent 8

#B2E484
rgb(178, 228, 132)

Accent 9

#B995E0
rgb(185, 149, 224)

Accent 10

#B0BCC5
rgb(176, 188, 197)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

 

Text and Titles

#FAFAFA
rgb(250, 250, 250)

Subtitles and Labels

#D3D7D9
rgb(211, 215, 217)

Prompt / Placeholder Text

#B8BEC1
rgb(184, 190, 193)

Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Header / Container / List / Table Borders

#3A4552
rgb(58, 69, 82)

Column Header Background
#232931
rgb(35, 41, 49)

Application Content Background
#1C2228
rgb(28, 34, 40)

Header / Card / Container Background
#29313A
rgb(35, 41, 49)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

Negative

#FF8888
rgb(255, 136, 136)

Critical

#FABD64
rgb(250, 189, 100)

Positive

#ABE2AB
rgb(171, 226, 171)

Neutral

#D3D7D9
rgb(211, 215, 217)

Information
(foreground elements)

#91C8F6
rgb(145, 200, 246)

Semantic Background Colors

 

Negative

#3B0000
rgb(59, 0, 0)

Critical

#2B1A01
rgb(43, 26, 1)

Positive

#153C15
rgb(21, 60, 21)

Neutral

#5C666B
rgb(92, 102, 107)

Information

#062E4F
rgb(6, 46, 79)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

UI Indication 1

#FF5555
rgb(255, 85, 85)

UI Indication 2

#FF8888
rgb(255, 136, 136)

UI Indication 3

#FABD64
rgb(250, 189, 100)

UI Indication 4

#ABE2AB
rgb(171, 226, 171)

UI Indication 5

#91C8F6
rgb(145, 200, 246)

UI Indication 6

#7fc6c6
rgb(127, 198, 198)

UI Indication 7

#b995e0
rgb(185, 149, 224)

UI Indication 8

#e269c9
rgb(226, 105, 201)

Accessibility

Color Contrast

Controls and colors are carefully selected to fulfill the minimum contrast requirements. Contrast ratios vary for different controls due to variations in size, weight, fill, or structure.

The minimum contrast thresholds for the standard SAP Fiori theme are as follows:

  • 4.5:1 for text and icons in normal size or smaller.
  • 3.0:1 for text and icons in large size (and normal size bold).
  • 3.0:1 for graphical objects (like charts) as well as visual details that identify a UI element and its state.

Goals of Good Color Contrast

The user must be able to see everything that is needed to understand and operate the screen.

  • Texts are readable.
  • Icons are recognizable and distinguishable (unless they are purely decorative).
  • UI elements can be identified visually (not by trial and error).
  • Active elements can be recognized as such.
  • The focus indicator can be found quickly (on a 15″ monitor, a user with good vision should find it in less than a second from a distance of 2.5 meters).
  • Emphasized and selected controls are recognizable.
  • Scroll indicators are recognizable.
  • Groups and other structure elements can be recognized.
  • All other visual information can be recognized.

For the last two points, you can also use other options to make the visual elements easier to recognize, such as layout, spacing, or additional texts.

Resources

Theming

SAP Fiori uses a variety of colors. They are mapped to control parameters, thus allowing you to overwrite them easily in the UI Theme Designer.

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications.

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications. Color communicates importance and association, and provides direction to users. By applying the color palette, user interfaces guarantee a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Light theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Light)
Color balance (Quartz Light)

Color Usage

Each theme is based on a set of individual base reference values. These are:

  • Primary (main user interface colors)
  • Secondary (accent colors)
  • Grayscale (neutral values)
  • Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Light reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, whichare then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Primary 1
Home/ Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#0a6ed1
rgb(10, 110, 209)

darken Primary 2 10%
Highlight / Selected / Icons

#0854A0
rgb(8, 84, 160)

Primary 3
App Headers and Containers

#ffffff
rgb(255, 255, 255)

Primary 4
Home/ Shell Background Base

#edeff0
rgb(237, 239, 240)

Primary 5
Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Primary 6
Text and Titles

#32363a
rgb(50, 54, 58)

Primary 7
Subtitles and Labels

#6a6d70
rgb(106, 109, 112)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

Top

#dfe3e4
rgb(223, 227, 228)

Bottom

#f3f4f5
rgb(243, 244, 245)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

Accent 1
#d08014
rgb(208, 128, 20)

Accent 2
#d04343
rgb(208, 67, 67)

Accent 3
#db1f77
rgb(219, 31, 119)

Accent 4
#c0399f
rgb(219, 31, 119)

Accent 5
#6367de
rgb(99, 103, 222)

Accent 6
#286eb4
rgb(40, 110, 180)

Accent 7
#0f828f
rgb(15, 130, 143)

Accent 8
#7ca10c
rgb(124, 161, 12)

Accent 9
#925ace
rgb(146, 90, 206)

Accent 10
#647987
rgb(100, 121, 135)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

Text and Titles

#32363a
rgb(50, 54, 58)

Subtitles and Labels

#6a6d70
rgb(106, 109, 112)

Prompt / Placeholder Text

#74777a
rgb(116, 119, 122)

Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Header / Container Borders

#d9d9d9
rgb(217, 217, 217)

List / Table Borders
#e5e5e5
rgb(229, 229, 229)

Column Header Background
#f2f2f2
rgb(242, 242, 242)

Application Content Background
#f7f7f7
rgb(247, 247, 247)

Header / Card / Container Background
#ffffff
rgb(255, 255, 255)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Semantic Foreground Colors

Negative

#bb0000
rgb(187, 0, 0)

Critical

#e9730c
rgb(233, 115, 12)

Positive

#107e3e
rgb(16, 126, 62)

Neutral

#6a6d70
rgb(106, 109, 112)

Information
(foreground elements)

#0a6ed1
rgb(10, 110, 209)

Semantic Background Colors

Negative

#ffebeb
rgb(255, 235, 235)

Critical

#fef7f1
rgb(254, 247, 241)

Positive

#f1fdf6
rgb(241, 253, 246)

Neutral

#f4f4f4
rgb(244, 244, 244)

Information

#f5faff
rgb(245, 250, 255)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

UI Indication 1

#880000
rgb(136, 0, 0)

UI Indication 2

#bb0000
rgb(233, 115, 12)

UI Indication 3

#e9730c
rgb(233, 115, 12)

UI Indication 4

#107e3e
rgb(16, 126, 62)

UI Indication 5

#0a6ed1
rgb(10, 110, 209)

UI Indication 6

#0f828f
rgb(15, 130, 143)

UI Indication 7

#925ace
rgb(146, 90, 206)

UI Indication 8

#c0399f
rgb(192, 57, 159)

Situation Handling Framework – UI Text Guidelines

Intro

This guideline applies for the standard situation templates in the SAP S/4HANA Situation Handling framework. For each standard template, you need to define the following texts for key users and end users.

Texts for end users:

All texts are translated, except for the template ID.

For the individual texts, follow the guidelines below.

Warning
The Situation Handling framework is still evolving. This UI text guideline is a first draft based on the current implementation. If you see any issues when applying the guidelines to your use case, please share your feedback with Susanne Wilding.

Template ID

Use

Non-translatable unique ID of the standard template. The template ID is seen only by key users.

Guidelines

  • Use the following naming convention: LOB / INDUSTRY PREFIX_TEMPLATE NAME
  • For the line of business or industry prefix, use only the official names known by customers. For example:
    LOB Prefixes Industry Prefixes
    CA_ for Cross Applications
    ENG_ for R&D / Engineering
    FIN_ for Finance
    MAN_ for Manufacturing
    PROC_ for Procurement
    SD_ for Sales
    ISA_ for Automotive
    ISAD_ for Defence
    ISPRS_ for Professional Services
    PSM_ for Public Sector

     

     

  • Ensure that area-specific prefixes are used consistently, and that these are aligned with the prefixes for the SAP areas and components.
  • If you have space, consider using an underscore to separate the words within your template name. This makes the ID easier to read.
  • Maximum length: 30 characters

Examples

  • CA_RSH_PLANITEM_CHANGE
  • FICA_MASSACT_ERROR_RATE_AND_TIME
  • FIN_ALLOCATION_RUN_WARNING_ERROR
  • LCM_RELATIONSHIP_HEALTH_TRIGGER
Template ID in the standard situation template
Template ID in the standard situation template

Template Name

Use

Short name for the standard template. The template name is seen only by key users.

Guidelines

  • Use title case.
  • Use a meaningful text that will help the key user to find the right template. Don’t just copy the situation template ID.
  • Don’t mention the terms “situation” or “notification” (or abbreviations or variants thereof, such as “sit” or “notify”). The usage is already implicit in the template.
  • Be as concise as possible to save space. Leave out unnecessary articles or verbs.
  • Don’t end with a period.
  • Maximum length (all languages): 40 characters

Examples

  Staffing Request Updated
  Digital Access License Warning
  Blocked Invoice Due Soon
 

Template name in the standard situation template
Template name in the standard situation template

Template Description

Use

Summary of the situation for an administrator or key user.

Guidelines

  • Start with one of the following standard formulations:
    • If situation applies to a specific user role:
      Informs [user role in plural] about/when [situation].
    • If the situation can apply to different user roles:
      Informs users about/when [situation]
  • Write full sentences in sentence case, ending with a period.
  • Be concise.
  • Avoid “responsible” (as in “responsible buyers”). In English, this can also mean a person’s attitude (as opposed to irresponsible).
  • Maximum length (all languages): 255 characters

Examples

  Informs resource managers when staffing requirements in a resource request have been changed.
  Informs users when they have used over 80% of their digital access entitlement so that they can renew their license.
  Informs users when invoices that are blocked for payment will soon be overdue.

Template description in the standard situation template
Template description in the standard situation template

Short Description

Use

Summary text to help users see at a glance what the situation is about. The same string is used for both in-app messages and secure notifications in the SAP Fiori launchpad.

In the template, you can see a preview of the short description as it appears in an app or notification.

Guidelines

  • Phrase the text with the end user in mind. This may differ from the template name you defined for the key user.
  • Use sentence case.
  • Don’t end with a period, even if your text is a (short) sentence.
    Reason: The short descriptions can also appear in a list (table), so a consistent format is required. Most short description texts will not be a complete sentence.
  • Don’t use placeholders for variables. (Currently, placeholders aren’t supported for the template short description.)
  • Optimize your short description for the in-app situation message. Ignore any redundancy that is caused by the current display in the SAP Fiori notification (short description displayed below the details).
  • Maximum length: 40 characters (in all languages)

Examples

  Staffing request was updated
  Digital license nearly used up
  Blocked invoice overdue soon


Short description for in-app message and secure notification (text and preview)
Short description for in-app message and secure notification (text and preview)

Message Details

Use

Detail in-app message to explain the situation to the user in full.

In the standard template, you can see a preview of the message as it appears in an app.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description (the message appears directly below the short description).
  • Don’t repeat contextual information that is shown on the same page (for example, the item number or the projects affected).
    However, you may include variables if highlighting a particular value would benefit the user.
  • Write full sentences in sentence case, ending with a period.
  • Never include text variables. To prevent translation issues, only IDs or number variables are permitted.
  • Maximum length: 200 characters + max. 15 variables

Examples

  The project manager has updated the staffing requirements in the resource request. Check the staffed resources in the Resource Management app.
  You have used 80% of your digital access entitlement. Please renew the license if you want to continue using this service.
  An invoice that is blocked for payment will soon be overdue. Risk of late payment fee.

Details for the in-app message (text and preview)
Details for the in-app message (text and preview)

Secure Notification Details

Use

Situation details that are shown in the secure notification message on the SAP Fiori launchpad. The situation details may contain variables.

In the standard template, you can see a preview of the notification as it appears on the launchpad.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description.
  • Write full sentences in sentence case, ending with a period.
  • If necessary, use variables to provide context and to help the user identify the object affected. Focus on the most relevant values. The user can access all other details by navigating to the underlying app.
  • If you include variables, ensure that their meaning is clear in your context.
  • Never include text variables. To prevent translation issues, only IDs or number variables are permitted.
  • Maximum length: 200 characters + max. 15 variables

Examples

  Staffing requirements have changed for project “Quartz” (work package: Software, work item: Upgrade, role: Administrator)
  You have used 80% of your digital access entitlement. Please renew the license if you want to continue using this service.
  Invoice 1234678 is blocked for payment and will soon be overdue. Risk of late payment fee.


Details for the secure notification (text and preview)
Details for the secure notification (text and preview)

Public Notification Details

Use

Public notifications appear outside the SAP Fiori launchpad (for example, email notifications). They are more general than internal messages and never contain variables or sensitive information. To resolve the situation, users can follow a link to the SAP Fiori system.

In the standard template, you can see a preview of the notification in the body text of an email.

Note: The email subject line is a standard text that is not specific to the situation.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description.
  • Write full sentences in sentence case, ending with a period.
  • Don’t use variables.
  • Maximum length: 255 characters

Examples

  A staffing request was updated. Check the staffed resources in the Resource Management app.
  You have nearly used up your digital access entitlement. Please renew the license if you want to continue using this service.
  An invoice is blocked for payment and will soon be overdue. Risk of late payment fee.

Public notification details
Public notification details

Top Tips

  • Don’t just re-use the template name and description for the end user message. The texts should reflect the different target groups.
    • Template descriptions take the third person
    • End-user texts address users directly
  • Keep in mind the different use cases for in-app messages and notifications.
    • On the situation page in an app, the message just needs to summarize the issue. All the relevant data is on the same page. Typically, in-app message details need fewer variables.
    • Notifications initially appear out of context, so additional specifics can help users identify and evaluate the relevance of a situation. Typically, detail notification texts include key variables.
  • Think carefully about how much detail you really need. Shorter texts are easier to read and allow more space for translation.
  • Avoid using lists of variables without indicating what they stand for. This makes it harder for translators to understand the overall context.

Resources

Elements and Controls

Implementation

Typography

SAP Fiori uses SAP’s proprietary typeface 72, with a fallback to a sans-serif system font if 72 can’t be loaded.

Designing 72 from the ground up made it possible to meet SAP Fiori’s typographic requirements, including:

  • Legibility enhancements: Optimize for screen use.
  • Font styles: Support a robust typographic hierarchy.
  • Brand voice: Be credible and humane.
  • Character set: Accommodate complex content.
  • Language support: Support Windows Glyph List.
  • Accessibility: Improve character recognition.

Typography with 72

72” replaces the default system fonts to improve the typographic system for SAP Fiori applications. The design has been meticulously crafted to portray a look and feel that is more trustworthy, friendly and modern, communicating the visual language of SAP Fiori. The metrics of the system fonts have been kept, to ensure compatibility within all controls. Improvements of the individual characters have been made, which also means that less screen width is required, resulting in reduced truncation issues. With all these enhancements, along with the humanist influences within the fine details, 72 greatly improves the legibility of SAP Fiori applications.

72, a bespoke typeface created for SAP
72, a bespoke typeface created for SAP

Language Support and Fallback to System Font

Language coverage is one of the most important requirements of a typeface, depending on the number of countries in which your applications need to be available. Beyond the languages the font supports, fallback solutions need to be considered. If the defined fonts cannot be displayed when an application initially loads, a fallback font is defined in the style sheet. Defining a fallback to a sans-serif system font that is readily available on every user’s device is a simple solution to load applications in any language. The font stack that is used within the CSS includes 72 with a fallback to system fonts such as Arial and Helvetica in combination, or Roboto for Android.

Here is an example of how theme parameters are used to specify a font stack. Notice that there are two versions of the 72 font; the first is a smaller subset to help improve performance and the second is the full version:

sapFontFamily: “72”, “72full”, Arial, Helvetica, sans-serif;

The fallback system fonts also have the advantage of zero loading time, ensuring that there is always a consistent font available that works with the fresh, clean, and minimalist SAP Fiori style. The font stack used comes with a full Unicode solution when special characters are needed. For all the languages that SAP Fiori will need to support, system fonts are available. 72 is integrated into the control set, making customization easy. The font stack can also be modified to achieve an individual result.

Accessibility

Optimized for screen consumption, 72’s design enhancements increase legibility, readability and ultimately, accessibility. A wider apex and open counters help with character recognition at smaller sizes. Differentiation of character details, such as the number “1” and the lower case “l” versus the capital “I”, makes the characters easier to distinguish and improves the overall reading experience.

Example of improved accessibility features
Example of improved accessibility features

Headlines and Font Styles for UI Controls

  • Headlines 1 to 6: Titles are defined in several sizes and styles that help to visually identify the context of application pages or grouped content within the user interface. Examples of headlines include the page title, object header title, list, form, table, chart, timeline, and feed titles. Headlines generally use a regular font weight by default, but this is flexible depending on the control component or application context.
  • Small text: Used for exceptional use cases within controls, such as time stamps or a unit of measurement. We do not recommend using small text size as the main UI text size within controls.
  • Medium text: Default text size used in controls, such as buttons, inputs, tables, or a tree.
  • Large text: Stand-out text controls, such as the author name in a feed, or the file name for a collection of uploaded files.
  • Key performance indicators or custom display sizes: KPI numbers or custom display text sizes may have individually-specified sizes and font weights depending on the control component or application context. Consider visual accessibility and the typographic hierarchy before choosing any custom size or font weight. Light font weights are recommended only for large sizes that are clearly visible and should never be used for small textual information or labeling. If a UI is specially designed to be visible on very large displays from far away, consider emphasizing key information using a bold font weight.
36 px
2.25 rem
Header 1
24 px
1.5 rem
Header 2
20 px
1.25 rem
Header 3
18 px
1.125 rem
Header 4
16 px
1 rem
Header 5
14 px
0.875 rem
Header 6
Headline sizes
16 px
1 rem
Large Text
14 px
0.875 rem
Medium Text
12 px
0.75 rem
Small Text
General font sizes

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

72 Showcase

Overview of “72“, SAP’s proprietary typeface.

Design Stencils and Font Download

72 is now available to download as part of the SAP Fiori design stencils.

Quartz Dark Colors

Quartz Dark is an additional theme created for SAP Fiori applications to work in environments where low light is necessary or unavoidable. The dark theme also ensures a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Usages of the Quartz Dark theme could be working at night, low-lighted factory or other environments, or working outside at night using portable devices.

Be aware that Quartz Dark does not replace high-contrast themes and supports the minimal contrast requirements of the Web Contrast Accessibility Guidelines (WCAG) 2.1.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Dark theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Dark)
Color balance (Quartz Dark)

Color Usage

Each theme is based on a set of individual base reference values. These are:

Primary (main user interface colors)

Secondary (accent colors)

Grayscale (neutral values)

Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Dark reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, which are then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Quartz Dark Theme Primary Colors

Primary 1
Home/ Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#91C8F6
rgb(145, 200, 246)

Primary 3
App Headers and Containers

#29313A
rgb(41, 49, 58)

Primary 4
Home/ Shell Background Base

#232A31
rgb(35, 42, 49)

Primary 5
Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Primary 6
Text and Titles

#FAFAFA
rgb(250, 250, 250)

Primary 7
Subtitles and Labels

#D3D7D9
rgb(211, 215, 217)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

 

Top

#181D22
rgb(24, 29, 34)

Bottom

#272F37
rgb(39, 47, 55)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

 

Accent 1

#FFC847
rgb(255, 200, 71)

Accent 2

#E7A1A1
rgb(231, 161, 161)

Accent 3

#F37AA2
rgb(243, 122, 162)

Accent 4

#E269C9
rgb(226, 105, 201)

Accent 5

#8CA7D5
rgb(140, 167, 213)

Accent 6

#6BD3FF
rgb(107, 211, 255)

Accent 7

#7FC6C6
rgb(127, 198, 198)

Accent 8

#B2E484
rgb(178, 228, 132)

Accent 9

#B995E0
rgb(185, 149, 224)

Accent 10

#B0BCC5
rgb(176, 188, 197)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

 

Text and Titles

#FAFAFA
rgb(250, 250, 250)

Subtitles and Labels

#D3D7D9
rgb(211, 215, 217)

Prompt / Placeholder Text

#B8BEC1
rgb(184, 190, 193)

Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Header / Container / List / Table Borders

#3A4552
rgb(58, 69, 82)

Column Header Background
#232931
rgb(35, 41, 49)

Application Content Background
#1C2228
rgb(28, 34, 40)

Header / Card / Container Background
#29313A
rgb(35, 41, 49)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

Negative

#FF8888
rgb(255, 136, 136)

Critical

#FABD64
rgb(250, 189, 100)

Positive

#ABE2AB
rgb(171, 226, 171)

Neutral

#D3D7D9
rgb(211, 215, 217)

Information
(foreground elements)

#91C8F6
rgb(145, 200, 246)

Information Text
(lighter to differentiate from hyperlinks)

#C0E0FA
rgb(192, 224, 250)

Semantic Background Colors

 

Negative

#3B0000
rgb(59, 0, 0)

Critical

#2B1A01
rgb(43, 26, 1)

Positive

#153C15
rgb(21, 60, 21)

Neutral

#5C666B
rgb(92, 102, 107)

Information

#062E4F
rgb(6, 46, 79)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

UI Indication 1

#FF5555
rgb(255, 85, 85)

UI Indication 2

#FF8888
rgb(255, 136, 136)

UI Indication 3

#FABD64
rgb(250, 189, 100)

UI Indication 4

#ABE2AB
rgb(171, 226, 171)

UI Indication 5

#91C8F6
rgb(145, 200, 246)

UI Indication 6

#7fc6c6
rgb(127, 198, 198)

UI Indication 7

#b995e0
rgb(185, 149, 224)

UI Indication 8

#e269c9
rgb(226, 105, 201)

Accessibility

Color Contrast

Controls and colors are carefully selected to fulfill the minimum contrast requirements. Contrast ratios vary for different controls due to variations in size, weight, fill, or structure.

The minimum contrast thresholds for the standard SAP Fiori theme are as follows:

  • 4.5:1 for text and icons in normal size or smaller.
  • 3.0:1 for text and icons in large size (and normal size bold).
  • 3.0:1 for graphical objects (like charts) as well as visual details that identify a UI element and its state.

Goals of Good Color Contrast

The user must be able to see everything that is needed to understand and operate the screen.

  • Texts are readable.
  • Icons are recognizable and distinguishable (unless they are purely decorative).
  • UI elements can be identified visually (not by trial and error).
  • Active elements can be recognized as such.
  • The focus indicator can be found quickly (on a 15″ monitor, a user with good vision should find it in less than a second from a distance of 2.5 meters).
  • Emphasized and selected controls are recognizable.
  • Scroll indicators are recognizable.
  • Groups and other structure elements can be recognized.
  • All other visual information can be recognized.

For the last two points, you can also use other options to make the visual elements easier to recognize, such as layout, spacing, or additional texts.

Resources

Theming

SAP Fiori uses a variety of colors. They are mapped to control parameters, thus allowing you to overwrite them easily in the UI Theme Designer.

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications.

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications. Color communicates importance and association, and provides direction to users. By applying the color palette, user interfaces guarantee a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Light theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Light)
Color balance (Quartz Light)

Color Usage

Each theme is based on a set of individual base reference values. These are:

  • Primary (main user interface colors)
  • Secondary (accent colors)
  • Grayscale (neutral values)
  • Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Light reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, whichare then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Primary 1
Home/ Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#0a6ed1
rgb(10, 110, 209)

darken Primary 2 10%
Highlight / Selected / Icons

#0854A0
rgb(8, 84, 160)

Primary 3
App Headers and Containers

#ffffff
rgb(255, 255, 255)

Primary 4
Home/ Shell Background Base

#edeff0
rgb(237, 239, 240)

Primary 5
Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Primary 6
Text and Titles

#32363a
rgb(50, 54, 58)

Primary 7
Subtitles and Labels

#6a6d70
rgb(106, 109, 112)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

Top

#dfe3e4
rgb(223, 227, 228)

Bottom

#f3f4f5
rgb(243, 244, 245)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

Accent 1
#d08014
rgb(208, 128, 20)

Accent 2
#d04343
rgb(208, 67, 67)

Accent 3
#db1f77
rgb(219, 31, 119)

Accent 4
#c0399f
rgb(219, 31, 119)

Accent 5
#6367de
rgb(99, 103, 222)

Accent 6
#286eb4
rgb(40, 110, 180)

Accent 7
#0f828f
rgb(15, 130, 143)

Accent 8
#7ca10c
rgb(124, 161, 12)

Accent 9
#925ace
rgb(146, 90, 206)

Accent 10
#647987
rgb(100, 121, 135)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

Text and Titles

#32363a
rgb(50, 54, 58)

Subtitles and Labels

#6a6d70
rgb(106, 109, 112)

Prompt / Placeholder Text

#74777a
rgb(116, 119, 122)

Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Header / Container Borders

#d9d9d9
rgb(217, 217, 217)

List / Table Borders
#e5e5e5
rgb(229, 229, 229)

Column Header Background
#f2f2f2
rgb(242, 242, 242)

Application Content Background
#f7f7f7
rgb(247, 247, 247)

Header / Card / Container Background
#ffffff
rgb(255, 255, 255)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Semantic Foreground Colors

Negative

#bb0000
rgb(187, 0, 0)

Critical

#e9730c
rgb(233, 115, 12)

Positive

#107e3e
rgb(16, 126, 62)

Neutral

#6a6d70
rgb(106, 109, 112)

Information
(foreground elements)

#0a6ed1
rgb(10, 110, 209)

Information Text
(darker to differentiate from hyperlinks)

#053B70
rgb(5, 59, 112)

Semantic Background Colors

Negative

#ffebeb
rgb(255, 235, 235)

Critical

#fef7f1
rgb(254, 247, 241)

Positive

#f1fdf6
rgb(241, 253, 246)

Neutral

#f4f4f4
rgb(244, 244, 244)

Information

#f5faff
rgb(245, 250, 255)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

UI Indication 1

#880000
rgb(136, 0, 0)

UI Indication 2

#bb0000
rgb(233, 115, 12)

UI Indication 3

#e9730c
rgb(233, 115, 12)

UI Indication 4

#107e3e
rgb(16, 126, 62)

UI Indication 5

#0a6ed1
rgb(10, 110, 209)

UI Indication 6

#0f828f
rgb(15, 130, 143)

UI Indication 7

#925ace
rgb(146, 90, 206)

UI Indication 8

#c0399f
rgb(192, 57, 159)

Responsive Spacing System

The responsive spacing system uses responsive padding and margin style sheet classes to control and optimize padding between elements that are common to all SAP Fiori interfaces.

Responsive Padding and Margin Classes

Responsive padding and margin classes control:

  • The left and right spacing within the header and content areas
  • The space between components, such as tables and forms

These classes adapt to different screen sizes at specific breakpoints to ensure that no space is wasted on small screens and that content has more room to breathe on large screens:

  • Size S screen: Up to 599 pixels
  • Size M screen: Between 600 pixels and 1023 pixels
  • Size L screen: Between 1024 pixels and 1439 pixels
  • Size XL screen: 1440 pixels or more

The visual below illustrates how the padding adapts to different screen sizes.

Spacing adapts to different screen sizes
Spacing adapts to different screen sizes
Developer Hint
The spacing system is built into SAP Fiori Elements, but it must be implemented manually in freestyle SAP Quartz-themed applications using the responsive margin and padding classes in SAPUI5. You can use individual spacing and padding classes to apply individual spacing inside or around controls.

More Information

Resources

Elements and Controls

Implementation

Theming

The default theme for SAP Fiori is called SAP Quartz Light. In addition, SAP provides alternative themes: SAP Quartz Dark, SAP Belize, SAP Belize Deep, and the accessibility themes SAP High-Contrast Black (HCB) and SAP High-Contrast White (HCW).

SAP Fiori Themes

SAP Quartz Light theme (default)
SAP Quartz Light theme (default)
SAP Quartz Dark theme
SAP Quartz Dark theme
SAP Belize theme
SAP Belize theme
SAP Belize Deep theme (dark flavor)
SAP Belize Deep theme (dark flavor)

SAP Fiori High Contrast Themes

SAP High-Contrast Black theme
SAP High-Contrast Black theme
SAP High-Contrast White theme
SAP High-Contrast White theme

All the controls are styled using CSS, and the LESS-based theme parameters come in the form of CSS variables, SASS and JSON. This enables customers to apply their own brand identity to the user interface using the UI theme designer, which works across all SAP UI technologies. It allows customers to easily change a few basic colors (quick theming) as well individual control colors (detailed theming). We recommend using SAP Quartz Light as a basis for altering the colors as the minimalist design serves as an ideal starting point.

Concept

Customers can apply their own branding by adapting the standard SAP Fiori theme. Some customers will simply replace the logo or change the main branding colors of the UI by replacing the default brand and base colors of the theme. Other customers want more control to change the colors of the UI controls. Some companies even create multiple themes to reflect the various sub-brands of their different divisions.

From Quick Theming to Detailed Control Theming

Theming is driven by customer requirements and works using a top down approach, from quick to detailed UI control adaptations:

  • Quick theming: replacing logo and main brand colors
  • Detailed theming: replacing detailed color values of specific UI controls


Quick Theming

Customers can easily change the logo and a few colors in the UI by replacing the colors in the UI theme designer. This automatically creates a recalculated tonal color palette that is applied to various UI elements, creating a harmonious look and feel.

One of the main parts of a corporate branding guide is a set of primary and secondary branding colors. When creating a custom theme, these colors can simply be added to the custom palette of the UI theme designer, making it easy to replace the default SAP Fiori colors.

The following example shows a combination of quick theming changes with some detailed parameter adaptations to the shell header and background image and gradient.

Detailed Theming

All of the main brand colors used for quick theming are also interlinked within the controls. Quick theming parameters like the brand color are connected to individual control parameters, such as emphasized and standard button and icon texts. They can even be connected to interaction states, such as the selected and active state colors. Other quick theming parameters like the base color are connected to cards, lists, and table backgrounds.

Groups of controls
Groups of controls

The concept of semantic theming is to organize connected control parameters into groups, determined by what they affect and how they are related to each other. This makes it easier to choose the parameter responsible for a desired outcome and better gauge the results of changing it. Users are not simply changing colors in the UI, but rather are determining how specific colors are used. For example, all of the theme parameters for input controls (input field, radio button, checkbox, and so on) have been grouped together and contain the word “field“. Similarly, all the color parameters for all types of buttons, menus, and tokens (background, borders, and so on) have been grouped together and contain the word “button“.

Theme parameters are set for each semantically named part of the control. These control parameters remain stable and do not change from theme to theme. Each theme has specific color values that are linked into these control parameters.

Button Example

The image below only shows a selection of button control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light button control example
Quartz Light button control example

sapButton_Background:#ffffff

sapButton_BorderColor: #0854a0

sapButton_TextColor: #0854a0

sapButton_Emphasized_Background: #0a6ed1

sapButton_Accept_BorderColor: #107e3e

sapButton_Reject_BorderColor: #bb0000

SAP Belize

Belize button control example
Belize button control example

sapButton_Background: #ffffff

sapButton_BorderColor: #ababab

sapButton_TextColor: #346187

sapButton_Emphasized_Background: #5496cd

sapButton_Accept_BorderColor: #2b7d2b

sapButton_Reject_BorderColor: #bb0000

SAP High Contrast Black

HCB button control example
HCB button control example

sapButton_Background:#000000

sapButton_BorderColor:#ffffff

sapButton_TextColor:#ffffff

sapButton_Emphasized_Background:#000000

sapButton_Accept_BorderColor:#ffffff

sapButton_Reject_BorderColor:#ffffff

SAP High Contrast White

HCW button control example
HCW button control example

sapButton_Background:#ffffff

sapButton_BorderColor:#000000

sapButton_TextColor: #000000

sapButton_Emphasized_Background:#ffffff

sapButton_Accept_BorderColor:#000000

sapButton_Reject_BorderColor:#000000

“Field” Control Examples

Field parameters apply to several input controls, such as input fields, combo boxes, and so on. Changing any of these parameters can affect many or all of these controls.

The image below only shows a selection of input control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light input control example
Quartz Light input control example

sapField_Background: #ffffff

sapField_BorderColor: #89919a

sapField_TextColor: #32363a

SAP Belize

Belize input control example
Belize input control example

sapField_Background: #ffffff

sapField_BorderColor: #bfbfbf

sapField_TextColor: #333333

SAP High Contrast Black

HCB input control example
HCB input control example

sapField_Background: #000000

sapField_BorderColor: #ffffff

sapField_TextColor: #ffffff

SAP High Contrast White

HCW input control example
HCW input control example

sapField_Background: #ffffff

sapField_BorderColor: #000000

sapField_TextColor: #000000

Resources

Elements and Controls

Implementation

Iconography

SAP icons have been created with a friendly, yet elegant style that is consistent in terms of size, stroke and balance. The icons are tailored for simple and direct user interaction, using metaphors that are easy to understand. Each icon has been hand-crafted, hand-hinted, and aligned in font format. The icons are essentially vector graphics that can be resized easily without compromising their appearance.

Vector based icons drawn with a flexible geometric grid system
Vector based icons drawn with a flexible geometric grid system

Design Language

The design language for icons used within SAP products is created to work across all supported browsers, devices and operating systems. The style can be described as:

  • Simple
  • Fresh
  • Serious
  • Neutral

This approach is meant to communicate the simplicity, sophistication, and integrity represented by SAP solutions. The style integrates basic geometric shapes in order to give a more prominent appearance.

Icon Formats

Icons can be supported in multiple file formats. However, SAP delivers icons as font format by default. The SAP icon font contains multiple icons in one file with small file size and allows the convenience of updates that can be delivered with each SAP product release. Custom icons can even replace the SAP icon font if an alternative format or style is desired. Additional icon font files can also be added to the SAPUI5 icon pool.

For more information on custom icons, see OpenUI5 development information.

SAP icons are also part of the theming base content, which is available for all SAP-supported technologies.

Icon Semantics

Icon semantics are used to define a set of visual elements that indicate functions, objects, and states for iconographic communication.

Finding the right visual semantic to indicate a consistent meaning to the user is based on the following essentials:

  • Taking inspiration from the real world.
    An icon should be easily recognized by a user. (Note that this does not imply skeuomorphism.)
  • Making use of context.
    The context of an icon contributes to its meaning.
    A semantic element can have different meanings for the user depending on where it’s located, such as within different labels.
  • Using clear, simple, and recognizable shapes.
    For accessibility reasons, visual elements should be drawn as clear shapes and should not rely upon colors or other means in order to be recognized.
  • Adhering to interaction design standards throughout the graphical user interface.
Simple and recognizable metaphor
Simple and recognizable metaphor

The Geometric Icon Grid System

The simple geometric icon grid was created as the foundational anatomy of the icons. This ensures visual balance concerning circles and squares and brings the needed consistency and stability of the shapes that form the structure of the icon metaphors.

The anatomy of the geometric icon grid system
The anatomy of the geometric icon grid system

A Closer Look at 16px Icons

Here is a closer look at how icons are designed using the grid system:

  • Circles: 16x16px.
  • Squares: 14x14px within a 16px grid.
  • Vertical Rectangles: 16x12px within a 16px grid.
  • Horizontal Rectangles: 12x16px within a 16px grid.
Details of 16px icons based on the icon grid system
Details of 16px icons based on the icon grid system

A Closer Look at 32px Icons

If the icons are scaled up to 32px, the measurements and details will look as following:

  • Circles: 32x32px.
  • Squares: 28x28px within a 32px grid.
  • Vertical Rectangles: 32x24px within a 32px grid.
  • Horizontal Rectangles: 24x32px within a 32px grid.
Details of 32px icons based on the icon grid system.
Details of 32px icons based on the icon grid system.

Line Thickness and Border Radius

In general, the base vector size created for SAP icons is 16px for icons used in most UI controls. Other listed sizes depend on individual control specifications.

At 16px, the main line thickness is 1px. This scales up to 2px at size 32px.

Example of supported (actual) sizes that are manually aligned within icon font formats.
Example of supported (actual) sizes that are manually aligned within icon font formats.

Arrow Styles – Thin

Arrows have been aligned throughout the icon-set to be lighter and a little rounder to remove the roughness from the user-interface controls.

Examples of thin arrows include: dropdown arrow, refresh, sort, and more.
Thin arrows are drawn with 1px line thickness at 16px with a 1px border radius.

Thin arrow style
Thin arrow style

Arrow Styles – Emphasized

This is an emphasized arrow style that caters for additional affordance in the user interface and adheres to the simple clean style.
Examples of arrows include: navigation, expand, move, and more.

Emphasized arrows are drawn with 2px line thickness at 16px with a 1px border radius.

Emphasized arrow style
Emphasized arrow style

Border Radius – Regular

The subtle border radius helps to reduce rough edges and gives a friendly appearance.
A border radius that is 1px at size 16px will naturally scale up to 2px at size 32px.

Line thickness and border radius
Line thickness and border radius

Border Radius – Emphasized

Comment or notification style icons and speech bubbles have an emphasized border radius to help distinguish them.

The overall style is consistent with all other icons, However, a small distinguishing feature such as a border radius increase can help a subset of symbols to stand out from the rest. The change in border radius impacts the grid system structure. This is an example of how flexible the grid system can be.

A border radius that is 2px at size 16px will scale up to 4px at size 32px.

Emphasized border radius achieved with a flexible grid system
Emphasized border radius achieved with a flexible grid system

SAP Icon Font

To ensure availability of SAP icons for all SAP-supported technologies, the icons are part of the theming base content and also as part of OpenUI5. The SAP icon font is made available under the Apache 2.0 license.

Resources

Follow the links below to find out more about iconography.

OpenUI5 Icon Explorer

Explore icons in SAP Fiori with OpenUI5.

OpenUI5 Icons and Icon Pool

Find out more about using icons, adding icons, or replacing them with custom icons in OpenUI5 documentation.

Fiori Design Resources

Download SAP Icon font files.

SAP Theming Base Content

SAP icons available for all SAP-supported technologies.

Theming

The default theme for SAP Fiori is called SAP Quartz Light. In addition, SAP provides alternative themes: SAP Quartz Dark, SAP Belize, SAP Belize Deep, and the accessibility themes SAP High-Contrast Black (HCB) and SAP High-Contrast White (HCW).

SAP Fiori Themes

SAP Quartz Light theme (default)
SAP Quartz Light theme (default)
SAP Quartz Dark theme
SAP Quartz Dark theme
SAP Belize theme
SAP Belize theme
SAP Belize Deep theme (dark flavor)
SAP Belize Deep theme (dark flavor)

SAP Fiori High Contrast Themes

SAP High-Contrast Black theme
SAP High-Contrast Black theme
SAP High-Contrast White theme
SAP High-Contrast White theme

All the controls are styled using CSS, and the LESS-based theme parameters come in the form of CSS variables, SASS and JSON. This enables customers to apply their own brand identity to the user interface using the UI theme designer, which works across all SAP UI technologies. It allows customers to easily change a few basic colors (quick theming) as well individual control colors (detailed theming). We recommend using SAP Quartz Light as a basis for altering the colors as the minimalist design serves as an ideal starting point.

Concept

Customers can apply their own branding by adapting the standard SAP Fiori theme. Some customers will simply replace the logo or change the main branding colors of the UI by replacing the default brand and base colors of the theme. Other customers want more control to change the colors of the UI controls. Some companies even create multiple themes to reflect the various sub-brands of their different divisions.

From Quick Theming to Detailed Control Theming

Theming is driven by customer requirements and works using a top down approach, from quick to detailed UI control adaptations:

  • Quick theming: replacing logo and main brand colors
  • Detailed theming: replacing detailed color values of specific UI controls


Quick Theming

Customers can easily change the logo and a few colors in the UI by replacing the colors in the UI theme designer. This automatically creates a recalculated tonal color palette that is applied to various UI elements, creating a harmonious look and feel.

One of the main parts of a corporate branding guide is a set of primary and secondary branding colors. When creating a custom theme, these colors can simply be added to the custom palette of the UI theme designer, making it easy to replace the default SAP Fiori colors.

The following example shows a combination of quick theming changes with some detailed parameter adaptations to the shell header and background image and gradient.

Detailed Theming

All of the main brand colors used for quick theming are also interlinked within the controls. Quick theming parameters like the brand color are connected to individual control parameters, such as emphasized and standard button and icon texts. They can even be connected to interaction states, such as the selected and active state colors. Other quick theming parameters like the base color are connected to cards, lists, and table backgrounds.

Groups of controls
Groups of controls

The concept of semantic theming is to organize connected control parameters into groups, determined by what they affect and how they are related to each other. This makes it easier to choose the parameter responsible for a desired outcome and better gauge the results of changing it. Users are not simply changing colors in the UI, but rather are determining how specific colors are used. For example, all of the theme parameters for input controls (input field, radio button, checkbox, and so on) have been grouped together and contain the word “field“. Similarly, all the color parameters for all types of buttons, menus, and tokens (background, borders, and so on) have been grouped together and contain the word “button“.

Theme parameters are set for each semantically named part of the control. These control parameters remain stable and do not change from theme to theme. Each theme has specific color values that are linked into these control parameters.

Button Example

The image below only shows a selection of button control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light button control example
Quartz Light button control example

sapButton_Background:#ffffff

sapButton_BorderColor: #0854a0

sapButton_TextColor: #0854a0

sapButton_Emphasized_Background: #0a6ed1

sapButton_Accept_BorderColor: #107e3e

sapButton_Reject_BorderColor: #bb0000

SAP Belize

Belize button control example
Belize button control example

sapButton_Background: #ffffff

sapButton_BorderColor: #ababab

sapButton_TextColor: #346187

sapButton_Emphasized_Background: #5496cd

sapButton_Accept_BorderColor: #2b7d2b

sapButton_Reject_BorderColor: #bb0000

SAP High Contrast Black

HCB button control example
HCB button control example

sapButton_Background:#000000

sapButton_BorderColor:#ffffff

sapButton_TextColor:#ffffff

sapButton_Emphasized_Background:#000000

sapButton_Accept_BorderColor:#ffffff

sapButton_Reject_BorderColor:#ffffff

SAP High Contrast White

HCW button control example
HCW button control example

sapButton_Background:#ffffff

sapButton_BorderColor:#000000

sapButton_TextColor: #000000

sapButton_Emphasized_Background:#ffffff

sapButton_Accept_BorderColor:#000000

sapButton_Reject_BorderColor:#000000

“Field” Control Examples

Field parameters apply to several input controls, such as input fields, combo boxes, and so on. Changing any of these parameters can affect many or all of these controls.

The image below only shows a selection of input control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light input control example
Quartz Light input control example

sapField_Background: #ffffff

sapField_BorderColor: #89919a

sapField_TextColor: #32363a

SAP Belize

Belize input control example
Belize input control example

sapField_Background: #ffffff

sapField_BorderColor: #bfbfbf

sapField_TextColor: #333333

SAP High Contrast Black

HCB input control example
HCB input control example

sapField_Background: #000000

sapField_BorderColor: #ffffff

sapField_TextColor: #ffffff

SAP High Contrast White

HCW input control example
HCW input control example

sapField_Background: #ffffff

sapField_BorderColor: #000000

sapField_TextColor: #000000

Resources

Elements and Controls

Implementation

Accessibility in SAP Fiori

Accessibility refers to the possibility for everyone, including and especially people with disabilities, to access and use information and communication technology. It is an integral part of the SAP Fiori design system and SAPUI5.

Accessibility support is incorporated at two levels:

  • Framework level: Many fundamental accessibility features are built into the core design elements up front and are available to app teams out of the box. This ensures consistency across all products.
  • App level: Some accessibility features need to be added or adapted to reflect app-specific context. These need to be considered whenever you design an app.

This article outlines how accessibility requirements are handled in the SAPUI5 reference framework:

Accessibility Provided at Framework Level

Visualization

Minimum contrast: Following the requirements of the international Web Content Accessibility Guidelines WCAG 2.1 (see References), SAP Fiori’s default theme was designed to fulfill the requirements for minimum color contrast. In addition, we provide high-contrast themes that support the required contrast ratio of 7:1 for texts. They can be chosen in the user settings. The individual theme choice is saved as a preference until the user changes it again.

More information:

Consistency of icons: A comprehensive icon library ensures consistent icon usage within a product and also across products. The icon library includes predefined descriptions. This enables the development teams not only to use consistent icons, but also to implement meaningful descriptions for tooltips as a textual alternative for graphical representation. However, in some cases you may need to adapt these descriptions to the specific use case.

For more information, see Iconography.

Keyboard focus visualization design: Focus visualization is very important for user efficiency. SAP Fiori uses a contrast ratio that makes the current focus stand out in all themes.

Layout adaptation for different devices: Since SAP Fiori can run on various devices, it comes with a responsive layout that adapts to the display resolution parameters of the individual device.

For more information, see Multi-Device Support: Responsive vs. Adaptive.

Support for text resizing: Users can adjust the font size themselves using the browser zoom. The responsive layout adapts to these manual adjustments automatically.

For more information, see Multi-Device Support: Responsive vs. Adaptive.

 

Keyboard

Keyboard navigation and control interaction: All standard UI elements and controls are designed to be keyboard-enabled. All suitable input channels (such as mouse, keyboard, or touch) are treated equally according to the capabilities of the device or the individual preferences of the user. For example, some users may prefer using the keyboard instead of a mouse, which lets them work faster.

For more information, see SAPUI5 keyboard support on SAP Help Portal.

Tab order of controls: According to the placement of controls on the screen, SAPUI5 supports keyboard navigation with a predefined tab order sequence. This includes the tab order for the floorplan, the sequence of accessing individual applications, and the navigation in the application itself. According to control containers and layout, the application needs to be designed to support this order (left-right-top-bottom for western languages, for example).

 

Messaging

Standard messaging patterns (busy, errors, notifications): In SAP Fiori, a message system is implemented. This ensures that system messages appear at predefined locations with a consistent design.

For more information, see Message Handing.

Supporting Accessibility at App Level

Many requirements are already covered by the technology framework, but design aspects that are related to the individual purpose of the application still need to be implemented by the individual design teams. Here are some examples:

Initial focus position: To enable users to work through a task efficiently, always set an initial focus for the task. Set the focus to either the first logical interaction element or the first element in the task.

Error handling: Although the shape and appearance of system messages is predefined, ensure the message content is clear and easy to understand.

Fast navigation: Ensure that the navigation within your application is logical and follows the task structure for the intended purpose. To enable faster navigation, SAPUI5 allows users to skip groups (with F6 or Shift + F6). When designing apps with a large set of functions or information blocks, always form logical groups to help users navigate efficiently. You can form logical groups using a container, a toolbar, or other grouping elements.

Screen reader support: Although screen reader support is technically prepared at framework level, it is still the developer’s task to arrange the individual UI elements in relationships that are needed for a screen reader. Also, the default texts for icons, image placeholders, and other graphical elements may not be available or suitable for your application use case. Always review these texts and replace or redefine them where necessary.

Changes That Impair Accessibility

Be aware that any changes in the framework definitions can impair accessibility support.

Custom controls: SAP Fiori and SAPUI5 comprise an extensive set of controls. These controls come with numerous features that support accessible implementation, including keyboard enablement, resizing behavior, or support for theme changes. If you think that your use case requires a custom control, think twice. A custom control needs to fit into the interaction concept, and all the features must be coded by the app team. This includes accessibility requirements, but also many other aspects, such as globalization and writing modes (left-to-right or right-to-left), security, performance, maintenance, or documentation. Before developing a custom control, always check if your use case can be handled by existing controls. However, it is important to use controls only for their intended purpose.

For more information, see the SAPUI5 documentation.

Custom colors: Change individual colors only in exceptional cases and after very careful consideration. Bear in mind that any color changes must also be applied to the different UI element states (such as active, hovered, or inactive buttons). Additionally, these changes may not work with theme changes or high-contrast modes of the underlying operating system. When changing a single color, you may need to create an entirely new theme to ensure that the appearance of your app remains coherent and consistent.

Fixed width or height:  If you set a fixed width or height, your app will no longer be responsive and adaptive. Information might get lost if the user resizes the application window, zooms, or changes the device, for example.

Situation Handling Framework – UI Text Guidelines

Intro

This guideline applies for the standard situation templates in the SAP S/4HANA situation handling framework. For each standard template, you need to define the following texts for key users and end users.

Texts for end users:

All texts are translated, except for the template ID.

For the individual texts, follow the guidelines below.

Warning
The situation handling framework is still evolving. This UI text guideline is a first draft based on the current implementation. If you see any issues when applying the guidelines to your use case, please share your feedback with Susanne Wilding.

Template ID

Use

Non-translatable unique ID of the standard template. The template ID is seen only by key users.

Guidelines

  • Use the following naming convention: LOB NAME_TEMPLATE NAME
  • For the line of business name, use only the official names known by customers. For example:
    CA_ for Cross Applications
    ENG_ for R&D / Engineering
    FIN_ for Finance
    MAN_ for Manufacturing
    PROC_ for Procurement
    SD_ for Sales
  • If you have space, consider using an underscore to separate the words within your template name. This makes the ID easier to read.
  • Maximum length: 30 characters

Examples

  • CA_RSH_PLANITEM_CHANGE
  • FICA_MASSACT_ERROR_RATE_AND_TIME
  • FIN_ALLOCATION_RUN_WARNING_ERROR
  • LCM_RELATIONSHIP_HEALTH_TRIGGER
Template ID in the standard situation template
Template ID in the standard situation template

Template Name

Use

Short name for the standard template. The template name is seen only by key users.

Guidelines

  • Use title case.
  • Use a meaningful text that will help the key user to find the right template. Don’t just copy the situation template ID.
  • Don’t mention the terms “situation” or “notification” (or abbreviations or variants thereof, such as “sit” or “notify”). The usage is already implicit in the template.
  • Be as concise as possible to save space. Leave out unnecessary articles or verbs.
  • Don’t end with a period.
  • Maximum length (all languages): 40 characters

Examples

  Staffing Request Updated
  Digital Access License Warning
  Blocked Invoice Due Soon
 

Template name in the standard situation template
Template name in the standard situation template

Template Description

Use

Summary of the situation for an administrator or key user.

Guidelines

  • Start with one of the following standard formulations:
    • If situation applies to a specific user role:
      Informs [user role in plural] about/when [situation].
    • If the situation can apply to different user roles:
      Informs users about/when [situation]
  • Write full sentences in sentence case, ending with a period.
  • Be concise.
  • Avoid “responsible” (as in “responsible buyers”). In English, this can also mean a person’s attitude (as opposed to irresponsible).
  • Maximum length (all languages): 255 characters

Examples

  Informs resource managers when staffing requirements in a resource request have been changed.
  Informs users when they have used over 80% of their digital access entitlement so that they can renew their license.
  Informs users when invoices that are blocked for payment will soon be overdue.

Template description in the standard situation template
Template description in the standard situation template

Short Description

Use

Summary text to help users see at a glance what the situation is about. Note that the same string is used for both in-app messages and secure notifications in the SAP Fiori launchpad.

In the template, you can see a preview of the short description as it appears in an app or notification.

Information
In the secure notification, the short description is currently shown underneath the detail text.

Guidelines

  • Phrase the text with the end user in mind. This may differ from the template name you defined for the key user.
  • Use sentence case.
  • Don’t end with a period, even if your text is a (short) sentence.
    Reason: The short descriptions can also appear in a list (table), so a consistent format is required. Most short description texts will not be a complete sentence.
  • Don’t use placeholders for variables. (Currently, placeholders aren’t supported for the template short description.)
  • Optimize your short description for the in-app situation message. Ignore any redundancy that is caused by the current display in the SAP Fiori notification (short description displayed below the details).
  • Maximum length: 40 characters (in all languages)

Examples

  Staffing request was updated
  Digital license nearly used up
  Blocked invoice overdue soon


Short description for in-app message and secure notification (text and preview)
Short description for in-app message and secure notification (text and preview)

Message Details

Use

Detail in-app message to explain the situation to the user in full.

In the standard template, you can see a preview of the message as it appears in an app.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description (the message appears directly below the short description).
  • Don’t repeat contextual information that is shown on the same page (for example, the item number or the projects affected).
    However, you may include variables if highlighting a particular value would benefit the user.
  • Write full sentences in sentence case, ending with a period.
  • Never include text variables. To prevent translation issues, only IDs or number variables are permitted.
  • Maximum length: 200 characters + max. 15 variables

Examples

  The project manager has updated the staffing requirements in the resource request. Check the staffed resources in the Resource Management app.
  You have used 80% of your digital access entitlement. Please renew the license if you want to continue using this service.
  An invoice that is blocked for payment will soon be overdue. Risk of late payment fee.

Details for the in-app message (text and preview)
Details for the in-app message (text and preview)

Secure Notification Details

Use

Situation details that are shown in the secure notification message on the SAP Fiori launchpad. The situation details may contain variables.

In the standard template, you can see a preview of the notification as it appears on the launchpad.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description.
  • Write full sentences in sentence case, ending with a period.
  • If necessary, use variables to provide context and to help the user identify the object affected. Focus on the most relevant values. The user can access all other details by navigating to the underlying app.
  • If you include variables, ensure that their meaning is clear in your context.
  • Never include text variables. To prevent translation issues, only IDs or number variables are permitted.
  • Maximum length: 200 characters + max. 15 variables

Examples

  Staffing requirements have changed for project “Quartz” (work package: Software, work item: Upgrade, role: Administrator)
  You have used 80% of your digital access entitlement. Please renew the license if you want to continue using this service.
  Invoice 1234678 is blocked for payment and will soon be overdue. Risk of late payment fee.


Details for the secure notification (text and preview)
Details for the secure notification (text and preview)

Public Notification

Use

Public notifications appear outside the SAP Fiori launchpad (for example, email notifications). They are more general than internal messages and never contain variables or sensitive information. To resolve the situation, users can follow a link to the SAP Fiori system.

In the standard template, you can see a preview of the notification in the body text of an email.

Note: The email subject line is a standard text that is not specific to the situation.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description.
  • Write full sentences in sentence case, ending with a period.
  • Don’t use variables.
  • Maximum length: 255 characters

Examples

  A staffing request was updated. Check the staffed resources in the Resource Management app.
  You have nearly used up your digital access entitlement. Please renew the license if you want to continue using this service.
  An invoice is blocked for payment and will soon be overdue. Risk of late payment fee.

Public notification text
Public notification text

Top Tips

  • Don’t just re-use the template name and description for the end user message. The texts should reflect the different target groups.
    • Template descriptions take the third person
    • End-user texts address users directly
  • Keep in mind the different use cases for in-app messages and notifications.
    • On the situation page in an app, the message just needs to summarize the issue. All the relevant data is on the same page. Typically, in-app message details need fewer variables.
    • Notifications initially appear out of context, so additional specifics can help users identify and evaluate the relevance of a situation. Typically, detail notification texts include key variables.
  • Think carefully about how much detail you really need. Shorter texts are easier to read and allow more space for translation.
  • Avoid using lists of variables without indicating what they stand for. This makes it harder for translators to understand the overall context.

Resources

Elements and Controls

Implementation

Motion Design

Motion design is a design method that applies animation and visual effects to user interface design. It expands the conventional design space with a time dimension that makes it an ideal medium for storytelling. In the context of SAP Fiori, motion design and microinteractions work together to provide our users with a coherent user experience.

Starting with the big picture, and extending into the smaller details, motion design modernizes the SAP Fiori design language. It helps to make apps simpler, more effective, and more delightful to use, contributing to one look and feel across all SAP Fiori applications.

Motion Design Principles

We’ve established handy motion design principles to follow when designing animations in SAP Fiori:

We’ll look at each of these principles in turn in the sections below.

Duration

Based on research from previous studies and our findings from testing with prototypes, we have defined four duration classes for SAP Fiori animations:

Different animations are grouped in these classes to define the correct duration for each use case.

How do we define animation duration?

The average eye movement takes 230 ms (based on research ranging from 70-700 ms). We classify our generic animations on a scale from 0 ms to 500 ms. If the duration exceeds 500 ms, we speak of “continuous animation”.

Motion design animation durations for SAP Fiori
Motion design animation durations for SAP Fiori

Immediate response (< 150 ms)

This duration applies when the user directly manipulates the content. If animation of this type is needed (for example, to show a hover effect, down state, or drag & drop), the device must react instantaneously and the animation should last no longer than 150 ms.

According to the Nielsen Norman Group, 0.1 s is the response time limit for users to feel like they are directly causing something to happen on the screen. For example, to give users the impression that they are manipulating the table directly, the time it takes between the user clicking a table column and the column being highlighted should be no more than 0.1s. Ideally, this would also be the response time for sorting the column. Users then feel that they are sorting the table, rather than ordering the computer to do the sorting for them.

Example: Drag and Drop on list
Example: Drag and Drop on list

Small Moves (150 ms – 250 ms)

In some cases, the application responds to an interaction so fast that users can lose track of what’s happening on the screen. To present the feedback in a more natural way, we show short animations when elements move between positions or states.

It is important to keep these animations simple and short, because:

  • They reflect a small change on the screen.
  • The user should not have to wait.
  • It is very likely that the user will see these animations frequently.
  • The main purpose of the animation is to enable the user to track a change.
Example: Action sheet - Animations should not make users wait
Example: Action sheet - Animations should not make users wait

Large Moves (250 ms – 500 ms)

If you need to depict a large movement on the screen, use a longer animation duration to avoid fast flashing movements.

Continuous Animations (500 ms – ∞)

The duration of these animations is unpredictable. Anything that takes less than a second should be reflected on the screen as fast as possible. However, some interactions have unknown response times. Placeholder animation is a typical example of a continuous animation.

Example: Placeholder for loading content
Example: Placeholder for loading content

Easing

To enable natural movement for screen elements, most coding languages and animation tools offer functions for easing. To understand the term “easing”, we need to break down the main components of motion.

Motion or movement is described by the position and time. For a given initial position at time “0”, movement is the the change in the position value over time.

  • Position value: The position value is expressed numerically for a certain time, and can be one of the following properties:
    • Position (space)
    • Scaling
    • Rotation
    • Alpha
  • Time: To standardize motion for practical purposes, the time is generally measured in positive numbers. At any moment in time, there is a position value.

Curves and Transition Timing

The property for the transition timing function specifies the speed curve of the transition effect. This property allows a transition effect to change speed over its duration.

The duration defines the total duration of a transition from state A to state B, whether the transition involves scaling, distorting, rotating or modifying the style of an element. The transition timing function defines the rate at which the transition is carried out, which can involve speeding up and slowing down.

The transition timing function uses Bézier curves to describe how the animation will proceed over time. You can either use predefined easing settings for the common functions, or specify the control points for a cubic Bézier function to have full control over the transition function. CSS transitions and animations support easing, formally called a “timing function”. The common easing types are:

  • Ease-in
  • Ease-out
  • Ease-in-out
  • Linear

Ease-In

Easing Type Description Protocol
Ease-in The animation starts slowly and finishes at full speed. cubic-bezier (0.65, 0, 1, 1)

 

Ease-Out

Easing Type Description Protocol
Ease-out The animation starts at full speed and finishes slowly. cubic-bezier (0, 0, 0.35, 1)

 

Ease-In-Out

Easing Type Description Protocol
Ease-in-out The animation starts slowly, reaches its maximum speed in the middle of the animation, then finishes slowly. cubic-bezier (0.5, 0, 0.5, 1)

Linear

Easing Type Description Protocol
No easing No acceleration is used. Use this type only for changes in opacity. cubic-bezier(0, 0, 1, 1)

Direction and Orientation

The direction and orientation determine how elements behave within SAP Fiori.

  • Direction gives users the ultimate sense of where an object is coming from, and where it is going to.
  • Digital elements use 3-axis directions (x,y,z) to emulate real-life movement.
  • Spatial cases without direction, such as popups, use other animiation methods when rendered on the screen (for example, fading).

The examples below illustrate the principle of direction.

Move Elements

In this case, objects are repositioned. Elements enter, exit, or remain on the screen. The direction defines the spatial placement of the element according to its purpose.

  • Used for: Swipe, slide, switch, page/gallery indicators, saving elements.
  • Logical movement: Elements that come in and out of the screen should follow a consistent pattern.
    • If an element moves out, and then back in, it must come in from the place it initially moved out to.
    • If an element moves in, and then back out, it must return to the place it initially moved in from.

Stack Elements

When elements are stacked, one action is placed over another. Here, direction is used to help users follow the way elements are spread on the screen (spatial placement).

  • Used for: Elements that expand/spread or collapse/pile up, open/closed elements with a point of interest.
  • Logical movement: If elements come into the group of elements in a certain order from a certain place, they should leave the group in the same way.

Rotate Elements

Elements can rotate as long as this serves a meaningful purpose, and is not just a normal transition for showing content.

  • Used for: Rearranging elements on the screen, device rotation.
  • Elements that have a radial design can take advantage of this property, which uses direction to express values or states.
  • Logical movement:
    • For 2D rotation, use radial values appropriately (clockwise, anticlockwise).
    • Avoid 3D rotations (for example, flip or page turn).

Choreography

By combining easing, duration, and direction, you can design precise movement sequences. This is known as choreography.

Choreography relates to the sequential movements, steps, and patterns composed for a single element or set of elements on the screen. Elements on the screen appear, disappear, and behave in certain way, depending on their depth on the screen, their importance, and the message they convey. The word choreography literally means “dance-writing”. In the context of motion design, this refers to a series of planned situations that are linked to create consistency and harmony.

Entry and Exit Animations

Often, the entry behavior of a certain element will vary from the exit behavior of the same element. This is because entering the screen has one flow and purpose, and exiting may have another. For example, when a dialog is opened, the animation should last 150 ms, since the purpose of the animation is to reflect the change on the screen. However, closing the dialog should last only 50 ms to avoid waiting situations.

Example: Dialog container
Example: Dialog container

Choreography Behaviors

The choreography behaviors below allow you to optimize your motion design.

Offset

Example: Dialog
Example: Dialog

Combining spatial offset and direction allows you to connect an element to the part of the screen it belongs to.

Objects can use animated offset to demonstrate their parent group or hierarchy, and to show where they are coming from and where they are going to.

Delay

Example: Notification cards with a delay of 50 ms
Example: Notification cards with a delay of 50 ms

Delays support usability by visually separating one element (or set of elements) from another.

You can delay the duration of each single element in a group of elements by specifying a delay for the start of an animation. Animating each element with a slight of delay creates depth and a visual understanding that these elements, while still acting as a group, are independent of one another.

Conditional Delay

Example: Navigation container, slide in-out and fade animations
Example: Navigation container, slide in-out and fade animations

With a conditional delay, the system waits for a certain action or animation to complete (onComplete) before playing the next one.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, and the visual design.

Elements and Controls

  • No links.

Implementation

  • No links.

Multi-Device Support: Responsive vs. Adaptive

For our typical users who work on-the-go, the ability to switch between desktop and mobile devices is critical. As users increasingly come to expect consistent performance and a coherent look and feel across their devices, how can we make sure that we deliver a great user experience with our Fiori apps? The answer is through responsive and adaptive design.

Responsive and adaptive design allow Fiori apps to run on desktop, tablets, smartphones, and hybrid devices. As users switch across devices, our apps automatically accommodate the resolution, image size, and scripting. This way, our users can work how and where they want, regardless of device.

Responsive Design

One of the most compelling factors of SAP Fiori is that our applications need to be developed, configured and maintained only once for all changes to become effective across all devices. This way, the end user gets a consistent experience no matter which device he or she uses. SAPUI5 makes responsive design easy by offering a wide range of UI controls that automatically adjust to different form factors and interaction styles. Additionally, SAPUI5 lets you adjust the size of the controls to match the type of interaction (such as touch device or keyboard/mouse). The advantage of responsive design is that apps can adjust to different screen sizes without requiring additional coding and maintenance efforts.

Responsive Grid

Responsive design is supported by a responsive grid.

The responsive grid positions UI elements in a 12-column flow layout. It can be configured to display a variable number of columns depending on available screen size. With this control, it is possible to achieve flexible layouts and line breaks for large, medium, and small-sized screens, such as desktop, tablet, and mobile.

Adaptive Design

There are certain use cases where a responsive approach may not be appropriate. For instance, you would probably prefer to enter large amounts of data on your desktop. At the same time, you may only want to view the data you entered or perhaps enter a small subset of data on your tablet or smartphone. In such cases, it makes sense to design for different devices and adapt the complexity of the use case according to the specific device. This is what we call adaptive design. This approach requires app developers to manually define specific designs for the different form factors. It means slightly more effort, but also allows for more targeted support of device-specific use cases.

Examples of Responsive Design

The following 3 example shows how a standard list report floorplan would translate to different devices in a (semi-)responsive way.

For these examples, the following responsive design concepts apply:

  • Content density: Compact content density mode is activated on desktop mode. On touch devices, the finger-friendly cozy mode is activated. Read more about content density.
  • Filters: On a desktop, the filter fields are fully displayed. On a tablet or phone, the filter bar should be collapsed as default. Read more about filters.
(1) Example of a list report floor plan on a desktop device. The filter bar is displayed and all the table columns show side by side.
(1) Example of a list report floor plan on a desktop device. The filter bar is displayed and all the table columns show side by side.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls is increased to allow for interaction by touch. The filter fields are hidden, and some table columns move into the pop-in area.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls is increased to allow for interaction by touch. The filter fields are hidden, and some table columns move into the pop-in area.
(3) The same application now displayed on a smartphone. Nearly all table columns move into the pop-in area.
(3) The same application now displayed on a smartphone. Nearly all table columns move into the pop-in area.

Example of Adaptive Design

Sometimes, less is more. For the same app above, the smartphone version might simply show fewer columns per item by default – enabling the user to see more items at once.

Fewer default columns on a smartphone
Fewer default columns on a smartphone

Implementation

Think “mobile first”: Starting with mobile design first helps you stay focused. Begin with the core functionality and progressively enhance features when moving to larger devices.

  • If you are using desktop controls, replace them with responsive controls when running on a mobile device. You can still use the sap.ui.table library. However, we do not recommend using the sap.ui.commons library.
  • If you are using the ALV (analytical table), replace it with the responsive table (sap.m) or another specific solution for the use case (for example, charts, texts, and KPIs).

Use responsive controls: Most SAPUI5 controls are based on mobile controls. This means that they work on touch devices, or with a mouse and keyboard.

Properly configure the controls: Follow the guidelines to configure the responsive settings for the different controls.

Use the correct size settings: Set your apps to “large” on touch devices and to “medium” for devices operated by mouse or keyboard.

Use responsive layouts: There are several layout options available, which allow you to adjust to different sizes.

Use letterboxing: Many of the worklist apps do not have much content. By letterboxing them (restricting their width to a maximum of 1280 px), you can optimize the layout of the app and achieve a more compact look.

Too many functions? If the desktop app has too much functionality and is too complex to be used on a tablet or smartphone, you might have to switch off some functionality on your mobile device:

  • Hide editing functionality and focus on display
  • Hide functions from toolbar
  • Hide alternative columns and views in tables

Summary and Quick Guidelines

  • SAP Fiori apps must be able to run on all three major device types: desktop, tablet, and smartphone.
  • If app functionality and information can be offered equally on all device types, responsive methods should be used to automatically adjust the app.
  • If app functionality and/or information cannot be offered unaltered on different device types (due to the use case, the available screen real estate, or the device capabilities), the app should be adjusted manually according to device-specific requirements.
  • Adaptive and responsive methods can be mixed.

Situation Handling Framework – UI Text Guidelines

Intro

This guideline applies for the standard situation templates in the SAP S/4HANA situation handling framework. For each standard template, you need to define the following texts for key users and end users.

Texts for end users:

All texts are translated, except for the template ID.

For the individual texts, follow the guidelines below.

Warning
The situation handling framework is still evolving. This UI text guideline is a first draft based on the current implementation. If you see any issues when applying the guidelines to your use case, please share your feedback with Susanne Wilding.

Template ID

Use

Non-translatable unique ID of the standard template. The template ID is seen only by key users.

Guidelines

  • Use the following naming convention: LOB NAME_TEMPLATE NAME
  • For the line of business name, use only the official names known by customers. For example:
    CA_ for Cross Applications
    ENG_ for R&D / Engineering
    FIN_ for Finance
    MAN_ for Manufacturing
    PROC_ for Procurement
    SD_ for Sales
  • If you have space, consider using an underscore to separate the words within your template name. This makes the ID easier to read.
  • Maximum length: 30 characters

Examples

  • CA_RSH_PLANITEM_CHANGE
  • FICA_MASSACT_ERROR_RATE_AND_TIME
  • FIN_ALLOCATION_RUN_WARNING_ERROR
  • LCM_RELATIONSHIP_HEALTH_TRIGGER
Template ID in the standard situation template
Template ID in the standard situation template

Template Name

Use

Short name for the standard template. The template name is seen only by key users.

Guidelines

  • Use title case.
  • Use a meaningful text that will help the key user to find the right template. Don’t just copy the situation template ID.
  • Don’t mention the terms “situation” or “notification” (or abbreviations or variants thereof, such as “sit” or “notify”). The usage is already implicit in the template.
  • Be as concise as possible to save space. Leave out unnecessary articles or verbs.
  • Don’t end with a period.
  • Maximum length (all languages): 40 characters

Examples

  Staffing Request Updated
  Digital Access License Warning
  Blocked Invoice Due Soon
 

Template name in the standard situation template
Template name in the standard situation template

Template Description

Use

Summary of the situation for an administrator or key user.

Guidelines

  • Start with one of the following standard formulations:
    • If situation applies to a specific user role:
      Informs [user role in plural] about/when [situation].
    • If the situation can apply to different user roles:
      Informs users about/when [situation]
  • Write full sentences in sentence case, ending with a period.
  • Be concise.
  • Avoid “responsible” (as in “responsible buyers”). In English, this can also mean a person’s attitude (as opposed to irresponsible).
  • Maximum length (all languages): 255 characters

Examples

  Informs resource managers when staffing requirements in a resource request have been changed.
  Informs users when they have used over 80% of their digital access entitlement so that they can renew their license.
  Informs users when invoices that are blocked for payment will soon be overdue.

Template description in the standard situation template
Template description in the standard situation template

Short Description

Use

Summary text to help users see at a glance what the situation is about. Note that the same string is used for both in-app messages and secure notifications in the SAP Fiori launchpad.

In the template, you can see a preview of the short description as it appears in an app or notification.

Information
In the secure notification, the short description is currently shown underneath the detail text.

Guidelines

  • Phrase the text with the end user in mind. This may differ from the template name you defined for the key user.
  • Use sentence case.
  • Don’t end with a period, even if your text is a (short) sentence.
    Reason: The short descriptions can also appear in a list (table), so a consistent format is required. Most short description texts will not be a complete sentence.
  • Don’t use placeholders for variables. (Currently, placeholders aren’t supported for the template short description.)
  • Optimize your short description for the in-app situation message. Ignore any redundancy that is caused by the current display in the SAP Fiori notification (short description displayed below the details).
  • Maximum length: 40 characters (in all languages)

Examples

  Staffing request was updated
  Digital license nearly used up
  Blocked invoice overdue soon


Short description for in-app message and secure notification (text and preview)
Short description for in-app message and secure notification (text and preview)

Message Details

Use

Detail in-app message to explain the situation to the user in full.

In the standard template, you can see a preview of the message as it appears in an app.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description (the message appears directly below the short description).
  • Don’t repeat contextual information that is shown on the same page (for example, the item number or the projects affected).
    However, you may include variables if highlighting a particular value would benefit the user.
  • Write full sentences in sentence case, ending with a period.
  • Never include text variables. To prevent translation issues, only IDs or number variables are permitted.
  • Maximum length: 200 characters + max. 15 variables

Examples

  The project manager has updated the staffing requirements in the resource request. Check the staffed resources in the Resource Management app.
  You have used 80% of your digital access entitlement. Please renew the license if you want to continue using this service.
  An invoice that is blocked for payment will soon be overdue. Risk of late payment fee.

Details for the in-app message (text and preview)
Details for the in-app message (text and preview)

Secure Notification Details

Use

Situation details that are shown in the secure notification message on the SAP Fiori launchpad. The situation details may contain variables.

In the standard template, you can see a preview of the notification as it appears on the launchpad.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description.
  • Write full sentences in sentence case, ending with a period.
  • If necessary, use variables to provide context and to help the user identify the object affected. Focus on the most relevant values. The user can access all other details by navigating to the underlying app.
  • If you include variables, ensure that their meaning is clear in your context.
  • Never include text variables. To prevent translation issues, only IDs or number variables are permitted.
  • Maximum length: 200 characters + max. 15 variables

Examples

  Staffing requirements have changed for project “Quartz” (work package: Software, work item: Upgrade, role: Administrator)
  You have used 80% of your digital access entitlement. Please renew the license if you want to continue using this service.
  Invoice 1234678 is blocked for payment and will soon be overdue. Risk of late payment fee.


Details for the secure notification (text and preview)
Details for the secure notification (text and preview)

Public Notification

Use

Public notifications appear outside the SAP Fiori launchpad (for example, email notifications). They are more general than internal messages and never contain variables or sensitive information. To resolve the situation, users can follow a link to the SAP Fiori system.

In the standard template, you can see a preview of the notification in the body text of an email.

Note: The email subject line is a standard text that is not specific to the situation.

Guidelines

  • Describe the essence of the situation as concisely as possible.
  • Don’t just repeat the short description.
  • Write full sentences in sentence case, ending with a period.
  • Don’t use variables.
  • Maximum length: 255 characters

Examples

  A staffing request was updated. Check the staffed resources in the Resource Management app.
  You have nearly used up your digital access entitlement. Please renew the license if you want to continue using this service.
  An invoice is blocked for payment and will soon be overdue. Risk of late payment fee.

Public notification text
Public notification text

Top Tips

  • Don’t just re-use the template name and description for the end user message. The texts should reflect the different target groups.
    • Template descriptions take the third person
    • End-user texts address users directly
  • Keep in mind the different use cases for in-app messages and notifications.
    • On the situation page in an app, the message just needs to summarize the issue. All the relevant data is on the same page. Typically, in-app message details need fewer variables.
    • Notifications initially appear out of context, so additional specifics can help users identify and evaluate the relevance of a situation. Typically, detail notification texts include key variables.
  • Think carefully about how much detail you really need. Shorter texts are easier to read and allow more space for translation.
  • Avoid using lists of variables without indicating what they stand for. This makes it harder for translators to understand the overall context.

Resources

Elements and Controls

Implementation

Design-Led Development Process

SAP is committed to designing role-based applications that address the needs of our end users across all lines of business, tasks, and devices. We believe this is the key to a great user experience (UX). But how do we guarantee a solid and consistent design for our customers and end users? The answer is SAP’s design-led development process. 

Design-led development takes advantage of proven design thinking methods to achieve an optimal user experience. The process spans the entire development lifecycle, is simple and easy to follow, and provides a solid basis for scaling design as a whole. It fosters unity between designers and developers, while ensuring that the needs of the end user are addressed at every step along the way. Learn more about design-led development below. 

The Phases

Developing software is much more than just coding. It’s about putting the user first, from start to finish. In order to do that, it’s critical that you first understand who your end user is. This is why the design-led development process begins with the discover phase. At this stage, you focus on understanding your customers, how they work, and what they need. 

Only then do you move on to the design phase and create the initial prototypes for development. After the develop activities, including implementation and testing, your app is ready to be adopted by customers. 

Of course, iterations are part of the approach and strongly recommended. 

The design-led development process
The design-led development process

It is essential to implement quality checkpoints to ensure that the product comes with the best possible UX. We recommend installing quality checkpoints for each phase. Depending on your setup, you might also consider reviewing related apps together to optimize the overall user experience. 

Find out more about each process phase in the detail sections below: 

Discover
Design
Develop
Deliver

Discover

Perhaps you already have a good idea of what your customers want and need, and what your end user’s tasks and challenges are. But what you really need is a holistic view of the business roles affected by your apps. 

To get the relevant insights, you will have to visit your customers onsite, speak to everyone involved, and observe users doing their daily work. You should gain a clear understanding of all the business roles involved, their typical tasks and pain points, and the sequence of activities. By the end of the discover phase, you should know which apps need to be developed. 

Take a look at our user research method cards to find the best method for your user research activities.

Design

Equipped with the findings from the discover phase, you’re now ready to start the design phase. Ideally, you can brainstorm in a multidisciplinary team, and come up with an initial prototype that you can validate with your end users. 

Applying the SAP Fiori Design Guidelines during the design process will ensure that you build a consistent SAP Fiori user experience. 

By the end of the design phase you will have a design that is ready to be implemented. 

Develop

Development can start once you’ve finished your initial design. During the development phase, you may still need to change some aspects of your design to incorporate ongoing user feedback, to optimize the app, or to allow for technical constraints. 

Before you deploy your app, verify that the final implementation and design deliver the intended user experience to the targeted end users. For usability and consistency, also check that the final design and the implementation reflect the SAP Fiori design guidelines. 

By the end of the develop phase, you will be ready to deliver your app. 

Deliver

Now the app can be adopted: The system administrator makes the app available to the end users. During the deliver phase, you should find out how end users work with the app: Does the app make their work easier? Do they like using it? Do they find all the information they need? Are there any functions missing?  

What you learn from the real-life user experience feeds back into the design-led development process and informs the next iteration of the solution. 

It’s a Team Effort

Many different people contribute to the development process. Typically, these include: 

  • The product owner, an area expert who is usually responsible for the whole family of apps in that area. 
  • The user researcher, who drives the end user research and artifact consolidation. 
  • The user experience designer, who creates mockups, prototypes, and design specifications. The software developer, who implements the design. 
  • The info developer, who works on UI texts, terminology, and user assistance topics. The quality expert, who sets up test activities and consolidates the results. 

These are just the main roles. Depending on how you drive the process, you may need to extend this list. 

Accessibility in SAP Fiori

Accessibility refers to the possibility for everyone, including and especially people with disabilities, to access and use information and communication technology. It is an integral part of the SAP Fiori design system and SAPUI5.

Accessibility support is incorporated at two levels:

  • Framework level: Many fundamental accessibility features are built into the core design elements up front and are available to app teams out of the box. This ensures consistency across all products.
  • App level: Some accessibility features need to be added or adapted to reflect app-specific context. These need to be considered whenever you design an app.

This article outlines how accessibility requirements are handled in the SAPUI5 reference framework:

Accessibility Provided at Framework Level

Visualization

Minimum contrast: Following the requirements of the international Web Content Accessibility Guidelines WCAG 2.1 (see References), SAP Fiori’s default theme was designed to fulfill the requirements for minimum color contrast. In addition, we provide high-contrast themes that support the required contrast ratio of 7:1 for texts. They can be chosen in the user settings. The individual theme choice is saved as a preference until the user changes it again.

More information:

Consistency of icons: A comprehensive icon library ensures consistent icon usage within a product and also across products. The icon library includes predefined descriptions. This enables the development teams not only to use consistent icons, but also to implement meaningful descriptions for tooltips as a textual alternative for graphical representation. However, in some cases you may need to adapt these descriptions to the specific use case.

For more information, see Iconography.

Keyboard focus visualization design: Focus visualization is very important for user efficiency. SAP Fiori uses a contrast ratio that makes the current focus stand out in all themes.

Layout adaptation for different devices: Since SAP Fiori can run on various devices, it comes with a responsive layout that adapts to the display resolution parameters of the individual device.

For more information, see Multi-Device Support: Responsive vs. Adaptive.

Support for text resizing: Users can adjust the font size themselves using the browser zoom. The responsive layout adapts to these manual adjustments automatically.

For more information, see Multi-Device Support: Responsive vs. Adaptive.

 

Keyboard

Keyboard navigation and control interaction: All standard UI elements and controls are designed to be keyboard-enabled. All suitable input channels (such as mouse, keyboard, or touch) are treated equally according to the capabilities of the device or the individual preferences of the user. For example, some users may prefer using the keyboard instead of a mouse, which lets them work faster.

For more information, see SAPUI5 keyboard support on SAP Help Portal.

Tab order of controls: According to the placement of controls on the screen, SAPUI5 supports keyboard navigation with a predefined tab order sequence. This includes the tab order for the floorplan, the sequence of accessing individual applications, and the navigation in the application itself. According to control containers and layout, the application needs to be designed to support this order (left-right-top-bottom for western languages, for example).

 

Messaging

Standard messaging patterns (busy, errors, notifications): In SAP Fiori, a message system is implemented. This ensures that system messages appear at predefined locations with a consistent design.

For more information, see Message Handing.

Supporting Accessibility at App Level

Many requirements are already covered by the technology framework, but design aspects that are related to the individual purpose of the application still need to be implemented by the individual design teams. Here are some examples:

Initial focus position: To enable users to work through a task efficiently, always set an initial focus for the task. Set the focus to either the first logical interaction element or the first element in the task.

Error handling: Although the shape and appearance of system messages is predefined, ensure the message content is clear and easy to understand.

Fast navigation: Ensure that the navigation within your application is logical and follows the task structure for the intended purpose. To enable faster navigation, SAPUI5 allows users to skip groups (with F6 or Shift + F6). When designing apps with a large set of functions or information blocks, always form logical groups to help users navigate efficiently. You can form logical groups using a container, a toolbar, or other grouping elements.

Screen reader support: Although screen reader support is technically prepared at framework level, it is still the developer’s task to arrange the individual UI elements in relationships that are needed for a screen reader. Also, the default texts for icons, image placeholders, and other graphical elements may not be available or suitable for your application use case. Always review these texts and replace or redefine them where necessary.

Changes That Impair Accessibility

Be aware that any changes in the framework definitions can impair accessibility support.

Custom controls: SAP Fiori and SAPUI5 comprise an extensive set of controls. These controls come with numerous features that support accessible implementation, including keyboard enablement, resizing behavior, or support for theme changes. If you think that your use case requires a custom control, think twice. A custom control needs to fit into the interaction concept, and all the features must be coded by the app team. This includes accessibility requirements, but also many other aspects, such as globalization and writing modes (left-to-right or right-to-left), security, performance, maintenance, or documentation. Before developing a custom control, always check if your use case can be handled by existing controls. However, it is important to use controls only for their intended purpose.

For more information, see the SAPUI5 documentation.

Custom colors: Change individual colors only in exceptional cases and after very careful consideration. Bear in mind that any color changes must also be applied to the different UI element states (such as active, hovered, or inactive buttons). Additionally, these changes may not work with theme changes or high-contrast modes of the underlying operating system. When changing a single color, you may need to create an entirely new theme to ensure that the appearance of your app remains coherent and consistent.

Fixed width or height:  If you set a fixed width or height, your app will no longer be responsive and adaptive. Information might get lost if the user resizes the application window, zooms, or changes the device, for example.

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. Today, we can easily adjust content to different screen sizes by using responsive layouts and controls, so letterboxing is an optional feature. If letterboxing is switched on, the screen size is reduced to 1280 px.

Letterboxing switched on (screen width 1280 px)
Letterboxing switched on (screen width 1280 px)
Letterboxing switched off (full screen width)
Letterboxing switched off (full screen width)

Guidelines

When to Switch ON Letterboxing

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and stretching the app would distort the content and lead to poor usability.

Letterboxing can be switched on or off per entire application or for individual pages within an application. Only enable letterboxing for individual pages if the app contains one or a few pages that benefit from using letterboxing.

Information
If a user frequently navigates between two apps / pages, avoid changing between letterboxing and full screen settings. Otherwise, users might lose focus due to the constant layout change.

If you want to use letterboxing for an application, set the appWidthLimited property of the sap.m.Shell control to true.

In some cases, applications may need to have the flexibility to change the width at runtime for different views. Example: fullWidth in view A and letterboxing in view B.

Through a new API, apps can change the width in the AppConfiguration service at runtime for different views.

When to Switch OFF Letterboxing

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.

Quartz Dark Colors

Quartz Dark is an additional theme created for SAP Fiori applications to work in environments where low light is necessary or unavoidable. The dark theme also ensures a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Usages of the Quartz Dark theme could be working at night, low-lighted factory or other environments, or working outside at night using portable devices.

Be aware that Quartz Dark does not replace high-contrast themes and supports the minimal contrast requirements of the Web Contrast Accessibility Guidelines (WCAG) 2.1.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Dark theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Dark)
Color balance (Quartz Dark)

Color Usage

Each theme is based on a set of individual base reference values. These are:

Primary (main user interface colors)

Secondary (accent colors)

Grayscale (neutral values)

Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Dark reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, which are then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Quartz Dark Theme Primary Colors

Primary 1
Home/ Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#91C8F6
rgb(145, 200, 246)

Primary 3
App Headers and Containers

#29313A
rgb(41, 49, 58)

Primary 4
Home/ Shell Background Base

#232A31
rgb(35, 42, 49)

Primary 5
Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Primary 6
Text and Titles

#FAFAFA
rgb(250, 250, 250)

Primary 7
Subtitles and Labels

#D3D7D9
rgb(211, 215, 217)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

 

Top

#181D22
rgb(24, 29, 34)

Bottom

#272F37
rgb(39, 47, 55)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

 

Accent 1

#FFC847
rgb(255, 200, 71)

Accent 2

#E7A1A1
rgb(231, 161, 161)

Accent 3

#F37AA2
rgb(243, 122, 162)

Accent 4

#E269C9
rgb(226, 105, 201)

Accent 5

#8CA7D5
rgb(140, 167, 213)

Accent 6

#6BD3FF
rgb(107, 211, 255)

Accent 7

#7FC6C6
rgb(127, 198, 198)

Accent 8

#B2E484
rgb(178, 228, 132)

Accent 9

#B995E0
rgb(185, 149, 224)

Accent 10

#B0BCC5
rgb(176, 188, 197)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

 

Text and Titles

#FAFAFA
rgb(250, 250, 250)

Subtitles and Labels

#D3D7D9
rgb(211, 215, 217)

Prompt / Placeholder Text

#B8BEC1
rgb(184, 190, 193)

Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Header / Container / List / Table Borders

#3A4552
rgb(58, 69, 82)

Column Header Background
#232931
rgb(35, 41, 49)

Application Content Background
#1C2228
rgb(28, 34, 40)

Header / Card / Container Background
#29313A
rgb(35, 41, 49)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

Negative

#FF8888
rgb(255, 136, 136)

Critical

#FABD64
rgb(250, 189, 100)

Positive

#ABE2AB
rgb(171, 226, 171)

Neutral

#D3D7D9
rgb(211, 215, 217)

Information

#91C8F6
rgb(145, 200, 246)

Semantic Background Colors

 

Negative

#3B0000
rgb(59, 0, 0)

Critical

#2B1A01
rgb(43, 26, 1)

Positive

#153C15
rgb(21, 60, 21)

Neutral

#5C666B
rgb(92, 102, 107)

Information

#062E4F
rgb(6, 46, 79)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

UI Indication 1

#FF5555
rgb(255, 85, 85)

UI Indication 2

#FF8888
rgb(255, 136, 136)

UI Indication 3

#FABD64
rgb(250, 189, 100)

UI Indication 4

#ABE2AB
rgb(171, 226, 171)

UI Indication 5

#91C8F6
rgb(145, 200, 246)

UI Indication 6

#7fc6c6
rgb(127, 198, 198)

UI Indication 7

#b995e0
rgb(185, 149, 224)

UI Indication 8

#e269c9
rgb(226, 105, 201)

Accessibility

Color Contrast

Controls and colors are carefully selected to fulfill the minimum contrast requirements. Contrast ratios vary for different controls due to variations in size, weight, fill, or structure.

The minimum contrast thresholds for the standard SAP Fiori theme are as follows:

  • 4.5:1 for text and icons in normal size or smaller.
  • 3.0:1 for text and icons in large size (and normal size bold).
  • 3.0:1 for graphical objects (like charts) as well as visual details that identify a UI element and its state.

Goals of Good Color Contrast

The user must be able to see everything that is needed to understand and operate the screen.

  • Texts are readable.
  • Icons are recognizable and distinguishable (unless they are purely decorative).
  • UI elements can be identified visually (not by trial and error).
  • Active elements can be recognized as such.
  • The focus indicator can be found quickly (on a 15″ monitor, a user with good vision should find it in less than a second from a distance of 2.5 meters).
  • Emphasized and selected controls are recognizable.
  • Scroll indicators are recognizable.
  • Groups and other structure elements can be recognized.
  • All other visual information can be recognized.

For the last two points, you can also use other options to make the visual elements easier to recognize, such as layout, spacing, or additional texts.

Resources

Theming

SAP Fiori uses a variety of colors. They are mapped to control parameters, thus allowing you to overwrite them easily in the UI Theme Designer.

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications.

Belize Colors

Belize is a visual theme we provide for SAP Fiori applications, in addition to the standard Quartz Light theme. In SAP Fiori, color communicates importance and association, and provides direction to users.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel across all SAP Fiori apps.

Color balance (considering dark and light UIs)
Color balance (considering dark and light UIs)

Color Usage

Each theme is based on a set of individual base reference values. These are:

  • Primary (main user interface colors)
  • Secondary (accent colors)
  • Grayscale (neutral values)
  • Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Belize reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, which are then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Primary 1
Global Contrast Base

#3F5161
RGB 63/81/97

Primary 2
Brand / Highlight

#427CAC
RGB 66/124/172

Based on Primary 2
Contrast Highlight

#91C8F6
RGB 145/200/246

Primary 3
Global Light Base

#EFF4F9
RGB 239/244/249

Primary 4
Containers

#FFFFFF
RGB 255/255/255

Primary 5
Application Content Background

#FAFAFA
RGB 250/250/250

Primary 6
Borders and Derived Controls

#BFBFBF
RGB 191/191/191

Primary 7
Titles and Texts

#333333
RGB 51/51/51

SAP Fiori Launchpad Gradient

Top

 Contrast Theme
#2C4E6C
RGB 44/78/108

Bottom

 Contrast Theme
#9EC7D8
RGB 158/199/216

Top

 Light Theme
#A9C6DE
RGB 169/198/222

Bottom

Light Theme
#E7ECF0
RGB 231/236/240

Accent Colors

Accent colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

#E09D00
RGB 224/157/0

#E6600D
RGB 230/96/13

#C14646
RGB 193/70/70

#AB218E
RGB 171/33/142

#678BC7
RGB 103/139/199

#0092D1
RGB 0/146/209

#1A9898
RGB 26 152 152

#759421
RGB 117/148/33

#925ACE
RGB 146/90/206

#647987
RGB 100/121/135

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for texts.

#333333
RGB 51/51/51

#666666
RGB 102/102/102

#BFBFBF
RGB 191/191/191

#CCCCCC
RGB 204/204/204

#E5E5E5
RGB 229/229/229

#FFFFFF
RGB 255/255/255

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Semantic Colors – Light Flavor Values

Negative

#BB0000
RGB 187/0/0

Critical

#E78C07
RGB 231/140/7

Positive

#2B7D2B
RGB 43/125/43

Neutral

#5E696E
RGB 94/105/110

Information

#427cac
RGB 66/124/172

Semantic Colors – Dark Flavor Values

Negative

#FF8888
RGB 255/136/136

Critical

#FABD64
RGB 250/189/100

Positive

#ABE2AB
RGB 171/226/171

Neutral

#D3D7D9
RGB 211/215/217

Information

#91c8f6
RGB 145/200/246

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Light Flavor Values

UI Indication 1

#880000
RGB 136/0/0

UI Indication 2

#bb0000
RGB 171/34/23

UI Indication 3

#E78C07
RGB 219/144/52

UI Indication 4

#2B7C2B
RGB 67/122/54

UI Indication 5

#427CAC
RGB 80/123/168

UI Indication 6

#1a9898
RGB 26/152/152

UI Indication 7

#925ace
RGB 146/90/206

UI Indication 8

#ab218e
RGB 171/33/142

Dark Flavor Values

UI Indication 1

#FF8888
RGB 255/136/136

UI Indication 2

#FFBBBB
RGB 255/187/187

UI Indication 3

#FABD64
RGB 250/189/100

UI Indication 4

#ABE2AB
RGB 171/226/171

UI Indication 5

#91c8f6
RGB 145/200/246

UI Indication 6

#7fc6c6
RGB 26/152/152

UI Indication 7

#b995e0
RGB 146/90/206

UI Indication 8

#e269c9
RGB 171/33/142

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications. Color communicates importance and association, and provides direction to users. By applying the color palette, user interfaces guarantee a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Light theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Light)
Color balance (Quartz Light)

Color Usage

Each theme is based on a set of individual base reference values. These are:

  • Primary (main user interface colors)
  • Secondary (accent colors)
  • Grayscale (neutral values)
  • Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Light reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, whichare then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Primary 1
Home/ Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#0a6ed1
rgb(10, 110, 209)

darken Primary 2 10%
Highlight / Selected / Icons

#0854A0
rgb(8, 84, 160)

Primary 3
App Headers and Containers

#ffffff
rgb(255, 255, 255)

Primary 4
Home/ Shell Background Base

#edeff0
rgb(237, 239, 240)

Primary 5
Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Primary 6
Text and Titles

#32363a
rgb(50, 54, 58)

Primary 7
Subtitles and Labels

#6a6d70
rgb(106, 109, 112)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

Top

#dfe3e4
rgb(223, 227, 228)

Bottom

#f3f4f5
rgb(243, 244, 245)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

Accent 1
#d08014
rgb(208, 128, 20)

Accent 2
#d04343
rgb(208, 67, 67)

Accent 3
#db1f77
rgb(219, 31, 119)

Accent 4
#c0399f
rgb(219, 31, 119)

Accent 5
#6367de
rgb(99, 103, 222)

Accent 6
#286eb4
rgb(40, 110, 180)

Accent 7
#0f828f
rgb(15, 130, 143)

Accent 8
#7ca10c
rgb(124, 161, 12)

Accent 9
#925ace
rgb(146, 90, 206)

Accent 10
#647987
rgb(100, 121, 135)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

Text and Titles

#32363a
rgb(50, 54, 58)

Subtitles and Labels

#6a6d70
rgb(106, 109, 112)

Prompt / Placeholder Text

#74777a
rgb(116, 119, 122)

Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Header / Container Borders

#d9d9d9
rgb(217, 217, 217)

List / Table Borders
#e5e5e5
rgb(229, 229, 229)

Column Header Background
#f2f2f2
rgb(242, 242, 242)

Application Content Background
#f7f7f7
rgb(247, 247, 247)

Header / Card / Container Background
#ffffff
rgb(255, 255, 255)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Semantic Foreground Colors

Negative

#bb0000
rgb(187, 0, 0)

Critical

#e9730c
rgb(233, 115, 12)

Positive

#107e3e
rgb(16, 126, 62)

Neutral

#6a6d70
rgb(106, 109, 112)

Information

#0a6ed1
rgb(10, 110, 209)

Semantic Background Colors

Negative

#ffebeb
rgb(255, 235, 235)

Critical

#fef7f1
rgb(254, 247, 241)

Positive

#f1fdf6
rgb(241, 253, 246)

Neutral

#f4f4f4
rgb(244, 244, 244)

Information

#f5faff
rgb(245, 250, 255)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

UI Indication 1

#880000
rgb(136, 0, 0)

UI Indication 2

#bb0000
rgb(233, 115, 12)

UI Indication 3

#e9730c
rgb(233, 115, 12)

UI Indication 4

#107e3e
rgb(16, 126, 62)

UI Indication 5

#0a6ed1
rgb(10, 110, 209)

UI Indication 6

#0f828f
rgb(15, 130, 143)

UI Indication 7

#925ace
rgb(146, 90, 206)

UI Indication 8

#c0399f
rgb(192, 57, 159)

Get Started

SAP Fiori

What is SAP Fiori?

Learn about the new user experience for SAP software.

A Beginner's Guide to the SAP Fiori Design Guidelines

Your brief introduction to everything you need to know about working with the guidelines.

Foundation

Design Principles

Learn about the five core principles that make up the design philosophy of SAP Fiori.

SAP Fiori Design-Led Development Process

Get to know the SAP Fiori design-led development process.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

Theming

SAP Fiori user interfaces are constructed using SAPUI5 control sets that are meticulously styled with CSS.

Accessibility in SAP Fiori

Learn how SAP Fiori supports you in designing accessible products.

Designing Intelligent Systems

Situation Handling

Help users identify critical business situations in context as they work.

Explainable AI

Make the underlying logic of your intelligent algorithms transparent using progressive disclosure techniques.

Matching

Help users match related objects using AI methods and ranked proposals.

Ranking

Simplify complex decisions for business users by showing the best options first.

Recommendations

Help users by recommending appropriate content or suggesting an action or input.

General Concepts

SAP Fiori Launchpad

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Draft Handling

Learn about the draftling handling concept of SAP Fiori, including auto-save, locking, and data loss prevention.

Navigation

Navigation in SAP Fiori follows the standard navigation paradigms of various web applications.

Manage Objects

Find out about the different interaction flows for managing objects, including create, edit, and delete.

Message Handling

Find out how to display messages to the user such as errors, warnings, success messages, confirmation, and information.

Layouts,  Floorplans & Frameworks

Page Layouts

Most app designs are based on one of these basic page layouts, which can be used with a range of different floorplans.

Floorplans

Floorplan is an umbrella term that covers the different layout types, the structure of the controls used, and how to handle different use cases. An application contains normally several pages, with each page showing a single floorplan.

SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. They ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

Frameworks

Get insights into two important frameworks used by SAP Fiori.

UI Elements

'Explore' Page

Get an overview of all the UI elements available in SAP Fiori.

Learn More

To learn more, check out the UI Elements category in the navigation menu on the left.

Services & Resources

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Get Started

SAP Fiori

What is SAP Fiori?

Learn about the new user experience for SAP software.

A Beginner's Guide to the SAP Fiori Design Guidelines

Your brief introduction to everything you need to know about working with the guidelines.

Foundation

Design Principles

Learn about the five core principles that make up the design philosophy of SAP Fiori.

SAP Fiori Design-Led Development Process

Get to know the SAP Fiori design-led development process.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

Theming

SAP Fiori user interfaces are constructed using SAPUI5 control sets that are meticulously styled with CSS.

Designing Intelligent Systems

Situation Handling

Help users identify critical business situations in context as they work.

Explainable AI

Make the underlying logic of your intelligent algorithms transparent using progressive disclosure techniques.

Matching

Help users match related objects using AI methods and ranked proposals.

Ranking

Simplify complex decisions for business users by showing the best options first.

Recommendations

Help users by recommending appropriate content or suggesting an action or input.

General Concepts

SAP Fiori Launchpad

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Draft Handling

Learn about the draftling handling concept of SAP Fiori, including auto-save, locking, and data loss prevention.

Navigation

Navigation in SAP Fiori follows the standard navigation paradigms of various web applications.

Manage Objects

Find out about the different interaction flows for managing objects, including create, edit, and delete.

Message Handling

Find out how to display messages to the user such as errors, warnings, success messages, confirmation, and information.

Layouts,  Floorplans & Frameworks

Page Layouts

Most app designs are based on one of these basic page layouts, which can be used with a range of different floorplans.

Floorplans

Floorplan is an umbrella term that covers the different layout types, the structure of the controls used, and how to handle different use cases. An application contains normally several pages, with each page showing a single floorplan.

SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. They ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

Frameworks

Get insights into two important frameworks used by SAP Fiori.

UI Elements

'Explore' Page

Get an overview of all the UI elements available in SAP Fiori.

Learn More

To learn more, check out the UI Elements category in the navigation menu on the left.

Services & Resources

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

SAP Fiori

SAP Fiori is a design system that provides a consistent user experience for SAP software across platforms and devices. It is at the core of SAP’s product experience and design strategy.

With SAP Fiori we offer design solutions that are usable, robust, scalable, and of enterprise-grade quality – implemented in several reference technologies.

The SAP Fiori design system:

  • Accelerates and scales the design and development of enterprise software.
  • Follows a modular design approach based on business roles, moving away from traditional monolithic transactions.
  • Redefines the enterprise user experience by focusing on user tasks and workflows.

Components of the SAP Fiori Design System

The SAP Fiori design system provides three different platform-specific design languages
The SAP Fiori design system provides three different platform-specific design languages

The SAP Fiori design system operates on two levels:

  • Universal values, principles, and practices apply across all technology platforms.
  • SAP Fiori design languages provide standardized design guidance across multiple platforms.

Universal Values, Principles, and Practices

The following fundamental values, principles, and practices inform the SAP Fiori Design:

Values Consistency Offer design solutions that can be adopted by all UI technologies and scenarios across the entire range of the SAP portfolio, leveraging the expertise of the entire SAP design community.
Integration Provide solutions to integrate different independent products and technologies into an environment that is coherent and easy to use.
Intelligence Establish machine learning and artificial intelligence as an integral part of the user experience, with a focus on enabling the user rather than taking away control.
See also: Designing Intelligent Systems
Principles Role-based Provide the right information at the right time.
Adaptive Enable users to work where they want, on the device of their choice.
Simple Help users focus on what is important.
Coherent Provide the same intuitive and consistent experience across the enterprise.
Delightful Enrich the user’s work experience.
Practices Design-led development Put user experience at the heart of the product lifecycle.

See also: Design-Led Development Process


SAP Fiori Design Languages

The SAP Fiori design system supports multiple technology platforms – web, native mobile, and conversational UX. We refer to the variants for each platform as SAP Fiori design languages.

While the fundamental design approach is standardized across all platforms, the design languages cater for the specifics of the respective technology platforms. Each design language details out the look and feel, the available controls and floorplans/pages, and common functions like navigation and search.

The SAP Fiori design languages are already implemented in key reference technologies, including SAPUI5 for browser-based applications and SAP Cloud Platform Software Development Kits (SDK) for native Apple iOS and Android. This is complemented by comprehensive design guidelines and stencils for app designers.

With this parallel approach, designing interactions for enterprise business scenarios can be simplified, accelerated, and unified across multiple platforms.

Using the SAP Fiori Design System

The SAP Fiori design system has been developed primarily to support internal development of SAP business applications.

However, we also make it available to our customers and partners to share the experience we have gained in more than 40 years as the leader in enterprise software.

We provide public access to the following resources:

SAP Fiori Evolution

SAP Fiori has evolved out of a small initiative into an industry-scale design system for all SAP products. The latest and third evolution of SAP Fiori focuses on consistency, integration and intelligence to ensure that SAP Fiori can be used to integrate all products into one intelligent enterprise suite. Read on to find out more about the key milestones.


SAP Fiori 1.0

SAP Fiori started in 2013 as an initiative to re-imagine business software by applying a “mobile first” design approach to the most frequently used use cases. Based on the principles of role-based, simple, responsive, coherent and delightful apps, this laid the foundation for a new design system.

With the first version of SAP Fiori we started breaking down large and monolithic business transactions into focused, task-based apps. Starting with a core feature set suitable for smartphones, the design process was geared towards offering more comprehensive functionality when moving up to larger devices, such as tablets or desktop computers. All aspects of the new Fiori for Web design language had to be carefully designed to adjust to any device, regardless of whether it was operated with a mouse and keyboard or by touch. This first version of SAP Fiori was implemented and evolved in our reference technology for browser-based applications SAPUI5 (versions 1.26 – 1.38), which is also available open source under the name OpenUI5. 

Key features of SAP Fiori 1.0

  • Break down monolithic transactions into role-based and task-focused apps. 
  • Enable a responsive experience across all devices. 
  • Make use of modern and mobile-inspired interaction patterns.  

SAP Fiori 2.0

Following the success of the initial version of SAP Fiori, we needed to introduce new capabilities to ready SAP Fiori as a design system for all the scenarios SAP software addresses. With SAP Fiori 2.0, the design grew into a system that would not only be able to address simple use cases, but that would offer intuitive solutions for even the most complex business scenarios. As the new face for SAP’s flagship product SAP S/4HANA, SAP Fiori 2.0 introduced new floorplans that could accommodate large amounts of information and complex functionality in an intuitive and responsive way. Moreover, SAP Fiori 2.0 came with a new integrated and powerful user environment, based in the SAP Fiori launchpad, which introduced productivity features like notifications and improved navigation. With its second iteration, SAP Fiori introduced a new productivity tool, which evolved over time into the conversational digital assistant SAP CoPilot. 

Awarded with the prestigious Red Dot Award, SAP Fiori 2.0 was launched in October 2016. Soon after that, an additional award honored the innovative approach for integrating transactional and analytical features to leverage the possibilities of SAP’s in-memory technologiesAgain, SAP Fiori 2.0 was implemented in SAPUI5 as the primary reference technology (version 1.42 – 1.70). In addition to this, SAP Fiori 2.0 was applied to a redesign of classic UI technologies like SAP GUI for Web, WebDynpro and CRM WebClient to offer a more coherent experience across technologies. Other product areas started adopting aspects of SAP Fiori 2.0, such as the new Belize theme to better integrate with SAP S/4HANA. With SAP Fiori for iOS, the first version of the SAP Fiori design system for native mobile platforms was released in partnership with Apple. Two years later, SAP Fiori for Android was announced as a result of a partnership with Google. 

Key features of SAP Fiori 2.0

  • Scale the role-based and task-focused design approach to complex enterprise scenarios and native mobile platforms. 
  • Offer a powerful productivity environment for business users with new scalable floorplans and patterns, including embedded analytics, notifications, search, and improved navigation. 
  • Introduce conversational interaction and machine intelligence. 

SAP Fiori 3

The third iteration of SAP Fiori was announced in 2018. The continued success and its proven ability to scale and integrate latest trends and requirements already had established SAP Fiori as the design system for the intelligent enterprise. All product areas committed to work towards the adoption of SAP Fiori 3 as the design system that would integrate the experience of all SAP products. This decision was operationalized in a newly established product standard for UX consistency. 

As well as a new Quartz theme, SAP Fiori 3 introduced a number of new features that facilitate the integration of all SAP products to provide one coherent and consistent user experience. Some of the most important aspects are: 

  • The top-most screen area, referred to as shell bar, has been redesigned to support all navigation and functional requirements found in the different products, and will include the possibility to switch between independent products. 
  • Home pages are being redesigned to offer greater flexibility in terms of the level of detail offered. Simple navigation links complement the tiles provided in earlier versions, and we are working on detail cards to offer more information at a glance.
  • A user can have multiple home pages, known as spaces. These can be provided by the organization to offer access to various domains and contexts, integrating the powerful possibilities of overview pages into the same lifecycle as the home pages. 

SAP Fiori 3 also takes a huge stride forward in integrating machine intelligence into the business environment by offering a more integrated experience for conversational interaction, machine-generated ratings and recommendations, and a whole set of design principles that ensure a human-centric approach to the interaction design for intelligent systems. With the concept of business situations, the system now can detect critical business contexts independently of predefined processes and workflows and recommend possible solutions to resolve them. 

The number of technologies supporting the Fiori 3 design system has been extended beyond the established reference technology SAPUI5 and the classic UI technologies to include the latest web technologies based on frameworks like Angular, React or Vue, and Web Components 

Key features of SAP Fiori 3

  • Establishes basic rules for consistency across all SAP products
  • New Quartz theme
  • New aligned shell bar for all SAP products
  • Greater flexibility for home pages
  • Integration of machine intelligence, focusing on a human-centric approach
  • Adoption across a broader range of technologies 

Resources

Responsive Spacing System

The responsive spacing system uses responsive padding and margin style sheet classes to control and optimize padding between elements that are common to all SAP Fiori interfaces.

Responsive Padding and Margin Classes

Responsive padding and margin classes control:

  • The left and right spacing within the header and content areas
  • The space between components, such as tables and forms

These classes adapt to different screen sizes at specific breakpoints to ensure that no space is wasted on small screens and that content has more room to breathe on large screens:

  • Size S screen: Up to 599 pixels
  • Size M screen: Between 600 pixels and 1023 pixels
  • Size L screen: Between 1024 pixels and 1439 pixels
  • Size XL screen: 1440 pixels or more

The visual below illustrates how the padding adapts to different screen sizes.

Spacing adapts to different screen sizes
Spacing adapts to different screen sizes
Developer Hint
The spacing system is built into SAP Fiori Elements, but it must be implemented manually in freestyle SAP Quartz-themed applications using the responsive margin and padding classes in SAPUI5. You can use individual spacing and padding classes to apply individual spacing inside or around controls.

More Information

Resources

Elements and Controls

Implementation

Quartz Dark Colors

Quartz Dark is an additional theme created for SAP Fiori applications to work in environments where low light is necessary or unavoidable. The dark theme also ensures a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Usages of the Quartz Dark theme could be working at night, low-lighted factory or other environments, or working outside at night using portable devices.

Be aware that Quartz Dark does not replace high-contrast themes and supports the minimal contrast requirements of the Web Contrast Accessibility Guidelines (WCAG) 2.1.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Dark theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Dark)
Color balance (Quartz Dark)

Color Usage

Each theme is based on a set of individual base reference values. These are:

Primary (main user interface colors)

Secondary (accent colors)

Grayscale (neutral values)

Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Dark reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, which are then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Quartz Dark Theme Primary Colors

Primary 1
Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#91C8F6
rgb(145, 200, 246)

Primary 3
Base for Containers

#29313A
rgb(41, 49, 58)

Primary 4
Shell Background Base

#232A31
rgb(35, 42, 49)

Primary 5
Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Primary 6
Text & Titles

#FAFAFA
rgb(250, 250, 250)

Primary 7
Subtitles & Labels

#D3D7D9
rgb(211, 215, 217)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

 

Top

#181D22
rgb(24, 29, 34)

Bottom

#272F37
rgb(39, 47, 55)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

 

Accent 1

#FFC847
rgb(255, 200, 71)

Accent 2

#E7A1A1
rgb(231, 161, 161)

Accent 3

#F37AA2
rgb(243, 122, 162)

Accent 4

#E269C9
rgb(226, 105, 201)

Accent 5

#8CA7D5
rgb(140, 167, 213)

Accent 6

#6BD3FF
rgb(107, 211, 255)

Accent 7

#7FC6C6
rgb(127, 198, 198)

Accent 8

#B2E484
rgb(178, 228, 132)

Accent 9

#B995E0
rgb(185, 149, 224)

Accent 10

#B0BCC5
rgb(176, 188, 197)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

 

Text & Titles

#FAFAFA
rgb(250, 250, 250)

Subtitles & Labels

#D3D7D9
rgb(211, 215, 217)

Prompt / Placeholder Text

#B8BEC1
rgb(184, 190, 193)

Borders and Derived Controls

#8696A9
rgb(134, 150, 169)

Header / Container / List / Table Borders

#3A4552
rgb(58, 69, 82)

Column Header Background
#232931
rgb(35, 41, 49)

Application Content Background
#1C2228
rgb(28, 34, 40)

Header / Card / Container Background
#29313A
rgb(35, 41, 49)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

Negative

#FF8888
rgb(255, 136, 136)

Critical

#FABD64
rgb(250, 189, 100)

Positive

#ABE2AB
rgb(171, 226, 171)

Neutral

#D3D7D9
rgb(211, 215, 217)

Information

#91C8F6
rgb(145, 200, 246)

Semantic Background Colors

 

Negative

#3B0000
rgb(59, 0, 0)

Critical

#2B1A01
rgb(43, 26, 1)

Positive

#153C15
rgb(21, 60, 21)

Neutral

#5C666B
rgb(92, 102, 107)

Information

#062E4F
rgb(6, 46, 79)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

 

UI Indication 1

#FF5555
rgb(255, 85, 85)

UI Indication 2

#FF8888
rgb(255, 136, 136)

UI Indication 3

#FABD64
rgb(250, 189, 100)

UI Indication 4

#ABE2AB
rgb(171, 226, 171)

UI Indication 5

#91C8F6
rgb(145, 200, 246)

Accessibility

Color Contrast

Controls and colors are carefully selected to fulfill the minimum contrast requirements. Contrast ratios vary for different controls due to variations in size, weight, fill, or structure.

The minimum contrast thresholds for the standard SAP Fiori theme are as follows:

  • 4.5:1 for text and icons in normal size or smaller.
  • 3.0:1 for text and icons in large size (and normal size bold).
  • 3.0:1 for graphical objects (like charts) as well as visual details that identify a UI element and its state.

Goals of Good Color Contrast

The user must be able to see everything that is needed to understand and operate the screen.

  • Texts are readable.
  • Icons are recognizable and distinguishable (unless they are purely decorative).
  • UI elements can be identified visually (not by trial and error).
  • Active elements can be recognized as such.
  • The focus indicator can be found quickly (on a 15″ monitor, a user with good vision should find it in less than a second from a distance of 2.5 meters).
  • Emphasized and selected controls are recognizable.
  • Scroll indicators are recognizable.
  • Groups and other structure elements can be recognized.
  • All other visual information can be recognized.

For the last two points, you can also use other options to make the visual elements easier to recognize, such as layout, spacing, or additional texts.

Resources

Theming

SAP Fiori uses a variety of colors. They are mapped to control parameters, thus allowing you to overwrite them easily in the UI Theme Designer.

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications.

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications. Color communicates importance and association, and provides direction to users. By applying the color palette, user interfaces guarantee a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Light theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Light)
Color balance (Quartz Light)

Color Usage

Each theme is based on a set of individual base reference values. These are:

  • Primary (main user interface colors)
  • Secondary (accent colors)
  • Grayscale (neutral values)
  • Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Light reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, whichare then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Primary 1
Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#0a6ed1
rgb(10, 110, 209)

darken Primary 2 10%
Highlight / Selected / Icons

#0854A0
rgb(8, 84, 160)

Primary 3
Light Base for Containers

#ffffff
rgb(255, 255, 255)

Primary 4
Shell Background Base

#edeff0
rgb(237, 239, 240)

Primary 5
Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Primary 6
Text & Titles

#32363a
rgb(50, 54, 58)

Primary 7
Subtitles & Labels

#6a6d70
rgb(106, 109, 112)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

Top

#dfe3e4
rgb(223, 227, 228)

Bottom

#f3f4f5
rgb(243, 244, 245)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

Accent 1
#d08014
rgb(208, 128, 20)

Accent 2
#d04343
rgb(208, 67, 67)

Accent 3
#db1f77
rgb(219, 31, 119)

Accent 4
#c0399f
rgb(219, 31, 119)

Accent 5
#6367de
rgb(99, 103, 222)

Accent 6
#286eb4
rgb(40, 110, 180)

Accent 7
#0f828f
rgb(15, 130, 143)

Accent 8
#7ca10c
rgb(124, 161, 12)

Accent 9
#925ace
rgb(146, 90, 206)

Accent 10
#647987
rgb(100, 121, 135)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

Text & Titles

#32363a
rgb(50, 54, 58)

Subtitles & Labels

#6a6d70
rgb(106, 109, 112)

Prompt / Placeholder Text

#74777a
rgb(116, 119, 122)

Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Header / Container Borders

#d9d9d9
rgb(217, 217, 217)

List / Table Borders
#e5e5e5
rgb(229, 229, 229)

Column Header Background
#f2f2f2
rgb(242, 242, 242)

Application Content Background
#f7f7f7
rgb(247, 247, 247)

Header / Card / Container Background
#ffffff
rgb(255, 255, 255)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Semantic Foreground Colors

Negative

#bb0000
rgb(187, 0, 0)

Critical

#e9730c
rgb(233, 115, 12)

Positive

#107e3e
rgb(16, 126, 62)

Neutral

#6a6d70
rgb(106, 109, 112)

Information

#0a6ed1
rgb(10, 110, 209)

Semantic Background Colors

Negative

#ffebeb
rgb(255, 235, 235)

Critical

#fef7f1
rgb(254, 247, 241)

Positive

#f1fdf6
rgb(241, 253, 246)

Neutral

#f4f4f4
rgb(244, 244, 244)

Information

#f5faff
rgb(245, 250, 255)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

UI Indication 1

#880000
rgb(136, 0, 0)

UI Indication 2

#bb0000
rgb(233, 115, 12)

UI Indication 3

#e9730c
rgb(233, 115, 12)

UI Indication 4

#107e3e
rgb(16, 126, 62)

UI Indication 5

#0a6ed1
rgb(10, 110, 209)

Multi-Device Support: Responsive vs. Adaptive

For our typical users who work on-the-go, the ability to switch between desktop and mobile devices is critical. As users increasingly come to expect consistent performance and a coherent look and feel across their devices, how can we make sure that we deliver a great user experience with our Fiori apps? The answer is through responsive and adaptive design.

Responsive and adaptive design allow Fiori apps to run on desktop, tablets, smartphones, and hybrid devices. As users switch across devices, our apps automatically accommodate the resolution, image size, and scripting. This way, our users can work how and where they want, regardless of device.

Responsive Design

One of the most compelling factors of SAP Fiori is that our applications need to be developed, configured and maintained only once for all changes to become effective across all devices. This way, the end user gets a consistent experience no matter which device he or she uses. SAPUI5 makes responsive design easy by offering a wide range of UI controls that automatically adjust to different form factors and interaction styles. Additionally, SAPUI5 lets you adjust the size of the controls to match the type of interaction (such as touch device or keyboard/mouse). The advantage of responsive design is that apps can adjust to different screen sizes without requiring additional coding and maintenance efforts.

Responsive Grid

Responsive design is supported by a responsive grid.

The responsive grid positions UI elements in a 12-column flow layout. It can be configured to display a variable number of columns depending on available screen size. With this control, it is possible to achieve flexible layouts and line breaks for large, medium, and small-sized screens, such as desktop, tablet, and mobile.

Adaptive Design

There are certain use cases where a responsive approach may not be appropriate. For instance, you would probably prefer to enter large amounts of data on your desktop. At the same time, you may only want to view the data you entered or perhaps enter a small subset of data on your tablet or smartphone. In such cases, it makes sense to design for different devices and adapt the complexity of the use cases according to the specific device. This is what we call adaptive design. This approach requires app developers to manually define specific designs for the different form factors. It means slightly more effort, but also allows for more targeted support of device-specific use cases.

Examples of Responsive Design

The following 3 example shows how a standard list report floorplan would translate to different devices in a (semi-)responsive way.

For these examples, the following responsive design concepts apply:

  • Content density: Compact content density mode is activated on desktop mode. On touch devices, the finger-friendly cozy mode is activated. Read more about content density.
  • Filters: On a desktop, the filter fields are fully displayed. On a tablet or phone, the filter bar should be collapsed as default. Read more about filters.
(1) Example of a list report floor plan on a desktop device. The filter bar is displayed and all the table columns show side by side.
(1) Example of a list report floor plan on a desktop device. The filter bar is displayed and all the table columns show side by side.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls is increased to allow for interaction by touch. The filter fields are hidden, and some table columns move into the pop-in area.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls is increased to allow for interaction by touch. The filter fields are hidden, and some table columns move into the pop-in area.
(3) The same application now displayed on a smartphone. Nearly all table columns move into the pop-in area.
(3) The same application now displayed on a smartphone. Nearly all table columns move into the pop-in area.

Example of Adaptive Design

Sometimes, less is more. For the same app above, the smartphone version might simply show fewer columns per item by default – enabling the user to see more items at once.

Fewer default columns on a smartphone
Fewer default columns on a smartphone

Implementation

Think “mobile first”: Starting with mobile design first helps you stay focused. Begin with the core functionality and progressively enhance features when moving to larger devices.

  • If you are using desktop controls, replace them with responsive controls when running on a mobile device. You can still use the sap.ui.table library. However, we do not recommend using the sap.ui.commons library.
  • If you are using the ALV (analytical table), replace it with the responsive table (sap.m) or another specific solution for the use case (for example, charts, texts, and KPIs).

Use responsive controls: Most SAPUI5 controls are based on mobile controls. This means that they work on touch devices, or with a mouse and keyboard.

Properly configure the controls: Follow the guidelines to configure the responsive settings for the different controls.

Use the correct size settings: Set your apps to “large” on touch devices and to “medium” for devices operated by mouse or keyboard.

Use responsive layouts: There are several layout options available, which allow you to adjust to different sizes.

Use letterboxing: Many of the worklist apps do not have much content. By letterboxing them (restricting their width to a maximum of 1280 px), you can optimize the layout of the app and achieve a more compact look.

Too many functions? If the desktop app has too much functionality and is too complex to be used on a tablet or smartphone, you might have to switch off some functionality on your mobile device:

  • Hide editing functionality and focus on display
  • Hide functions from toolbar
  • Hide alternative columns and views in tables

Summary and Quick Guidelines

  • SAP Fiori apps must be able to run on all three major device types: desktop, tablet, and smartphone.
  • If app functionality and information can be offered equally on all device types, responsive methods should be used to automatically adjust the app.
  • If app functionality and/or information cannot be offered unaltered on different device types (due to the use case, the available screen real estate, or the device capabilities), the app should be adjusted manually according to device-specific requirements.
  • Adaptive and responsive methods can be mixed.

Iconography

SAP icons have been created with a friendly, yet elegant style that is consistent in terms of size, stroke and balance. The icons are tailored for simple and direct user interaction, using metaphors that are easy to understand. Each icon has been hand-crafted, hand-hinted, and aligned in font format. The icons are essentially vector graphics which can be resized easily without compromising their appearance.

Vector based icons drawn with a flexible geometric grid system
Vector based icons drawn with a flexible geometric grid system

Design Language

The design language for icons used within SAP products is created to work across all supported browsers, devices and operating systems. The style can be described as:

  • Simple
  • Fresh
  • Serious
  • Neutral

This approach is meant to communicate the simplicity, sophistication, and integrity represented by SAP solutions. The style integrates basic geometric shapes in order to give a more prominent appearance.

Icon Formats

Icons can be supported in multiple file formats. However, SAPUI5 delivers icons as font format by default. The SAP icon font contains multiple icons in one file with a small file size and allows the convenience of updates that can be delivered with each SAPUI5 release. Custom icons can even replace the SAP icon font if an alternative format or style is desired. Additional icon font files can also be added to the SAPUI5 icon pool.

For more information on custom icons, see OpenUI5 development information.

Icon Semantics

Icon semantics are used to define a set of visual elements that indicate functions, objects, and states for iconographic communication.

Finding the right visual semantic to indicate a consistent meaning to the user is based on the following essentials:

  • Taking inspiration from the real world.
    An icon should be easily recognized by a user. (Note that this does not imply skeuomorphism.)
  • Making use of context.
    The context of an icon contributes to its meaning.
    A semantic element can have different meanings for the user depending on where it’s located, such as within different labels.
  • Using clear, simple, and recognizable shapes.
    For accessibility reasons, visual elements should be drawn as clear shapes and should not rely upon colors or other means in order to be recognized.
  • Adhering to interaction design standards throughout the graphical user interface.
Simple and recognizable metaphor
Simple and recognizable metaphor

The Geometric Icon Grid System

The simple geometric icon grid was created as the foundational anatomy of the icons. This ensures visual balance concerning circles and squares and brings the needed consistency and stability of the shapes that form the structure of the icon metaphors.

The anatomy of the geometric icon grid system
The anatomy of the geometric icon grid system

A Closer Look at 16px Icons

Here is a closer look at how icons are designed using the grid system:

  • Circles: 16x16px.
  • Squares: 14x14px within a 16px grid.
  • Vertical Rectangles: 16x12px within a 16px grid.
  • Horizontal Rectangles: 12x16px within a 16px grid.
Details of 16px icons based on the icon grid system
Details of 16px icons based on the icon grid system

A Closer Look at 32px Icons

If the icons are scaled up to 32px, the measurements and details will look as following:

  • Circles: 32x32px.
  • Squares: 28x28px within a 32px grid.
  • Vertical Rectangles: 32x24px within a 32px grid.
  • Horizontal Rectangles: 24x32px within a 32px grid.
Details of 32px icons based on the icon grid system.
Details of 32px icons based on the icon grid system.

Line Thickness and Border Radius

In general, the base vector size created for SAP icons is 16px for icons used in most UI controls. Other listed sizes depend on individual control specifications.

At 16px, the main line thickness is 1px. This scales up to 2px at size 32px.

Example of supported (actual) sizes that are manually aligned within icon font formats.
Example of supported (actual) sizes that are manually aligned within icon font formats.

Arrow Styles – Thin

Arrows have been aligned throughout the icon-set to be lighter and a little rounder to remove the roughness from the user-interface controls.

Examples of thin arrows include: dropdown arrow, refresh, sort, and more.
Thin arrows are drawn with 1px line thickness at 16px with a 1px border radius.

Thin arrow style
Thin arrow style

Arrow Styles – Emphasized

This is an emphasized arrow style that caters for additional affordance in the user interface and adheres to the simple clean style.
Examples of arrows include: navigation, expand, move, and more.

Emphasized arrows are drawn with 2px line thickness at 16px with a 1px border radius.

Emphasized arrow style
Emphasized arrow style

Border Radius – Regular

The subtle border radius helps to reduce rough edges and gives a friendly appearance.
A border radius that is 1px at size 16px will naturally scale up to 2px at size 32px.

Line thickness and border radius
Line thickness and border radius

Border Radius – Emphasized

Comment or notification style icons and speech bubbles have an emphasized border radius to help distinguish them.

The overall style is consistent with all other icons, However, a small distinguishing feature such as a border radius increase can help a subset of symbols to stand out from the rest. The change in border radius impacts the grid system structure. This is an example of how flexible the grid system can be.

A border radius that is 2px at size 16px will scale up to 4px at size 32px.

Emphasized border radius achieved with a flexible grid system
Emphasized border radius achieved with a flexible grid system

SAP Icon Font

SAP icon font is available also as part of OpenUI5.

Resources

Want to dive deeper? Follow the links below to find out more about iconography.

OpenUI5 Icons and Icon Pool

Find out more about the icons in OpenUI5.

OpenUI5 Icon Explorer

Explore icons in SAP Fiori with OpenUI5.

Theming

The default theme for SAP Fiori is called SAP Quartz Light. In addition, SAP provides alternative themes: SAP Quartz Dark, SAP Belize, SAP Belize Deep, and the accessibility themes SAP High-Contrast Black (HCB) and SAP High-Contrast White (HCW).

SAP Fiori Themes

SAP Quartz Light theme (default)
SAP Quartz Light theme (default)
SAP Quartz Dark theme
SAP Quartz Dark theme
SAP Belize theme
SAP Belize theme
SAP Belize Deep theme (dark flavor)
SAP Belize Deep theme (dark flavor)

SAP Fiori High Contrast Themes

SAP High-Contrast Black theme
SAP High-Contrast Black theme
SAP High-Contrast White theme
SAP High-Contrast White theme

All the controls are styled using CSS, and the LESS-based theme parameters come in the form of CSS variables, SASS and JSON. This enables customers to apply their own brand identity to the user interface using the UI theme designer, which works across all SAP UI technologies. It allows customers to easily change a few basic colors (quick theming) as well individual control colors (detailed theming). We recommend using SAP Quartz Light as a basis for altering the colors as the minimalist design serves as an ideal starting point.

Concept

Customers can apply their own branding by adapting the standard SAP Fiori theme. Some customers will simply replace the logo or change the main branding colors of the UI by replacing the default brand and base colors of the theme. Other customers want more control to change the colors of the UI controls. Some companies even create multiple themes to reflect the various sub-brands of their different divisions.

From Quick Theming to Detailed Control Theming

Theming is driven by customer requirements and works using a top down approach, from quick to detailed UI control adaptations:

  • Quick theming: replacing logo and main brand colors
  • Detailed theming: replacing detailed color values of specific UI controls


Quick Theming

Customers can easily change the logo and a few colors in the UI by replacing the colors in the UI theme designer. This automatically creates a recalculated tonal color palette that is applied to various UI elements, creating a harmonious look and feel.

One of the main parts of a corporate branding guide is a set of primary and secondary branding colors. When creating a custom theme, these colors can simply be added to the custom palette of the UI theme designer, making it easy to replace the default SAP Fiori colors.

The following example shows a combination of quick theming changes with some detailed parameter adaptations to the shell header and background image and gradient.

Detailed Theming

All of the main brand colors used for quick theming are also interlinked within the controls. Quick theming parameters like the brand color are connected to individual control parameters, such as emphasized and standard button and icon texts. They can even be connected to interaction states, such as the selected and active state colors. Other quick theming parameters like the base color are connected to cards, lists, and table backgrounds.

Groups of controls
Groups of controls

The concept of semantic theming is to organize connected control parameters into groups, determined by what they affect and how they are related to each other. This makes it easier to choose the parameter responsible for a desired outcome and better gauge the results of changing it. Users are not simply changing colors in the UI, but rather are determining how specific colors are used. For example, all of the theme parameters for input controls (input field, radio button, checkbox, and so on) have been grouped together and contain the word “field“. Similarly, all the color parameters for all types of buttons, menus, and tokens (background, borders, and so on) have been grouped together and contain the word “button“.

Theme parameters are set for each semantically named part of the control. These control parameters remain stable and do not change from theme to theme. Each theme has specific color values that are linked into these control parameters.

Button Example

The image below only shows a selection of button control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light button control example
Quartz Light button control example

sapButton_Background:#ffffff

sapButton_BorderColor: #0854a0

sapButton_TextColor: #0854a0

sapButton_Emphasized_Background: #0a6ed1

sapButton_Accept_BorderColor: #107e3e

sapButton_Reject_BorderColor: #bb0000

SAP Belize

Belize button control example
Belize button control example

sapButton_Background: #ffffff

sapButton_BorderColor: #ababab

sapButton_TextColor: #346187

sapButton_Emphasized_Background: #5496cd

sapButton_Accept_BorderColor: #2b7d2b

sapButton_Reject_BorderColor: #bb0000

SAP High Contrast Black

HCB button control example
HCB button control example

sapButton_Background:#000000

sapButton_BorderColor:#ffffff

sapButton_TextColor:#ffffff

sapButton_Emphasized_Background:#000000

sapButton_Accept_BorderColor:#ffffff

sapButton_Reject_BorderColor:#ffffff

SAP High Contrast White

HCW button control example
HCW button control example

sapButton_Background:#ffffff

sapButton_BorderColor:#000000

sapButton_TextColor: #000000

sapButton_Emphasized_Background:#ffffff

sapButton_Accept_BorderColor:#000000

sapButton_Reject_BorderColor:#000000

“Field” Control Examples

Field parameters apply to several input controls, such as input fields, combo boxes, and so on. Changing any of these parameters can affect many or all of these controls.

The image below only shows a selection of input control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light input control example
Quartz Light input control example

sapField_Background: #ffffff

sapField_BorderColor: #89919a

sapField_TextColor: #32363a

SAP Belize

Belize input control example
Belize input control example

sapField_Background: #ffffff

sapField_BorderColor: #bfbfbf

sapField_TextColor: #333333

SAP High Contrast Black

HCB input control example
HCB input control example

sapField_Background: #000000

sapField_BorderColor: #ffffff

sapField_TextColor: #ffffff

SAP High Contrast White

HCW input control example
HCW input control example

sapField_Background: #ffffff

sapField_BorderColor: #000000

sapField_TextColor: #000000

Resources

Elements and Controls

Implementation

Get Started

SAP Fiori

What is SAP Fiori?

Learn about the new user experience for SAP software.

A Beginner's Guide to the SAP Fiori Design Guidelines

Your brief introduction to everything you need to know about working with the guidelines.

Foundation

Design Principles

Learn about the five core principles that make up the design philosophy of SAP Fiori.

SAP Fiori Design-Led Development Process

Get to know the SAP Fiori design-led development process.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

Theming

SAP Fiori user interfaces are constructed using SAPUI5 control sets that are meticulously styled with CSS.

Learn More

To learn more, check out the foundation category in the navigation menu on the left.

General Concepts

SAP Fiori Launchpad

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Draft Handling

Learn about the draftling handling concept of SAP Fiori, including auto-save, locking, and data loss prevention.

Navigation

Navigation in SAP Fiori follows the standard navigation paradigms of various web applications.

Manage Objects

Find out about the different interaction flows for managing objects, including create, edit, and delete.

Message Handling

Find out how to display messages to the user such as errors, warnings, success messages, confirmation, and information.

Learn More

To learn more, check out the general concepts category in the navigation menu on the left.

Layouts,  Floorplans & Frameworks

Page Layouts

Most app designs are based on one of these basic page layouts, which can be used with a range of different floorplans.

Floorplans

Floorplan is an umbrella term that covers the different layout types, the structure of the controls used, and how to handle different use cases. An application contains normally several pages, with each page showing a single floorplan.

SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. They ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

Frameworks

Get insights into two important frameworks used by SAP Fiori.

UI Elements

'Explore' Page

Get an overview of all the UI elements available in SAP Fiori.

Learn More

To learn more, check out the UI Elements category in the navigation menu on the left.

Services & Resources

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. Today, we can easily adjust content to different screen sizes by using responsive layouts and controls, so letterboxing is an optional feature. If letterboxing is switched on, the screen size is reduced to 1280 px.

Letterboxing switched on (screen width 1280 px)
Letterboxing switched on (screen width 1280 px)
Letterboxing switched off (full screen width)
Letterboxing switched off (full screen width)

Guidelines

When to Switch ON Letterboxing

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and stretching the app would distort the content and lead to poor usability.

Letterboxing should be switched on or off per entire application. In other words, apps should not mix letterboxing and full screen within one app.

If you want to use letterboxing for an application, set the appWidthLimited property of the sap.m.Shell control to true.

Information
If a user frequently navigates between two apps, avoid changing between letterboxing and full screen settings between the apps.

In some cases, applications may need to have the flexibility to change the width at runtime for different views. Example: fullWidth in view A and letterboxing in view B.

Through a new API, apps can change the width in the AppConfiguration service at runtime for different views.

When to Switch OFF Letterboxing

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.

Typography

SAP Fiori uses SAP’s proprietary typeface 72, with a fallback to a sans-serif system font if 72 can’t be loaded.

Designing 72 from the ground up made it possible to meet SAP Fiori’s typographic requirements, including:

  • Legibility enhancements: Optimize for screen use.
  • Font styles: Support a robust typographic hierarchy.
  • Brand voice: Be credible and humane.
  • Character set: Accommodate complex content.
  • Language support: Support Windows Glyph List.
  • Accessibility: Improve character recognition.

Typography with 72

72” replaces the default system fonts to improve the typographic system for SAP Fiori applications. The design has been meticulously crafted to portray a look and feel that is more trustworthy, friendly and modern, communicating the visual language of SAP Fiori. The metrics of the system fonts have been kept, to ensure compatibility within all controls. Improvements of the individual characters have been made, which also means that less screen width is required, resulting in reduced truncation issues. With all these enhancements, along with the humanist influences within the fine details, 72 greatly improves the legibility of SAP Fiori applications.

72, a bespoke typeface created for SAP
72, a bespoke typeface created for SAP

Language Support and Fallback to System Font

Language coverage is one of the most important requirements of a typeface, depending on the number of countries in which your applications need to be available. Beyond the languages the font supports, fallback solutions need to be considered. If the defined fonts cannot be displayed when an application initially loads, a fallback font is defined in the style sheet. Defining a fallback to a sans-serif system font that is readily available on every user’s device is a simple solution to load applications in any language. The font stack that is used within the CSS includes 72 with a fallback to system fonts such as Arial and Helvetica in combination, or Roboto for Android.

Here is an example of how theme parameters are used to specify a font stack. Notice that there are two versions of the 72 font; the first is a smaller subset to help improve performance and the second is the full version:

sapFontFamily: “72”, “72full”, Arial, Helvetica, sans-serif;

The fallback system fonts also have the advantage of zero loading time, ensuring that there is always a consistent font available that works with the fresh, clean, and minimalist SAP Fiori style. The font stack used comes with a full Unicode solution when special characters are needed. For all the languages that SAP Fiori will need to support, system fonts are available. 72 is integrated into the control set, making customization easy. The font stack can also be modified to achieve an individual result.

Accessibility

Optimized for screen consumption, 72’s design enhancements increase legibility, readability and ultimately, accessibility. A wider apex and open counters help with character recognition at smaller sizes. Differentiation of character details, such as the number “1” and the lower case “l” versus the capital “I”, makes the characters easier to distinguish and improves the overall reading experience.

Example of improved accessibility features
Example of improved accessibility features

Headlines and Font Styles for UI Controls

  • Headlines 1 to 6: Titles are defined in several sizes and styles that help to visually identify the context of application pages or grouped content within the user interface. Example of headlines include the page title, object header title, list, form, table, chart, timeline, and feed titles.
  • Small text: Used for controls such as time stamps, unit of measurement, and small bylines (for example, a feed).
  • Medium text: Default text size used in controls, such as buttons, inputs, tables, or a tree.
  • Large text: Stand-out text controls, such as the author name in a feed, or the file name for a collection of uploaded files.
36 px
2.25 rem
Header 1
24 px
1.5 rem
Header 2
20 px
1.25 rem
Header 3
18 px
1.125 rem
Header 4
16 px
1 rem
Header 5
14 px
0.875 rem
Header 6
Headline sizes
16 px
1 rem
Large Text
14 px
0.875 rem
Medium Text
12 px
0.75 rem
Small Text
General font sizes

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

72 Showcase

Overview of “72“, SAP’s proprietary typeface.

Design Stencils

72 is now available to download as part of the SAP Fiori Design Stencils.

Theming

The default theme for SAP Fiori is called SAP Quartz Light. In addition, SAP provides four alternative themes: SAP Belize, SAP Belize Deep, and the accessibility themes SAP High-Contrast Black (HCB) and SAP High-Contrast White (HCW).

SAP Fiori Themes

SAP Quartz Light theme (default)
SAP Quartz Light theme (default)
SAP Belize theme
SAP Belize theme
SAP Belize Deep theme (dark flavor)
SAP Belize Deep theme (dark flavor)

SAP Fiori High Contrast Themes

SAP High-Contrast Black theme
SAP High-Contrast Black theme
SAP High-Contrast White theme
SAP High-Contrast White theme

All the controls are styled using CSS, and the LESS-based theme parameters come in the form of CSS variables, SASS and JSON. This enables customers to apply their own brand identity to the user interface using the UI theme designer, which works across all SAP UI technologies. It allows customers to easily change a few basic colors (quick theming) as well individual control colors (detailed theming). We recommend using SAP Quartz Light as a basis for altering the colors as the minimalist design serves as an ideal starting point.

Concept

Customers can apply their own branding by adapting the standard SAP Fiori theme. Some customers will simply replace the logo or change the main branding colors of the UI by replacing the default brand and base colors of the theme. Other customers want more control to change the colors of the UI controls. Some companies even create multiple themes to reflect the various sub-brands of their different divisions.

From Quick Theming to Detailed Control Theming

Theming is driven by customer requirements and works using a top down approach, from quick to detailed UI control adaptations:

  • Quick theming: replacing logo and main brand colors
  • Detailed theming: replacing detailed color values of specific UI controls


Quick Theming

Customers can easily change the logo and a few colors in the UI by replacing the colors in the UI theme designer. This automatically creates a recalculated tonal color palette that is applied to various UI elements, creating a harmonious look and feel.

One of the main parts of a corporate branding guide is a set of primary and secondary branding colors. When creating a custom theme, these colors can simply be added to the custom palette of the UI theme designer, making it easy to replace the default SAP Fiori colors.

The following example shows a combination of quick theming changes with some detailed parameter adaptations to the shell header and background image and gradient.

Detailed Theming

All of the main brand colors used for quick theming are also interlinked within the controls. Quick theming parameters like the brand color are connected to individual control parameters, such as emphasized and standard button and icon texts. They can even be connected to interaction states, such as the selected and active state colors. Other quick theming parameters like the base color are connected to cards, lists, and table backgrounds.

Groups of controls
Groups of controls

The concept of semantic theming is to organize connected control parameters into groups, determined by what they affect and how they are related to each other. This makes it easier to choose the parameter responsible for a desired outcome and better gauge the results of changing it. Users are not simply changing colors in the UI, but rather are determining how specific colors are used. For example, all of the theme parameters for input controls (input field, radio button, checkbox, and so on) have been grouped together and contain the word “field“. Similarly, all the color parameters for all types of buttons, menus, and tokens (background, borders, and so on) have been grouped together and contain the word “button“.

Theme parameters are set for each semantically named part of the control. These control parameters remain stable and do not change from theme to theme. Each theme has specific color values that are linked into these control parameters.

Button Example

The image below only shows a selection of button control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light button control example
Quartz Light button control example

sapButton_Background:#ffffff

sapButton_BorderColor: #0854a0

sapButton_TextColor: #0854a0

sapButton_Emphasized_Background: #0a6ed1

sapButton_Accept_BorderColor: #107e3e

sapButton_Reject_BorderColor: #bb0000

SAP Belize

Belize button control example
Belize button control example

sapButton_Background: #ffffff

sapButton_BorderColor: #ababab

sapButton_TextColor: #346187

sapButton_Emphasized_Background: #5496cd

sapButton_Accept_BorderColor: #2b7d2b

sapButton_Reject_BorderColor: #bb0000

SAP High Contrast Black

HCB button control example
HCB button control example

sapButton_Background:#000000

sapButton_BorderColor:#ffffff

sapButton_TextColor:#ffffff

sapButton_Emphasized_Background:#000000

sapButton_Accept_BorderColor:#ffffff

sapButton_Reject_BorderColor:#ffffff

SAP High Contrast White

HCW button control example
HCW button control example

sapButton_Background:#ffffff

sapButton_BorderColor:#000000

sapButton_TextColor: #000000

sapButton_Emphasized_Background:#ffffff

sapButton_Accept_BorderColor:#000000

sapButton_Reject_BorderColor:#000000

“Field” Control Examples

Field parameters apply to several input controls, such as input fields, combo boxes, and so on. Changing any of these parameters can affect many or all of these controls.

The image below only shows a selection of input control examples. You can preview and modify all the detailed control parameters with the UI theme designer.

SAP Quartz Light

Quartz Light input control example
Quartz Light input control example

sapField_Background: #ffffff

sapField_BorderColor: #89919a

sapField_TextColor: #32363a

SAP Belize

Belize input control example
Belize input control example

sapField_Background: #ffffff

sapField_BorderColor: #bfbfbf

sapField_TextColor: #333333

SAP High Contrast Black

HCB input control example
HCB input control example

sapField_Background: #000000

sapField_BorderColor: #ffffff

sapField_TextColor: #ffffff

SAP High Contrast White

HCW input control example
HCW input control example

sapField_Background: #ffffff

sapField_BorderColor: #000000

sapField_TextColor: #000000

Resources

QUARTZ LIGHT COLORS

Overview of the colors used in the Quartz Light theme.

UI THEME DESIGNER

Learn more about the UI theme designer on SAP Help Portal.

Belize Colors

Belize is a visual theme we provide for SAP Fiori applications, in addition to the standard Quartz Light theme. In SAP Fiori, color communicates importance and association, and provides direction to users.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel across all SAP Fiori apps.

Color balance (considering dark and light UIs)
Color balance (considering dark and light UIs)

Color Usage

Each theme is based on a set of individual base reference values. These are:

  • Primary (main user interface colors)
  • Secondary (accent colors)
  • Grayscale (neutral values)
  • Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Belize reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, which are then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Primary 1
Global Contrast Base

#3F5161
RGB 63/81/97

Primary 2
Brand / Highlight

#427CAC
RGB 66/124/172

Based on Primary 2
Contrast Highlight

#91C8F6
RGB 145/200/246

Primary 3
Global Light Base

#EFF4F9
RGB 239/244/249

Primary 4
Containers

#FFFFFF
RGB 255/255/255

Primary 5
Application Content Background

#FAFAFA
RGB 250/250/250

Primary 6
Borders and Derived Controls

#BFBFBF
RGB 191/191/191

Primary 7
Titles and Texts

#333333
RGB 51/51/51

SAP Fiori Launchpad Gradient

Top

 Contrast Theme
#2C4E6C
RGB 44/78/108

Bottom

 Contrast Theme
#9EC7D8
RGB 158/199/216

Top

 Light Theme
#A9C6DE
RGB 169/198/222

Bottom

Light Theme
#E7ECF0
RGB 231/236/240

Accent Colors

Accent colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

#E09D00
RGB 224/157/0

#E6600D
RGB 230/96/13

#C14646
RGB 193/70/70

#AB218E
RGB 171/33/142

#678BC7
RGB 103/139/199

#0092D1
RGB 0/146/209

#1A9898
RGB 26 152 152

#759421
RGB 117/148/33

#925ACE
RGB 146/90/206

#647987
RGB 100/121/135

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for texts.

#333333
RGB 51/51/51

#666666
RGB 102/102/102

#BFBFBF
RGB 191/191/191

#CCCCCC
RGB 204/204/204

#E5E5E5
RGB 229/229/229

#FFFFFF
RGB 255/255/255

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Semantic Colors – Light Flavor Values

Negative

#BB0000
RGB 187/0/0

Critical

#E78C07
RGB 231/140/7

Positive

#2B7D2B
RGB 43/125/43

Neutral

#5E696E
RGB 94/105/110

Information

#427cac
RGB 66/124/172

Semantic Colors – Dark Flavor Values

Negative

#FF8888
RGB 255/136/136

Critical

#FABD64
RGB 250/189/100

Positive

#ABE2AB
RGB 171/226/171

Neutral

#D3D7D9
RGB 211/215/217

Information

#91c8f6
RGB 145/200/246

Quartz Light Colors

Quartz Light is the standard theme for SAP Fiori applications. Color communicates importance and association, and provides direction to users. By applying the color palette, user interfaces guarantee a clean and lightweight design that is consistent and coherent across all SAP Fiori applications.

Color Balance

Color balance refers to the recommended mixture of light and dark, and colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

  • The Quartz Light theme background colors are subtle, calm, reduced, and minimalistic.
  • A reduced background color scheme ensures a stable base for any application content. Foreground colors support the importance, prominence, and visual connection of the information displayed.
Color balance (Quartz Light)
Color balance (Quartz Light)

Color Usage

Each theme is based on a set of individual base reference values. These are:

  • Primary (main user interface colors)
  • Secondary (accent colors)
  • Grayscale (neutral values)
  • Semantic (value state colors)

The reference colors listed on this page give a helpful indication as to where they are used in the UI controls and layouts. However, it is extremely important that reference values are not used directly in the control styling. The Quartz Light reference color values are specific to this particular theme, but are assigned to control parameters.

The reference colors are used as base values, whichare then distributed into the UI controls via a stable set of theme control parameters that are available in each theme. Theme control parameters represent semantically named parts of the controls. They are decoupled from the actual color values so that the color values can be easily replaced. The theming guideline explains how these reference values are mapped to the user interface controls.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Primary 1
Shell Header

#354a5f
rgb(53, 74, 95)

Primary 2
Brand / Links

#0a6ed1
rgb(10, 110, 209)

darken Primary 2 10%
Highlight / Selected / Icons

#0854A0
rgb(8, 84, 160)

Primary 3
Light Base for Containers

#ffffff
rgb(255, 255, 255)

Primary 4
Shell Background Base

#edeff0
rgb(237, 239, 240)

Primary 5
Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Primary 6
Text & Titles

#32363a
rgb(50, 54, 58)

Primary 7
Subtitles & Labels

#6a6d70
rgb(106, 109, 112)

SAP Fiori Launchpad Gradient

The gradient is mainly applied to launchpad or dashboard overview page types.

Top

#dfe3e4
rgb(223, 227, 228)

Bottom

#f3f4f5
rgb(243, 244, 245)

Accent Colors

Secondary colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

Accent 1
#d08014
rgb(208, 128, 20)

Accent 2
#d04343
rgb(208, 67, 67)

Accent 3
#db1f77
rgb(219, 31, 119)

Accent 4
#c0399f
rgb(219, 31, 119)

Accent 5
#6367de
rgb(99, 103, 222)

Accent 6
#286eb4
rgb(40, 110, 180)

Accent 7
#0f828f
rgb(15, 130, 143)

Accent 8
#7ca10c
rgb(124, 161, 12)

Accent 9
#925ace
rgb(146, 90, 206)

Accent 10
#647987
rgb(100, 121, 135)

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. Darker gray shades are primarily used for text.

Text & Titles

#32363a
rgb(50, 54, 58)

Subtitles & Labels

#6a6d70
rgb(106, 109, 112)

Prompt / Placeholder Text

#74777a
rgb(116, 119, 122)

Borders and Derived Controls

#89919a
rgb(137, 145, 154)

Header / Container Borders

#d9d9d9
rgb(217, 217, 217)

List / Table Borders
#e5e5e5
rgb(229, 229, 229)

Column Header Background
#f2f2f2
rgb(242, 242, 242)

Application Content Background
#f7f7f7
rgb(247, 247, 247)

Header / Card / Container Background
#ffffff
rgb(255, 255, 255)

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

Semantic Foreground Colors

Negative

#bb0000
rgb(187, 0, 0)

Critical

#e9730c
rgb(233, 115, 12)

Positive

#107e3e
rgb(16, 126, 62)

Neutral

#6a6d70
rgb(106, 109, 112)

Information

#0a6ed1
rgb(10, 110, 209)

Semantic Background Colors

Negative

#ffebeb
rgb(255, 235, 235)

Critical

#fef7f1
rgb(254, 247, 241)

Positive

#f1fdf6
rgb(241, 253, 246)

Neutral

#f4f4f4
rgb(244, 244, 244)

Information

#f5faff
rgb(245, 250, 255)

Indication Colors

The indication color palette is used to follow the color conventions in a line of business or industry. All values are themeable and the meaning of each color depends on the business context. For more information, see How To Use Semantic Colors / Industry-Specific Colors.

UI Indication 1

#880000
rgb(136, 0, 0)

UI Indication 2

#bb0000
rgb(233, 115, 12)

UI Indication 3

#e9730c
rgb(233, 115, 12)

UI Indication 4

#107e3e
rgb(16, 126, 62)

UI Indication 5

#0a6ed1
rgb(10, 110, 209)

Colors

Color plays a significant role in SAP Fiori. Color communicates importance and association, and provides direction to users.

Color Balance

Color balance refers to the recommended mixture of light and dark, colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

Color balance (considering dark and light UIs)
Color balance (considering dark and light UIs)

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Global Dark Base

#3F5161
RGB 63/81/97

Brand / Highlight

#427CAC
RGB 66/124/172

Brand / Highlight

Dark Theme
#91C8F6
RGB 145/200/246

Global Light Base

#EFF4F9
RGB 239/244/249

Background

#EBEBEB
RGB 250/250/250

SAP Fiori Launchpad Gradients

Top

 Dark Theme
#2C4E6C
RGB 44/78/108

Bottom

 Dark Theme
#9EC7D8
RGB 158/199/216

Top

 Light Theme
#A9C6DE
RGB 169/198/222

Bottom

Light Theme
#E7ECF0
RGB 231/236/240

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How to Use Semantic Colors.

Light Theme Flavor

Negative

#BB0000
RGB 187/0/0

Critical

#E78C07
RGB 231/140/7

Positive

#2B7D2B
RGB 43/125/43

Neutral

#5E696E
RGB 94/105/110

Information

#427cac
RGB 66/124/172

Dark Theme Flavor

Negative

#FF8888
RGB 255/136/136

Critical

#FABD64
RGB 250/189/100

Positive

#ABE2AB
RGB 171/226/171

Neutral

#D3D7D9
RGB 211/215/217

Information

#91c8f6
RGB 145/200/246

Accent Colors

Accent colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

#E09D00
RGB 224/157/0

#E6600D
RGB 230/96/13

#C14646
RGB 193/70/70

#AB218E
RGB 171/33/142

#678BC7
RGB 103/139/199

#0092D1
RGB 0/146/209

#1A9898
RGB 26 152 152

#759421
RGB 117/148/33

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. While darker gray shades are primarily used for texts.

#333333
RGB 51/51/51

#666666
RGB 102/102/102

#BFBFBF
RGB 191/191/191

#CCCCCC
RGB 204/204/204

#E5E5E5
RGB 229/229/229

#FFFFFF
RGB 255/255/255

Indication Colors

The indication color palette is used to express industry-specific meanings of colors. All values are themeable. Check out more details in how to use semantic and indication colors.

Light Theme Flavor

UI Indication 1

#880000
RGB 124/22/14

UI Indication 2

#bb0000
RGB 171/34/23

UI Indication 3

#E78C07
RGB 219/144/52

UI Indication 4

#2B7C2B
RGB 67/122/54

UI Indication 5

#427CAC
RGB 80/123/168

Dark Theme Flavor

UI Indication 1

#FF8888
RGB 239/142/139

UI Indication 2

#FFBBBB
RGB 245/190/188

UI Indication 3

#FABD64
RGB 250/189/100

UI Indication 4

#ABE2AB
RGB 171/226/171

UI Indication 5

#91c8f6
RGB 145/200/246

Colors

Color plays a significant role in SAP Fiori. Color communicates importance and association, and provides direction to users.

Color Balance

Color balance refers to the recommended mixture of light and dark, colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

Color balance (considering dark and light UIs)
Color balance (considering dark and light UIs)

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Global Dark Base

#3F5161
RGB 63/81/97

Brand / Highlight

#427CAC
RGB 66/124/172

Brand / Highlight

Dark Theme
#91C8F6
RGB 145/200/246

Global Light Base

#EFF4F9
RGB 239/244/249

Background

#EBEBEB
RGB 250/250/250

SAP Fiori Launchpad Gradients

Top

 Dark Theme
#2C4E6C
RGB 44/78/108

Bottom

 Dark Theme
#9EC7D8
RGB 158/199/216

Top

 Light Theme
#A9C6DE
RGB 169/198/222

Bottom

Light Theme
#E7ECF0
RGB 231/236/240

Semantic Colors

Semantic colors can be used to represent a negative, critical, positive, neutral, or information status. For more information, see How to Use Semantic Colors.

Light Theme Flavor

Negative

#BB0000
RGB 187/0/0

Critical

#E78C07
RGB 231/140/7

Positive

#2B7D2B
RGB 43/125/43

Neutral

#5E696E
RGB 94/105/110

Information

#427cac
RGB 66/124/172

Dark Theme Flavor

Negative

#FF8888
RGB 255/136/136

Critical

#FABD64
RGB 250/189/100

Positive

#ABE2AB
RGB 171/226/171

Neutral

#D3D7D9
RGB 211/215/217

Information

#91c8f6
RGB 145/200/246

Accent Colors

Accent colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

#E09D00
RGB 224/157/0

#E6600D
RGB 230/96/13

#C14646
RGB 193/70/70

#AB218E
RGB 171/33/142

#678BC7
RGB 103/139/199

#0092D1
RGB 0/146/209

#1A9898
RGB 26 152 152

#759421
RGB 117/148/33

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. While darker gray shades are primarily used for texts.

#333333
RGB 51/51/51

#666666
RGB 102/102/102

#BFBFBF
RGB 191/191/191

#CCCCCC
RGB 204/204/204

#E5E5E5
RGB 229/229/229

#FFFFFF
RGB 255/255/255

SAP Fiori

SAP Fiori provides a consistent and holistic user experience for SAP software. By creating visually pleasing designs with a strong focus on ease of use, the experience is intuitive and simple, across all devices. With effortless interaction patterns, the SAP Fiori UX is designed for a powerful impact across your enterprise.

At its core, the design concept of SAP Fiori:

  • Provides role-based simplification of business processes
  • Shifts from monolithic solutions to activity-based apps
  • Empowers users and the way they work

The design philosophy of SAP Fiori is based on five core principles. The SAP Fiori user experience is role-based, adaptive, simple, coherent, and delightful.

The user experience of SAP Fiori is currently supported by two technologies: the web-based SAPUI5 and iOS. For more information about SAP Fiori for iOS, check out the SAP Fiori for iOS Design Guidelines.

SAP Fiori 1.0

Introduced in 2013, SAP Fiori has evolved from a collection of apps into the new user experience for SAP software. It’s used across solutions such as SAP Business Suite 4 SAP HANA (SAP S/4HANA), the SAP SuccessFactors Employee Central solution, Ariba mobile solutions, the SAP Cloud for Customer solution, and more.

SAP Fiori 1.0
SAP Fiori 1.0

Based on SAPUI5 technology (versions 1.26-1.38), SAP Fiori 1.0 reflects a broader paradigm shift, moving from a focus on features and functions to users and their experience. As a result, SAP brings simplicity to a complex business scenarios so people and teams can be more productive and work better, faster and in entirely new ways.

Using modern UX design principles, SAP Fiori 1.0 delivers a role-based, consumer-grade user experience across all lines of business, tasks, and devices.

SAP Fiori 2.0

SAP Fiori 2.0 was launched in October 2016. It represents the newest evolution of the user experience for SAP S/4HANA and SAP Business Suite.

SAP Fiori 2.0
SAP Fiori 2.0

Based on SAPUI5 technology (versions 1.40 and higher), SAP Fiori 2.0 focuses even more strongly on users and the way they work. It allows users to concentrate on core tasks while still keeping track of activities in other areas. Improvements to the existing SAP Fiori launchpad allow the user a higher degree of flexibility and guidance. These improvements include the enhanced discovery and navigation features, the opening up of surface interaction via the viewport, access to action-oriented personal notifications, improved collaboration, the use of a personal digital assistant, and much more.

At a glance, SAP Fiori 2.0 offers users:

  • Increased productivity
  • Faster and more direct access to relevant information and applications
  • Transparency on items needing attention via timely notifications
  • Assistance to users when it comes to deciding needs to be done next
  • The ability for the user to take quick and informed actions
  • Increased user satisfaction

More on SAP Fiori 2.0

Our articles on SAP Fiori 2.0

Find the most important changes with SAPUI5 versions 1.40 and higher.

Design awards

SAP Fiori has received numerous design recognitions from some of the most prestigious organizations in the world.

Blog series

Check out this blog series on SAP Fiori 2.0 by Kai Richter (SAP Design) for more insights into the evolution of the design concepts.

Read “Hiding Complexity Puts Users in the Driver’s Seat”. Maricel Cabahug and Kai Richter discuss the impact that SAP Fiori 2.0 has on your business.

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. In earlier releases, letterboxing to 1024 px was automatically enforced in order to avoid distorting content. In later releases, letterboxing became an optional feature. Today, we can easily adjust content to different screen sizes by using responsive layouts and controls. To account for the increased average screen sizes in our customers’ IT infrastructures, we have increased the letterboxing to 1280 px.

Letterboxing switched on (screen width 1280 px)
Letterboxing switched on (screen width 1280 px)
Letterboxing switched off (full screen width)
Letterboxing switched off (full screen width)

Guidelines

When to Switch ON Letterboxing

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and if stretching the app would lead to bad usability by distorting the content.

Letterboxing should be switched on or off per entire application. In other words, apps should not mix letterboxing and full screen within one app.

If you want to use letterboxing for an application, set the appWidthLimited property of the sap.m.Shell control to true.

Information
If a user frequently navigates between two apps, avoid changing between letterboxing and full screen settings between the apps.

In some cases, applications may need to have the flexibility to change the width at runtime for different views. Example: fullWidth in view A and letterboxing in view B.

Through a new API, apps can change the width in the AppConfiguration service at runtime for different views.

When to Switch OFF Letterboxing

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.

Colors

Color plays a significant role in SAP Fiori. Color communicates importance and association, and provides direction to users.

Color Balance

Color balance refers to the recommended mixture of light and dark, colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

Color balance (considering dark and light UIs)
Color balance (considering dark and light UIs)

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Global Dark Base

#3F5161
RGB 63/81/97

Brand / Highlight

#427CAC
RGB 66/124/172

Brand / Highlight

Dark Theme
#91C8F6
RGB 145/200/246

Global Light Base

#EFF4F9
RGB 239/244/249

Background

#EBEBEB
RGB 250/250/250

SAP Fiori Launchpad Gradients

Top

 Dark Theme
#2C4E6C
RGB 44/78/108

Bottom

 Dark Theme
#9EC7D8
RGB 158/199/216

Top

 Light Theme
#A9C6DE
RGB 169/198/222

Bottom

Light Theme
#E7ECF0
RGB 231/236/240

Semantic Colors

Semantic colors can be used to represent negative, critical, positive and neutral status. For more information, see How to Use Semantic Colors.

Light Theme Flavor

Negative

#BB0000
RGB 187/0/0

Critical

#E78C07
RGB 231/140/7

Positive

#2B7D2B
RGB 43/125/43

Neutral

#5E696E
RGB 94/105/110

Dark Theme Flavor

Negative

#FF8888
RGB 255/136/136

Critical

#FABD64
RGB 250/189/100

Positive

#ABE2AB
RGB 171/226/171

Neutral

#D3D7D9
RGB 211/215/217

Accent Colors

Accent colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

#E09D00
RGB 224/157/0

#E6600D
RGB 230/96/13

#C14646
RGB 193/70/70

#AB218E
RGB 171/33/142

#678BC7
RGB 103/139/199

#0092D1
RGB 0/146/209

#1A9898
RGB 26 152 152

#759421
RGB 117/148/33

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. While darker gray shades are primarily used for texts.

#333333
RGB 51/51/51

#666666
RGB 102/102/102

#BFBFBF
RGB 191/191/191

#CCCCCC
RGB 204/204/204

#E5E5E5
RGB 229/229/229

#FFFFFF
RGB 255/255/255

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. In earlier releases, letterboxing to 1024 px was automatically enforced in order to avoid distorting content. In later releases, letterboxing became an optional feature. Today, we can easily adjust content to different screen sizes by using responsive layouts and controls. To account for the increased average screen sizes in our customers’ IT infrastructures, we have increased the letterboxing to 1280 px.

Letterboxing switched on (screen width 1280 px)
Letterboxing switched on (screen width 1280 px)
Letterboxing switched off (full screen width)
Letterboxing switched off (full screen width)

Guidelines

When to Switch ON Letterboxing

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and if stretching the app would lead to bad usability by distorting the content.

Letterboxing should be switched on or off per entire application. In other words, apps should not mix letterboxing and full screen within one app.

If you want to use letterboxing for an application, set the appWidthLimited property of the sap.m.Shell control to true.

Information
If a user frequently navigates between two apps, avoid changing between letterboxing and full screen settings between the apps.

In some cases, applications may need to have the flexibility to change the width at runtime for different views. Example: fullWidth in view A and letterboxing in view B.

Through a new API, apps can change the width in the AppConfiguration service at runtime for different views.

When to Switch OFF Letterboxing

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.

Typography

Designing 72 from the ground up made it possible to meet SAP Fiori’s typographic requirements, including:

  • Legibility enhancements: Optimize for screen use.
  • Font styles: Support a robust typographic hierarchy.
  • Brand voice: Be credible and humane.
  • Character set: Accommodate complex content.
  • Language support: Support Windows Glyph List.
  • Accessibility: Improve character recognition.

Typography with 72

72,” SAP’s proprietary typeface, replaces the default system fonts to improve the typographic system for SAP Fiori applications. The design has been meticulously crafted to portray a look and feel that is more trustworthy, friendly and modern, communicating the visual language of SAP Fiori. The metrics of the system fonts have been kept, to ensure compatibility within all controls. Improvements of the individual characters have been made, which also means that less screen width is required, resulting in reduced truncation issues. With all these enhancements, along with the humanist influences within the fine details, 72 greatly improves the legibility of SAP Fiori applications.

72, a bespoke typeface created for SAP
72, a bespoke typeface created for SAP

Language Support and Fallback to System Font

Language coverage is one of the most important requirements of a typeface depending on the number of countries in which your applications need to be available. Beyond the languages the font supports, fallback solutions need to be considered. In case the defined fonts cannot be displayed when an application initially loads, a fallback font is defined in the style sheet. Defining a fallback to a sans-serif system font that is readily available on every user’s device is a simple solution to load applications in any language. The font stack that is used within the CSS includes 72 with a fallback to system fonts such as Arial and Helvetica in combination, or Roboto for Android.

The fallback system fonts also bring the advantage of zero loading time, ensuring that there is always a consistent font available that works with the fresh, clean, and minimalistic style that is SAP Fiori. The font stack used comes with a full Unicode solution when special characters are needed. For all the languages that SAP Fiori will need to support, system fonts are available. 72 is integrated into the control set, making customization easy. The font stack can also be modified to achieve an individual result.

Accessibility

Optimized for screen consumption, 72’s design enhancements increase legibility, readability and ultimately, accessibility. A wider apex and open counters helps with character recognition at smaller sizes. Differentiation of character details, such as the number “1” and the lower case “l” versus the capital “I”, make the characters easier to distinguish and improve the overall reading experience.

Example of improved accessibility features
Example of improved accessibility features

Headlines and Font Styles for UI Controls

  • Headlines 1 to 6: titles are defined in several sizes and styles that help to visually identify the context of application pages or grouped content within the user interface. Example of headlines include, page title, object header title, list, form, table, chart, timeline and feed titles.
  • Small text: used for controls such as time stamps, unit of measurement, small bylines (e.g. feed).
  • Medium text: the default text size used in controls, such as buttons, inputs, tables, tree.
  • Large text: stand out text controls, such as feed author name, upload collection file name.
28 px
1.75 rem
Header 1
22 px
1.375 rem
Header 2
20 px
1.25 rem
Header 3
18 px
1.125 rem
Header 4
16 px
1 rem
Header 5
14 px
0.875 rem
Header 6
Headline sizes
16 px
1 rem
Large Text
14 px
0.875 rem
Medium Text
12 px
0.75 rem
Small Text
General font sizes

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

72 SHOWCASE

Overview of “72“, SAP’s proprietary typeface.

DESIGN STENCILS

72 is now part of the SAP Fiori Design Stencils.

SAP Fiori

SAP Fiori provides a consistent and holistic user experience for SAP software. By creating visually pleasing designs with a strong focus on ease of use, the experience is intuitive and simple, across all devices. With effortless interaction patterns, the SAP Fiori UX is designed for a powerful impact across your enterprise.

At its core, the design concept of SAP Fiori:

  • Provides role-based simplification of business processes
  • Shifts from monolithic solutions to activity-based apps
  • Empowers users and the way they work

The design philosophy of SAP Fiori is based on five core principles. The SAP Fiori user experience is role-based, adaptive, simple, coherent, and delightful.

The user experience of SAP Fiori is currently supported by two technologies: the web-based SAPUI5 and iOS. For more information about SAP Fiori for iOS, check out the SAP Fiori for iOS Design Guidelines.

SAP Fiori 1.0

Introduced in 2013, SAP Fiori has evolved from a collection of apps into the new user experience for SAP software. It’s used across solutions such as SAP Business Suite 4 SAP HANA (SAP S/4HANA), the SAP SuccessFactors Employee Central solution, Ariba mobile solutions, the SAP Cloud for Customer solution, and more.

SAP Fiori 1.0
SAP Fiori 1.0

Based on SAPUI5 technology (versions 1.26-1.38), SAP Fiori 1.0 reflects a broader paradigm shift, moving from a focus on features and functions to users and their experience. As a result, SAP brings simplicity to a complex business scenarios so people and teams can be more productive and work better, faster and in entirely new ways.

Using modern UX design principles, SAP Fiori 1.0 delivers a role-based, consumer-grade user experience across all lines of business, tasks, and devices.

SAP Fiori 2.0

SAP Fiori 2.0 was launched in October 2016. It represents the newest evolution of the user experience for SAP S/4HANA and SAP Business Suite.

SAP Fiori 2.0
SAP Fiori 2.0

Based on SAPUI5 technology (versions 1.40 and higher), SAP Fiori 2.0 focuses even more strongly on users and the way they work. It allows users to concentrate on core tasks while still keeping track of activities in other areas. Improvements to the existing SAP Fiori launchpad allow the user a higher degree of flexibility and guidance. These improvements include the enhanced discovery and navigation features, the opening up of surface interaction via the viewport, access to action-oriented personal notifications, improved collaboration, the use of a personal digital assistant, and much more.

At a glance, SAP Fiori 2.0 offers users:

  • Increased productivity
  • Faster and more direct access to relevant information and applications
  • Transparency on items needing attention via timely notifications
  • Assistance to users when it comes to deciding needs to be done next
  • The ability for the user to take quick and informed actions
  • Increased user satisfaction

More on SAP Fiori 2.0

Our articles on SAP Fiori 2.0

Find the most important changes with SAPUI5 versions 1.40 and higher.

Design awards

SAP Fiori has received numerous design recognitions from some of the most prestigious organizations in the world.

Blog series

Check out this blog series on SAP Fiori 2.0 by Kai Richter (Vice President, Global Design Concepts) for more insights into the evolution of the design concepts.

Read “Hiding Complexity Puts Users in the Driver’s Seat”. Maricel Cabahug (Global Head of Design) and Kai Richter (Vice President, Global Design Concepts) discuss the impact that SAP Fiori 2.0 has on your business.

Typography

Designing 72 from the ground up made it possible to meet SAP Fiori’s typographic requirements, including:

  • Legibility enhancements: Optimize for screen use.
  • Font styles: Support a robust typographic hierarchy.
  • Brand voice: Be credible and humane.
  • Character set: Accommodate complex content.
  • Language support: Support Windows Glyph List.
  • Accessibility: Improve character recognition.

Typography with 72

72,” SAP’s proprietary typeface, replaces the default system fonts to improve the typographic system for SAP Fiori applications. The design has been meticulously crafted to portray a look and feel that is more trustworthy, friendly and modern, communicating the visual language of SAP Fiori. The metrics of the system fonts have been kept, to ensure compatibility within all controls. Improvements of the individual characters have been made, which also means that less screen width is required, resulting in reduced truncation issues. With all these enhancements, along with the humanist influences within the fine details, 72 greatly improves the legibility of SAP Fiori applications.

72, a bespoke typeface created for SAP
72, a bespoke typeface created for SAP

Language Support and Fallback to System Font

Language coverage is one of the most important requirements of a typeface depending on the number of countries in which your applications need to be available. Beyond the languages the font supports, fallback solutions need to be considered. In case the defined fonts cannot be displayed when an application initially loads, a fallback font is defined in the style sheet. Defining a fallback to a sans-serif system font that is readily available on every user’s device is a simple solution to load applications in any language. The font stack that is used within the CSS includes 72 with a fallback to system fonts such as Arial and Helvetica in combination, or Roboto for Android.

The fallback system fonts also bring the advantage of zero loading time, ensuring that there is always a consistent font available that works with the fresh, clean, and minimalistic style that is SAP Fiori. The font stack used comes with a full Unicode solution when special characters are needed. For all the languages that SAP Fiori will need to support, system fonts are available. 72 is integrated into the control set, making customization easy. The font stack can also be modified to achieve an individual result.

Accessibility

Optimized for screen consumption, 72’s design enhancements increase legibility, readability and ultimately, accessibility. A wider apex and open counters helps with character recognition at smaller sizes. Differentiation of character details, such as the number “1” and the lower case “l” versus the capital “I”, make the characters easier to distinguish and improve the overall reading experience.

Example of improved accessibility features
Example of improved accessibility features

Headlines and Font Styles for UI Controls

  • Headlines 1 to 6: titles are defined in several sizes and styles that help to visually identify the context of application pages or grouped content within the user interface. Example of headlines include, page title, object header title, list, form, table, chart, timeline and feed titles.
  • Small text: used for controls such as time stamps, unit of measurement, small bylines (e.g. feed).
  • Medium text: the default text size used in controls, such as buttons, inputs, tables, tree.
  • Large text: stand out text controls, such as feed author name, upload collection file name.
28 px
1.75 rem
Header 1
22 px
1.375 rem
Header 2
20 px
1.25 rem
Header 3
18 px
1.125 rem
Header 4
16 px
1 rem
Header 5
14 px
0.875 rem
Header 6
Headline sizes
16 px
1 rem
Large Text
14 px
0.875 rem
Medium Text
12 px
0.75 rem
Small Text
General font sizes

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

72 SHOWCASE

Overview of “72“, SAP’s proprietary typeface.

DESIGN STENCILS

72 is now part of the SAP Fiori Design Stencils.

Mobile First

Creating a coherent and enjoyable user experience out of a complex business scenario can seem like a daunting task. One approach to this problem is to deconstruct the complexity by focusing on the essentials. “Mobile first” is a great way to facilitate this process.

What is Mobile First?

“Mobile first” means reimagining your approach to complexity by starting with the design of a simple mobile app.

Starting with the smallest and most limited device and later enhancing the app for larger, more powerful devices has many benefits. It implies having to deal with some level of restriction that will force you to find smart ways to reduce, aggregate, group, and default information.

This approach allows you to really focus on what’s important and can lead to amazing innovation in design.

Advantages

Build up, don’t tear down:  Instead of starting with the desktop design and stripping down the functionality for mobile scenarios, start with the smallest and most limited device and enhance the app for larger, more powerful devices later on. Because the mobile design embodies the core functionality, the “mobile first” approach allows you to focus on enhancement rather than degradation.

Think ahead: Mobile devices also offer unique capabilities, such as sensors, cameras, and voice recognition, which are not always available on desktop devices. By starting with mobile design, it is easier to factor in these additional capabilities from the start instead of plugging them in later.

Improve the user experience: Thinking “mobile first” helps you stay close to the user’s context. For example, network availability and signal strength can be unreliable in mobile scenarios. Giving users the option to continue working offline can therefore be the key to user satisfaction. More importantly, ensuring a seamless experience across different device types is a critical element of business process optimization.

With SAP Fiori, we embrace this design approach as a way to fundamentally redefine the business experience.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design. 

Elements and Controls

Implementation

  • No links

Motion Design

Motion design is a design method that applies animation and visual effects to user interface design. It expands the conventional design space with a time dimension that makes it an ideal medium for storytelling. In the context of SAP Fiori, motion design and microinteractions work together to provide our users with a coherent user experience.

Starting with the big picture, and extending into the smaller details, motion design modernizes the SAP Fiori design language. It helps to make apps simpler, more effective, and more delightful to use, contributing to one look and feel across all SAP Fiori applications.

Motion Design Principles

We’ve established handy motion design principles to follow when designing animations in SAP Fiori:

We’ll look at each of these principles in turn in the sections below.

Duration

Based on research from previous studies and our findings from testing with prototypes, we have defined four duration classes for SAP Fiori animations:

Different animations are grouped in these classes to define the correct duration for each use case.

How do we define animation duration?

The average eye movement takes 230 ms (based on research ranging from 70-700 ms). We classify our generic animations on a scale from 0 ms to 500 ms. If the duration exceeds 500 ms, we speak of “continuous animation”.

Motion design animation durations for SAP Fiori
Motion design animation durations for SAP Fiori

Immediate response (< 150 ms)

This duration applies when the user directly manipulates the content. If animation of this type is needed (for example, to show a hover effect, down state, or drag & drop), the device must react instantaneously and the animation should last no longer than 150 ms.

According to the Nielsen Norman Group, 0.1 s is the response time limit for users to feel like they are directly causing something to happen on the screen. For example, to give users the impression that they are manipulating the table directly, the time it takes between the user clicking a table column and the column being highlighted should be no more than 0.1s. Ideally, this would also be the response time for sorting the column. Users then feel that they are sorting the table, rather than ordering the computer to do the sorting for them.

Example: Drag and Drop on list
Example: Drag and Drop on list

Small Moves (150 ms – 250 ms)

In some cases, the application responds to an interaction so fast that users can lose track of what’s happening on the screen. To present the feedback in a more natural way, we show short animations when elements move between positions or states.

It is important to keep these animations simple and short, because:

  • They reflect a small change on the screen.
  • The user should not have to wait.
  • It is very likely that the user will see these animations frequently.
  • The main purpose of the animation is to enable the user to track a change.
Example: Action sheet - Animations should not make users wait
Example: Action sheet - Animations should not make users wait

Large Moves (250 ms – 500 ms)

If you need to depict a large movement on the screen, use a longer animation duration to avoid fast flashing movements.

Example: Viewport switch
Example: Viewport switch

Continuous Animations (500 ms – ∞)

The duration of these animations is unpredictable. Anything that takes less than a second should be reflected on the screen as fast as possible. However, some interactions have unknown response times. Placeholder animation is a typical example of a continuous animation.

Example: Placeholder for loading content
Example: Placeholder for loading content

Easing

To enable natural movement for screen elements, most coding languages and animation tools offer functions for easing. To understand the term “easing”, we need to break down the main components of motion.

Motion or movement is described by the position and time. For a given initial position at time “0”, movement is the the change in the position value over time.

  • Position value: The position value is expressed numerically for a certain time, and can be one of the following properties:
    • Position (space)
    • Scaling
    • Rotation
    • Alpha
  • Time: To standardize motion for practical purposes, the time is generally measured in positive numbers. At any moment in time, there is a position value.

Curves and Transition Timing

The property for the transition timing function specifies the speed curve of the transition effect. This property allows a transition effect to change speed over its duration.

The duration defines the total duration of a transition from state A to state B, whether the transition involves scaling, distorting, rotating or modifying the style of an element. The transition timing function defines the rate at which the transition is carried out, which can involve speeding up and slowing down.

The transition timing function uses Bézier curves to describe how the animation will proceed over time. You can either use predefined easing settings for the common functions, or specify the control points for a cubic Bézier function to have full control over the transition function. CSS transitions and animations support easing, formally called a “timing function”. The common easing types are:

  • Ease-in
  • Ease-out
  • Ease-in-out
  • Linear

Ease-In

Easing Type Description Protocol
Ease-in The animation starts slowly and finishes at full speed. cubic-bezier (0.65, 0, 1, 1)

 

Ease-Out

Easing Type Description Protocol
Ease-out The animation starts at full speed and finishes slowly. cubic-bezier (0, 0, 0.35, 1)

 

Ease-In-Out

Easing Type Description Protocol
Ease-in-out The animation starts slowly, reaches its maximum speed in the middle of the animation, then finishes slowly. cubic-bezier (0.5, 0, 0.5, 1)

Linear

Easing Type Description Protocol
No easing No acceleration is used. Use this type only for changes in opacity. cubic-bezier(0, 0, 1, 1)

Direction and Orientation

The direction and orientation determine how elements behave within SAP Fiori.

  • Direction gives users the ultimate sense of where an object is coming from, and where it is going to.
  • Digital elements use 3-axis directions (x,y,z) to emulate real-life movement.
  • Spatial cases without direction, such as popups, use other animiation methods when rendered on the screen (for example, fading).

The examples below illustrate the principle of direction.

Move Elements

In this case, objects are repositioned. Elements enter, exit, or remain on the screen. The direction defines the spatial placement of the element according to its purpose.

  • Used for: Swipe, slide, switch, page/gallery indicators, saving elements.
  • Logical movement: Elements that come in and out of the screen should follow a consistent pattern.
    • If an element moves out, and then back in, it must come in from the place it initially moved out to.
    • If an element moves in, and then back out, it must return to the place it initially moved in from.

Stack Elements

When elements are stacked, one action is placed over another. Here, direction is used to help users follow the way elements are spread on the screen (spatial placement).

  • Used for: Elements that expand/spread or collapse/pile up, open/closed elements with a point of interest.
  • Logical movement: If elements come into the group of elements in a certain order from a certain place, they should leave the group in the same way.

Rotate Elements

Elements can rotate as long as this serves a meaningful purpose, and is not just a normal transition for showing content.

  • Used for: Rearranging elements on the screen, device rotation.
  • Elements that have a radial design can take advantage of this property, which uses direction to express values or states.
  • Logical movement:
    • For 2D rotation, use radial values appropriately (clockwise, anticlockwise).
    • Avoid 3D rotations (for example, flip or page turn).

Choreography

By combining easing, duration, and direction, you can design precise movement sequences. This is known as choreography.

Choreography relates to the sequential movements, steps, and patterns composed for a single element or set of elements on the screen. Elements on the screen appear, disappear, and behave in certain way, depending on their depth on the screen, their importance, and the message they convey. The word choreography literally means “dance-writing”. In the context of motion design, this refers to a series of planned situations that are linked to create consistency and harmony.

Entry and Exit Animations

Often, the entry behavior of a certain element will vary from the exit behavior of the same element. This is because entering the screen has one flow and purpose, and exiting may have another. For example, when a dialog is opened, the animation should last 150 ms, since the purpose of the animation is to reflect the change on the screen. However, closing the dialog should last only 50 ms to avoid waiting situations.

Example: Dialog container
Example: Dialog container

Choreography Behaviors

The choreography behaviors below allow you to optimize your motion design.

Offset

Example: Dialog
Example: Dialog

Combining spatial offset and direction allows you to connect an element to the part of the screen it belongs to.

Objects can use animated offset to demonstrate their parent group or hierarchy, and to show where they are coming from and where they are going to.

Delay

Example: Notification cards with a delay of 50 ms
Example: Notification cards with a delay of 50 ms

Delays support usability by visually separating one element (or set of elements) from another.

You can delay the duration of each single element in a group of elements by specifying a delay for the start of an animation. Animating each element with a slight of delay creates depth and a visual understanding that these elements, while still acting as a group, are independent of one another.

Conditional Delay

Example: Navigation container, slide in-out and fade animations
Example: Navigation container, slide in-out and fade animations

With a conditional delay, the system waits for a certain action or animation to complete (onComplete) before playing the next one.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, and the visual design.

Elements and Controls

  • No links.

Implementation

  • No links.

Get Started

SAP Fiori

What is SAP Fiori?

Learn about the new user experience for SAP software.

A Beginner's Guide to the SAP Fiori Design Guidelines

Your brief introduction to everything you need to know about working with the guidelines.

Foundation

Design Principles

Learn about the five core principles that make up the design philosophy of SAP Fiori.

SAP Fiori Design-Led Development Process

Get to know the SAP Fiori design-led development process.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

Mobile First

Discover the benefits of putting mobile scenarios at the center of SAP Fiori design.

Theming

SAP Fiori user interfaces are constructed using SAPUI5 control sets that are meticulously styled with CSS.

Learn More

To learn more, check out the foundation category in the navigation menu on the left.

General Concepts

SAP Fiori Launchpad

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Draft Handling

Learn about the draftling handling concept of SAP Fiori, including auto-save, locking, and data loss prevention.

Navigation

Navigation in SAP Fiori follows the standard navigation paradigms of various web applications.

Manage Objects

Find out about the different interaction flows for managing objects, including create, edit, and delete.

Message Handling

Find out how to display messages to the user such as errors, warnings, success messages, confirmation, and information.

Learn More

To learn more, check out the general concepts category in the navigation menu on the left.

Layouts,  Floorplans & Frameworks

Page Layouts

Most app designs are based on one of these basic page layouts, which can be used with a range of different floorplans.

Floorplans

Floorplan is an umbrella term that covers the different layout types, the structure of the controls used, and how to handle different use cases. An application contains normally several pages, with each page showing a single floorplan.

SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. They ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

Frameworks

Get insights into two important frameworks used by SAP Fiori.

UI Elements

'Explore' Page

Get an overview of all the UI elements available in SAP Fiori.

Learn More

To learn more, check out the UI Elements category in the navigation menu on the left.

Services & Resources

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Get Started

SAP Fiori

What is SAP Fiori?

Learn about the new user experience for SAP software.

A Beginner's Guide to the SAP Fiori Design Guidelines

Your brief introduction to everything you need to know about working with the guidelines.

Foundation

Design Principles

Learn about the five core principles that make up the design philosophy of SAP Fiori.

SAP Fiori Design-Led Development Process

Get to know the SAP Fiori design-led development process.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

Mobile First

Discover the benefits of putting mobile scenarios at the center of SAP Fiori design.

Theming

SAP Fiori user interfaces are constructed using SAPUI5 control sets that are meticulously styled with CSS.

Learn More

To learn more, check out the foundation category in the navigation menu on the left.

General Concepts

SAP Fiori Launchpad

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Draft Handling

Learn about the draftling handling concept of SAP Fiori, including auto-save, locking, and data loss prevention.

Navigation

Navigation in SAP Fiori follows the standard navigation paradigms of various web applications.

Manage Objects

Find out about the different interaction flows for managing objects, including create, edit, and delete.

Message Handling

Find out how to display messages to the user such as errors, warnings, success messages, confirmation, and information.

Learn More

To learn more, check out the general concepts category in the navigation menu on the left.

SAP Fiori Elements, Floorplans & Frameworks

Page Layouts

Most app designs are based on one of these basic page layouts, which can be used with a range of different floorplans.

Floorplans

Floorplan is an umbrella term that covers the different layout types, the structure of the controls used, and how to handle different use cases. An application contains normally several pages, with each page showing a single floorplan.

SAP Fiori Elements

SAP Fiori elements provide a framework for generating UIs at runtime based on metadata annotations and predefined templates for the most used application patterns. They ensure design consistency, keep apps up to date with evolving design guidelines, and reduce the amount of frontend code for building SAP Fiori apps.

Frameworks

Get insights into two important frameworks used by SAP Fiori.

UI Elements

'Explore' Page

Get an overview of all the UI elements available in SAP Fiori.

Learn More

To learn more, check out the UI Elements category in the navigation menu on the left.

Services & Resources

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

SAP Fiori Reference Apps

Check out our sample apps see to best-practice examples for implementation.

A Beginner’s Guide to the Design Guidelines

Welcome

Welcome to the SAP Fiori Design Guidelines! If this is your first visit, you’re probably wondering what you’ll find in these guidelines. As a first step, you might want to get acquainted with SAP Fiori, the new user experience for SAP’s enterprise apps.

With SAP Fiori gaining more and more traction, the guidelines were established to give you all the information needed to create a unified and harmonious experience across all devices within the SAP Fiori application suite.

At its core, these guidelines represent the design language of SAP Fiori, which is based on five core principles: to provide a role-based, adaptive, simple, coherent, and delightful user experience. With these core principles in hand, the guidelines go a step further by providing you with concrete guidance, examples, and explanations so you can get started on creating your SAP Fiori app.

What’s In It For You

If the SAPUI5 Library already exists, why do I need the design guidelines?

Great question! The SAP Fiori design is built into the SAPUI5 front-end library – a framework that offers over 100 UI controls and numerous layout types. This framework ensures that the layout, control behavior, and visual design are consistent in all SAP Fiori apps. However, this in itself doesn’t guarantee a delightful user experience.

Apps need to be designed with the user in mind. And they need to follow consistent, established interaction patterns that factor in the requirements of each use case. In a large software enterprise such as SAP, these principles and patterns need to be applied by numerous application development teams worldwide. Also, as SAP Fiori gains traction, more and more SAP customers are extending SAP Fiori apps or building their own. These users too are looking to SAP for design guidance.

In a nutshell, the SAP Fiori Design Guidelines offer a single point of reference to anyone involved in designing SAP Fiori apps.

The guidelines extend far beyond general principles and paradigms. They offer concrete guidance so you can execute on a user-centered approach, and they explain how to apply the different layouts, patterns, and controls in detail. The guidelines give you the bigger picture and put technical features into context. They help UX designers and developers make the connection between design considerations and the corresponding SAPUI5 controls.

What are the advantages of using the guidelines?

Making use of these specifications really is worth the effort, but if you still need some convincing, have a look at some of the benefits of using the design guidelines:

A harmonious look and feel throughout the SAP Fiori app suite

You will have an easy to maintain and consistent design, ensuring a cohesive look and feel throughout all apps for your users.

Faster build times

Rather than having to develop everything from scratch, you can make use of a proven system with ready-made building blocks. This guarantees faster build times for new applications!

Easier testing

You will have a tool to do quick quality assurance checks. Neither the guidelines nor the control library are identical to an app. However, both point out issues you may have in your app. By tackling these early on, you’ll avoid them later!

One language for communication

You will have a shared vocabulary to use as a reference when discussing changes and iterations. Designing apps becomes more efficient when everyone involved speaks the same language.

A great onboarding platform

You will have a great platform for onboarding anyone joining the team! This will also help you build an awareness of and appreciation for the system.

Navigate Easily

Once you’re ready to take a more in-depth look at the SAP Fiori Design guidelines, you’ll want to get acquainted with our navigation structure (on the left-hand side of the screen). The guidelines feature hundreds of articles, which are divided into different categories: Foundation, General Concepts, SAP Fiori Elements, Floorplans & Frameworks, UI Elements, and more.

Take a look at the Get Started page to see what you can expect to find under each category.

Versioning

The SAP Fiori Design Guidelines are available starting from version 1.26. You can browse through the different versions of individual articles from the menu on the top right-hand corner of the screen.

Prototyping

Prototypes are the best way to test SAP Fiori app concepts with users. Put your knowledge of the SAP Fiori design language into practice by building prototypes with our Axure RP and Microsoft PowerPoint® design templates. We offer you an extensive set of design stencils that represent all existing controls. Check out design stencils for more information.

Keep Up to Date

As the world of UX and technology is evolving, we too are continuously developing the SAP Fiori design and interaction language. Thanks to the feedback from our users and all other stakeholders involved, we are able to develop SAP Fiori further, offering ever smoother and smarter experiences to our customers.

We are constantly extending and adding controls, as well as adjusting the visual design. Every few months, we update the SAPUI5 Library and simultaneously release a new version of the guidelines to describe these new features.

Want to be kept in the loop? Check out our What’s New section, or join the discussion in the experience.sap.com forum to ask design questions and post your design ideas.

SAP Fiori

SAP Fiori provides a consistent and holistic user experience for SAP software. By creating visually pleasing designs with a strong focus on ease of use, the experience is intuitive and simple, across all devices. With effortless interaction patterns, the SAP Fiori UX is designed for a powerful impact across your enterprise.

At its core, the design concept of SAP Fiori:

  • Provides role-based simplification of business processes
  • Shifts from monolithic solutions to activity-based apps
  • Empowers users and the way they work

The design philosophy of SAP Fiori is based on five core principles. The SAP Fiori user experience is role-based, adaptive, simple, coherent, and delightful.

The user experience of SAP Fiori is currently supported by two technologies: the web-based SAPUI5 and iOS. For more information about SAP Fiori for iOS, check out the SAP Fiori for iOS Design Guidelines.

SAP Fiori 1.0

Introduced in 2013, SAP Fiori has evolved from a collection of apps into the new user experience for SAP software. It’s used across solutions such as SAP Business Suite 4 SAP HANA (SAP S/4HANA), the SAP SuccessFactors Employee Central solution, Ariba mobile solutions, the SAP Cloud for Customer solution, and more.

SAP Fiori 1.0
SAP Fiori 1.0

Based on SAPUI5 technology (versions 1.26-1.38), SAP Fiori 1.0 reflects a broader paradigm shift, moving from a focus on features and functions to users and their experience. As a result, SAP brings simplicity to a complex business scenarios so people and teams can be more productive and work better, faster and in entirely new ways.

Using modern UX design principles, SAP Fiori 1.0 delivers a role-based, consumer-grade user experience across all lines of business, tasks, and devices.

SAP Fiori 2.0

SAP Fiori 2.0 was launched in October 2016. It represents the newest evolution of the user experience for SAP S/4HANA and SAP Business Suite.

SAP Fiori 2.0
SAP Fiori 2.0

Based on SAPUI5 technology (versions 1.40 and higher), SAP Fiori 2.0 focuses even more strongly on users and the way they work. It allows users to concentrate on core tasks while still keeping track of activities in other areas. Improvements to the existing SAP Fiori launchpad allow the user a higher degree of flexibility and guidance. These improvements include the enhanced discovery and navigation features, the opening up of surface interaction via the viewport, access to action-oriented personal notifications, improved collaboration, the use of a personal digital assistant, and much more.

At a glance, SAP Fiori 2.0 offers users:

  • Increased productivity
  • Faster and more direct access to relevant information and applications
  • Transparency on items needing attention via timely notifications
  • Assistance to users when it comes to deciding needs to be done next
  • The ability for the user to take quick and informed actions
  • Increased user satisfaction
Information
Please note that the notifications area shown in the Fiori 2.0 examples on this page reflects the target design. In the current implementation, you cannot show the user image and name.

More on SAP Fiori 2.0

Our articles on SAP Fiori 2.0

Find the most important changes with SAPUI5 versions 1.40 and higher.

Design awards

SAP Fiori has received numerous design recognitions from some of the most prestigious organizations in the world.

Blog series

Check out this blog series on SAP Fiori 2.0 by Kai Richter (Vice President, Global Design Concepts) for more insights into the evolution of the design concepts.

Read “Hiding Complexity Puts Users in the Driver’s Seat”. Maricel Cabahug (Global Head of Design) and Kai Richter (Vice President, Global Design Concepts) discuss the impact that SAP Fiori 2.0 has on your business.

Design Principles

SAP Fiori provides a consistent and holistic user experience for SAP software. By creating visually pleasing designs with a strong focus on ease of use, the experience is intuitive and simple, across all devices. With effortless interaction patterns, the SAP Fiori UX is designed for a powerful impact across your enterprise.

Design Principles

The design philosophy of SAP Fiori is based on five core principles. SAP Fiori user experience is role-based, adaptive, simple, coherent, and delightful.

ROLE-BASED

SAP Fiori is designed for your business, your needs, and how you work. It draws from our broad insights on the multifaceted roles of today’s workforce. SAP Fiori provides the right information at the right time and reflects the way you actually work.

DELIGHTFUL

Apart from making you work smarter, SAP Fiori also enriches your work experience by allowing you to simply do your job.

COHERENT

Whether you fulfill a sales order, review your latest KPIs, or manage leave requests – SAP Fiori adheres to a consistent interaction and visual design language. Across the enterprise, you enjoy the same intuitive and consistent experience.

SIMPLE

With SAP Fiori, you can complete your job intuitively and quickly. SAP Fiori helps you focus on what is important – essential functions are easy to use and you can personalize the experience to focus on your relevant tasks and activities.

ADAPTIVE

SAP Fiori enables you to work how and where you want, regardless of the device you use. And, it provides relevant information that allows for instant insight.

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. In earlier releases, letterboxing to 1024 px was automatically enforced in order to avoid distorting content. In later releases, letterboxing became an optional feature.

Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px
Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px

Today, we can easily adjust content to different screen sizes by using responsive layouts and controls. To account for the increased average screen sizes in our customers’ IT infrastructures, we have increased the letterboxing to 1280 px.

Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width

Guidelines

When to Switch ON Letterboxing

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and if stretching the app would lead to bad usability by distorting the content.

Letterboxing should be switched on or off per entire application. In other words, apps should not mix letterboxing and full screen within one app.

If you want to use letterboxing for an application, set the appWidthLimited property of the sap.m.Shell control to true.

Information
If a user frequently navigates between two apps, avoid changing between letterboxing and full screen settings between the apps.

In some cases, applications may need to have the flexibility to change the width at runtime for different views. Example: fullWidth in view A and letterboxing in view B.

Through a new API, apps can change the width in the AppConfiguration service at runtime for different views.

When to Switch OFF Letterboxing

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.

Get Started

Learn how to create simple and delightful SAP Fiori apps

Explore the basics of SAP Fiori

Design Principles

The design principles are the heart of SAP Fiori. Learn how to apply them to your SAP Fiori apps.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

SAP Fiori Launchpad Home Page

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Grid Layout

Find out about the grid layout that underlies every SAP Fiori app.

Form Factors

Discover the two form factors: cozy and compact.

Navigation

Navigation in SAP Fiori follows standard navigation paradigms of various web applications.

Discover the app content model

Page Layouts (Floorplans)

Take a look at the 'full screen' and 'split screen' page layouts.

Floorplans

Familiarize yourself with the floorplans for SAP Fiori apps.

Get to know SAP Fiori UI elements

'Explore' Page

Get an overview of all the UI elements, floorplans, and app types available for SAP Fiori.

UI Element: Toolbar

The toolbar enables users to change the UI or trigger an action. It is one of the most important elements in SAP Fiori.

UI Element: Chart

Charts are used to display quantitative information. They give the user access to key information contained in structured data records.

Design your SAP Fiori app

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Design-Led Development Process

SAP is committed to designing role-based applications that address the needs of our end users across all lines of business, tasks, and devices. We believe this is the key to a great user experience. But how do we guarantee a solid and consistent design for our customers and end users? The answer is SAP’s design-led development process.

Design-led development takes advantage of proven design thinking methods to achieve an optimal user experience. The process spans the entire development lifecycle, is simple and easy to follow, and provides a solid basis for scaling design as a whole. It fosters unity between designers and developers, while ensuring that the needs of the end user are addressed at every step along the way. Learn more about design-led development below.

The Phases

Developing software is much more than just coding. It’s about putting the user first, from start to finish. In order to do that, it is critical that you first understand who your end user is. This is why the design-led development process begins with the discover phase. At this stage, you focus on understanding your customers, how they work, and what they need.

Only then do you move on to the design phase, and create the initial prototypes for development. After the develop activities, such as implementation and testing, your app is ready to deploy.

The main emphasis of the design-led development process is on the first two phases – discover and design. These two steps are just as important as developing the software itself!

The design-led development process
The design-led development process

Discover the Bigger Picture

Perhaps you already have a good idea of what your customers want and need, and what your end user’s tasks and challenges are. But what you really need is a holistic view of the business roles affected by your apps.

To do this, you will have to visit your customers at their location and speak to everyone involved. Organizing Design Thinking workshops with the different stakeholders are a great way to go about this. By the end of the Discover phase, you should have a clear understanding of all the business roles involved, and have gathered descriptions of the typical representatives for each role – also called “personas”. You should know what their typical tasks are, and what their sequence of activities looks like. With this information, you can develop initial ideas about how the app might work, gain a common understanding of the requirements, and get additional feedback from your end users.

Design to Delight

Once you are happy with the initial results of your discovery activities, you are ready to start the next phase – the design. Your app should be tailored to the constructed use case, which is based on the synthesized results from the Discover phase. Ideally, you have a multidisciplinary team to brainstorm, create a storyboard, and come up with a first prototype that you can validate with your end users.

Development can start once you have finished your initial design. During the development phase, you may still need to change some aspects of your design to incorporate ongoing user feedback, to optimize the app, or to allow for technical constraints.

When the app is first implemented and tested, the initial design might require further iterations and adaptations before you arrive at the final design and implementation.

Deploy a Great User Experience

Before you can deploy your app, you need to make sure that the final design and the implementation are perfectly synchronized. Deviations in the implementation of the final design will require release approval. During this phase, it is necessary to verify that the final implementation and design deliver the intended user experience to the targeted end users.

SAP offers a new and broad portfolio of UX design services that guide organizations and companies into a user-centered design perspective.

We help you define and execute the best UX strategy for your business using proven design methodologies such as Design Thinking and User-Centered Design.

Learn more about UX Design Services from SAP.

The App Lives On

Now that you have coded and delivered your app, you might want to know how it’s doing in the real world and if the end users really are happy. There are various ways to get user feedback, including interviews, site visits, and structured usability tests. For example, you might find out that you need to support other mobile devices, or even enhance some additional features.

At any step of the way, you can apply the same design-led development approach discussed here to plan new releases, support other platforms, incorporate additional user feedback, or meet new user requirements. And so the app lifecycle continues!

It’s A Team Effort

Many different people contribute to the development process. Typically, these include:

  • The product owner, an area expert who is usually responsible for the whole family of apps in that area.
  • The user researcher, who drives the end user research and artifact consolidation.
  • The user experience designer, who creates mockups, prototypes, and design specifications.
  • The software developer, who implements the design.
  • The info developer, who works on UI texts, terminology, and user assistance topics.
  • The quality expert, who sets up test activities and consolidates the results.

These are just the main roles. Depending on how you drive the process, you may need to extend this list.

Design Gates

In order to support SAP’s product teams throughout the design-led development process, the Global Design team implements a concept called “design gates”. Design gates are a series of checkpoints along the way that serve to ensure that the design of our products is consistent, follow our design guidelines, and truly address the needs of our end users. These checks are conducted by UX experts who are not involved in the product development, but who can provide an impartial opinion. They provide consultation, guidance, and instructions on how to proceed along the design and development process and how to optimize the user experience of our products.

Design-Led Development Process

SAP is committed to designing role-based applications that address the needs of our end users across all lines of business, tasks, and devices. We believe this is the key to a great user experience. But how do we guarantee a solid and consistent design for our customers and end users? The answer is SAP’s design-led development process.

Design-led development takes advantage of proven design thinking methods to achieve an optimal user experience. The process spans the entire development lifecycle, is simple and easy to follow, and provides a solid basis for scaling design as a whole. It fosters unity between designers and developers, while ensuring that the needs of the end user are addressed at every step along the way. Learn more about design-led development below.

The Phases

Developing software is much more than just coding. It’s about putting the user first, from start to finish. In order to do that, it is critical that you first understand who your end user is. This is why the design-led development process begins with the discover phase. At this stage, you focus on understanding your customers, how they work, and what they need.

Only then do you move on to the design phase, and create the initial prototypes for development. After the develop activities, such as implementation and testing, your app is ready to deploy.

The main emphasis of the design-led development process is on the first two phases – discover and design. These two steps are just as important as developing the software itself!

The design-led development process
The design-led development process

Discover the Bigger Picture

Perhaps you already have a good idea of what your customers want and need, and what your end user’s tasks and challenges are. But what you really need is a holistic view of the business roles affected by your apps.

To do this, you will have to visit your customers at their location and speak to everyone involved. Organizing Design Thinking workshops with the different stakeholders are a great way to go about this. By the end of the Discover phase, you should have a clear understanding of all the business roles involved, and have gathered descriptions of the typical representatives for each role – also called “personas”. You should know what their typical tasks are, and what their sequence of activities looks like. With this information, you can develop initial ideas about how the app might work, gain a common understanding of the requirements, and get additional feedback from your end users.

Design to Delight

Once you are happy with the initial results of your discovery activities, you are ready to start the next phase – the design. Your app should be tailored to the constructed use case, which is based on the synthesized results from the Discover phase. Ideally, you have a multidisciplinary team to brainstorm, create a storyboard, and come up with a first prototype that you can validate with your end users.

Development can start once you have finished your initial design. During the development phase, you may still need to change some aspects of your design to incorporate ongoing user feedback, to optimize the app, or to allow for technical constraints.

When the app is first implemented and tested, the initial design might require further iterations and adaptations before you arrive at the final design and implementation.

Deploy a Great User Experience

Before you can deploy your app, you need to make sure that the final design and the implementation are perfectly synchronized. Deviations in the implementation of the final design will require release approval. During this phase, it is necessary to verify that the final implementation and design deliver the intended user experience to the targeted end users.

SAP offers a new and broad portfolio of UX design services that guide organizations and companies into a user-centered design perspective.

We help you define and execute the best UX strategy for your business using proven design methodologies such as Design Thinking and User-Centered Design.

Learn more about UX Design Services from SAP.

The App Lives On

Now that you have coded and delivered your app, you might want to know how it’s doing in the real world and if the end users really are happy. There are various ways to get user feedback, including interviews, site visits, and structured usability tests. For example, you might find out that you need to support other mobile devices, or even enhance some additional features.

At any step of the way, you can apply the same design-led development approach discussed here to plan new releases, support other platforms, incorporate additional user feedback, or meet new user requirements. And so the app lifecycle continues!

It’s A Team Effort

Many different people contribute to the development process. Typically, these include:

  • The product owner, an area expert who is usually responsible for the whole family of apps in that area.
  • The user researcher, who drives the end user research and artifact consolidation.
  • The user experience designer, who creates mockups, prototypes, and design specifications.
  • The software developer, who implements the design.
  • The info developer, who works on UI texts, terminology, and user assistance topics.
  • The quality expert, who sets up test activities and consolidates the results.

These are just the main roles. Depending on how you drive the process, you may need to extend this list.

Design Gates

In order to support SAP’s product teams throughout the design-led development process, the SAP Design team implements a concept called “design gates”. Design gates are a series of checkpoints along the way that serve to ensure that the design of our products is consistent, follow our design guidelines, and truly address the needs of our end users. These checks are conducted by UX experts who are not involved in the product development, but who can provide an impartial opinion. They provide consultation, guidance, and instructions on how to proceed along the design and development process and how to optimize the user experience of our products.

Mobile First

Creating a coherent and enjoyable user experience out of a complex business scenario can seem like a daunting task. One approach to this problem is to deconstruct the complexity by focusing on the essentials. “Mobile first” is a great way to facilitate this process.

What is Mobile First?

“Mobile first” means reimagining your approach to complexity by starting with the design of a simple mobile app.

Starting with the smallest and most limited device and later enhancing the app for larger, more powerful devices has many benefits. It implies having to deal with some level of restriction that will force you to find smart ways to reduce, aggregate, group, and default information.

This approach allows you to really focus on what’s important and can lead to amazing innovation in design.

Advantages

Build up, don’t tear down:  Instead of starting with the desktop design and stripping down the functionality for mobile scenarios, start with the smallest and most limited device and enhance the app for larger, more powerful devices later on. Because the mobile design embodies the core functionality, the “mobile first” approach allows you to focus on enhancement rather than degradation.

Think ahead: Mobile devices also offer unique capabilities, such as sensors, cameras, and voice recognition, which are not always available on desktop devices. By starting with mobile design, it is easier to factor in these additional capabilities from the start instead of plugging them in later.

Improve the user experience: Thinking “mobile first” helps you stay close to the user’s context. For example, network availability and signal strength can be unreliable in mobile scenarios. Giving users the option to continue working offline can therefore be the key to user satisfaction. More importantly, ensuring a seamless experience across different device types is a critical element of business process optimization.

With SAP Fiori, we embrace this design approach as a way to fundamentally redefine the business experience.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design. 

Elements and Controls

Implementation

  • No links

Get Started

Learn how to create simple and delightful SAP Fiori apps

Explore the basics of SAP Fiori

Design Principles

The design principles are the heart of SAP Fiori. Learn how to apply them to your SAP Fiori apps.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

SAP Fiori Launchpad Home Page

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Grid Layout

Find out about the grid layout that underlies every SAP Fiori app.

Form Factors

Discover the two form factors: cozy and compact.

Navigation

Navigation in SAP Fiori follows standard navigation paradigms of various web applications.

Discover the app content model

Page Layouts (Floorplans)

Take a look at the 'full screen' and 'split screen' page layouts.

Floorplans

Familiarize yourself with the floorplans for SAP Fiori apps.

Get to know SAP Fiori UI elements

'Explore' Page

Get an overview of all the UI elements, floorplans, and app types available for SAP Fiori.

UI Element: Toolbar

The toolbar enables users to change the UI or trigger an action. It is one of the most important elements in SAP Fiori.

UI Element: Chart

Charts are used to display quantitative information. They give the user access to key information contained in structured data records.

Design your SAP Fiori app

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Get Started

Learn how to create simple and delightful SAP Fiori apps

Explore the basics of SAP Fiori

Design Principles

The design principles are the heart of SAP Fiori. Learn how to apply them to your SAP Fiori apps.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

SAP Fiori Launchpad Home Page

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Grid Layout

Find out about the grid layout that underlies every SAP Fiori app.

Form Factors

Discover the two form factors: cozy and compact.

Navigation

Navigation in SAP Fiori follows standard navigation paradigms of various web applications.

Discover the app content model

Page Layouts (Floorplans)

Take a look at the 'full screen' and 'split screen' page layouts.

Floorplans

Familiarize yourself with the floorplans for SAP Fiori apps.

Get to know SAP Fiori UI elements

'Explore' Page

Get an overview of all the UI elements, floorplans, and app types available for SAP Fiori.

UI Element: Toolbar

The toolbar enables users to change the UI or trigger an action. It is one of the most important elements in SAP Fiori.

UI Element: Chart

Charts are used to display quantitative information. They give the user access to key information contained in structured data records.

Design your SAP Fiori app

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Get Started

Learn how to create simple and delightful SAP Fiori apps

Explore the basics of SAP Fiori

Design Principles

The design principles are the heart of SAP Fiori. Learn how to apply them to your SAP Fiori apps.

Responsiveness

SAP Fiori apps work on a multitude of devices. Check out SAP Fiori's focus on responsive and adaptive design.

SAP Fiori Launchpad Home Page

The SAP Fiori launchpad is the main entry point to SAP Fiori apps on mobile and desktop devices.

Grid Layout

Find out about the grid layout that underlies every SAP Fiori app.

Form Factors

Discover the two form factors: cozy and compact.

Navigation

Navigation in SAP Fiori follows standard navigation paradigms of various web applications.

Discover the app content model

Page Layouts (Floorplans)

Take a look at the 'full screen' and 'split screen' page layouts.

Floorplans

Familiarize yourself with the floorplans for SAP Fiori apps.

App Types

SAP Fiori supports a variety of app types. Take a look at some of the basic patterns.

Get to know SAP Fiori UI elements

'Explore' Page

Get an overview of all the UI elements, floorplans, and app types available for SAP Fiori.

UI Element: Toolbar

The toolbar enables users to change the UI or trigger an action. It is one of the most important elements in SAP Fiori.

UI Element: Chart

Charts are used to display quantitative information. They give the user access to key information contained in structured data records.

Design your SAP Fiori app

Design Stencils

Download the design stencils and start designing your own SAP Fiori app.

SAP Icon Font

Download and install the SAP icon font to create true-to-life mockups.

SAP User Experience Community

Ask design-related questions and post your design ideas in our discussion forum.

Mobile First

Creating a coherent and enjoyable user experience out of a complex business scenario can seem like a daunting task. One approach to this problem is to deconstruct the complexity by focusing on the essentials. “Mobile first” is a great way to facilitate this process.

What is Mobile First?

“Mobile first” means reimagining your approach to complexity by starting with the design of a simple mobile app.

Starting with the smallest and most limited device and later enhancing the app for larger, more powerful devices has many benefits. It implies having to deal with some level of restriction that will force you to find smart ways to reduce, aggregate, group, and default information.

This approach allows you to really focus on what’s important and can lead to amazing innovation in design.

Advantages

Build up, don’t tear down:  Instead of starting with the desktop design and stripping down the functionality for mobile scenarios, start with the smallest and most limited device and enhance the app for larger, more powerful devices later on. Because the mobile design embodies the core functionality, the “mobile first” approach allows you to focus on enhancement rather than degradation.

Think ahead: Mobile devices also offer unique capabilities, such as sensors, cameras, and voice recognition, which are not always available on desktop devices. By starting with mobile design, it is easier to factor in these additional capabilities from the start instead of plugging them in later.

Improve the user experience: Thinking “mobile first” helps you stay close to the user’s context. For example, network availability and signal strength can be unreliable in mobile scenarios. Giving users the option to continue working offline can therefore be the key to user satisfaction. More importantly, ensuring a seamless experience across different device types is a critical element of business process optimization.

With SAP Fiori, we embrace this design approach as a way to fundamentally redefine the business experience.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design. 

Elements and Controls

Implementation

  • No links

Mobile First

Creating a coherent and enjoyable user experience out of a complex business scenario can seem like a daunting task. One approach to this problem is to deconstruct the complexity by focusing on the essentials. “Mobile first” is a great way to facilitate this process.

What is Mobile First?

“Mobile first” means reimagining your approach to complexity by starting with the design of a simple mobile app.

Starting with the smallest and most limited device and later enhancing the app for larger, more powerful devices has many benefits. It implies having to deal with some level of restriction that will force you to find smart ways to reduce, aggregate, group, and default information.

This approach allows you to really focus on what’s important and can lead to amazing innovation in design.

Advantages

Build up, don’t tear down:  Instead of starting with the desktop design and stripping down the functionality for mobile scenarios, start with the smallest and most limited device and enhance the app for larger, more powerful devices later on. Because the mobile design embodies the core functionality, the “mobile first” approach allows you to focus on enhancement rather than degradation.

Think ahead: Mobile devices also offer unique capabilities, such as sensors, cameras, and voice recognition, which are not always available on desktop devices. By starting with mobile design, it is easier to factor in these additional capabilities from the start instead of plugging them in later.

Improve the user experience: Thinking “mobile first” helps you stay close to the user’s context. For example, network availability and signal strength can be unreliable in mobile scenarios. Giving users the option to continue working offline can therefore be the key to user satisfaction. More importantly, ensuring a seamless experience across different device types is a critical element of business process optimization.

With SAP Fiori, we embrace this design approach as a way to fundamentally redefine the business experience.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design. 

Elements and Controls

Implementation

  • No links

Multi-Device Support: Responsive vs. Adaptive

For our typical users who work on-the-go, the ability to switch between desktop and mobile devices is critical. As users increasingly come to expect consistent performance and a coherent look and feel across their devices, how can we make sure that we deliver a great user experience with our Fiori apps? The answer is through responsive and adaptive design.

Responsive and adaptive design allow Fiori apps to run on desktop, tablets, smartphones, and hybrid devices. As users switch across devices, our apps automatically accommodate the resolution, image size, and scripting. This way, our users can work how and where they want, regardless of device.

Responsive Design

One of the most compelling factors of SAP Fiori is that our applications need to be developed, configured and maintained only once for all changes to become effective across all devices. This way, the end user gets a consistent experience no matter which device he or she uses. SAPUI5 makes responsive design easy by offering a wide range of UI controls that automatically adjust to different form factors and interaction styles. Additionally, SAPUI5 lets you adjust the size of the controls to match the type of interaction (such as touch device or keyboard/mouse). The advantage of responsive design is that apps can adjust to different screen sizes without requiring additional coding and maintenance efforts.

Adaptive Design

There are certain use cases where a responsive approach may not be appropriate. For instance, you would probably prefer to enter large amounts of data on your desktop. At the same time, you may only want to view the data you entered or perhaps enter a small subset of data on your tablet or smartphone. In such cases, it makes sense to design for different devices and adapt the complexity of the uses case according to the specific device. This is what we call adaptive design. This approach requires app developers to manually define specific designs for the different form factors. It means slightly more effort, but also allows for more targeted support of device-specific use cases.

Examples of Responsive Design

The following 3 example shows how a standard list report floorplan would translate to different devices in a (semi)responsive way.

For these examples, the following responsive design concepts apply:

  • Content density: Compact content density mode is activated on desktop mode. On touch devices, the finger-friendly cozy mode is activated. Read more about content density.
  • Filters: On a desktop, the filter fields are fully displayed. On a tablet, the filter bar should be collapsed as default, so that users can work either with the filter dialog or with variants. Read more about filters.
  • Table settings: While the grid-based analytical table runs perfectly on desktop and tablet, this would not be an option on a smartphone. Instead, it would need to be replaced by a responsive table. Read more about tables.
(1) Example of a list report floor plan on a desktop device. The filter bar and the analytical table are fully displayed. This allows the user to interact with a large set of data and run complex analyses.
(1) Example of a list report floor plan on a desktop device. The filter bar and the analytical table are fully displayed. This allows the user to interact with a large set of data and run complex analyses.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls are increased to allow for interaction by touch. The number of rows on the analytical table are reduced, and the filter bar fields are hidden.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls are increased to allow for interaction by touch. The number of rows on the analytical table are reduced, and the filter bar fields are hidden.
(3) The same application now displayed on a smartphone. In this version, the filter bar is automatically removed from the filter area. Here, the responsive table is also required, which must be set manually.
(3) The same application now displayed on a smartphone. In this version, the filter bar is automatically removed from the filter area. Here, the responsive table is also required, which must be set manually.

Examples of Adaptive Design

The following 3 examples show how the same application as the one above is optimized to individual device types using an adaptive approach:

For these examples, the following adaptive design concepts apply:

  • Dynamic side content: To make better use of the desktop’s widescreen, the first example uses a dynamic side content panel to display some aggregated visualization alongside with the main table content. This is optional and can be hidden when the page is resized. Read more about dynamic side content.
  • Responsive controls: To improve readability, the tablet version makes use of the responsive table to reformat the content displayed inside the table. Read more about the responsive table.
  • Reduced complexity: To avoid displaying a table with large amounts of data on a small screen, the smartphone version is restricted to displaying the aggregates that were previously shown as auxiliary to the desktop version. This gives the user an idea of the overall situation, while leaving out the complex details.
(1) Example of a list report floorplan on a desktop. This desktop-optimized version makes use of the widescreen to display additional aggregated information on the right side of the screen.
(1) Example of a list report floorplan on a desktop. This desktop-optimized version makes use of the widescreen to display additional aggregated information on the right side of the screen.
(2) The same application adapted to the screen size of a tablet. This version makes use of the responsive table, reformatting content to improve readability. The option for the end user to edit the data has been removed because this would not be practical on a tablet.
(2) The same application adapted to the screen size of a tablet. This version makes use of the responsive table, reformatting content to improve readability. The option for the end user to edit the data has been removed because this would not be practical on a tablet.
(3) The same application now displayed on a smartphone. Due to the small screen size, only aggregated data is displayed.
(3) The same application now displayed on a smartphone. Due to the small screen size, only aggregated data is displayed.

Implementation

Think “mobile first”: Starting with mobile design first helps you stay focused. Begin with the core functionality and progressively enhance features when moving to larger devices.

  • If you are using desktop controls, replace them with responsive controls when running on a mobile device. You can still use the sap.ui.table library. However, we do not recommend using the sap.ui.commons library.
  • If you are using the ALV (analytical table), replace it with the responsive table (sap.m) or another specific solution for the use case (for example, charts, texts, and KPIs).

Use responsive controls: Most SAPUI5 controls are based on mobile controls. This means that they work on touch devices, or with a mouse and keyboard.

Properly configure the controls: Follow the guidelines to configure the responsive settings for the different controls.

Use the correct size settings: Set your apps to “large” on touch devices and to “medium” for devices operated by mouse or keyboard.

Use responsive layouts: There are several layout options available, which allow you to adjust to different sizes.

Use letterboxing: Many of the worklist apps do not have much content. By letterboxing them (restricting their width to a maximum of 1280 px), you can optimize the layout of the app and achieve a more compact look.

Too many functions? If the desktop app has too much functionality and is too complex to be used on a tablet or smartphone, you might have to switch off some functionality on your mobile device:

  • Hide editing functionality and focus on display
  • Hide functions from toolbar
  • Hide alternative columns and views in tables

Summary and Quick Guidelines

  • SAP Fiori apps must be able to run on all three major device types: desktop, tablet, and smartphone.
  • If app functionality and information can be offered equally on all device types, responsive methods should be used to automatically adjust the app.
  • If app functionality and/or information cannot be offered unaltered on different device types (due to the use case, the available screen real estate, or the device capabilities), the app should be adjusted manually according to device-specific requirements.
  • Adaptive and responsive methods can be mixed.

Multi-Device Support: Responsive vs. Adaptive

For our typical users who work on-the-go, the ability to switch between desktop and mobile devices is critical. As users increasingly come to expect consistent performance and a coherent look and feel across their devices, how can we make sure that we deliver a great user experience with our Fiori apps? The answer is through responsive and adaptive design.

Responsive and adaptive design allow Fiori apps to run on desktop, tablets, smartphones, and hybrid devices. As users switch across devices, our apps automatically accommodate the resolution, image size, and scripting. This way, our users can work how and where they want, regardless of device.

Responsive Design

One of the most compelling factors of SAP Fiori is that our applications need to be developed, configured and maintained only once for all changes to become effective across all devices. This way, the end user gets a consistent experience no matter which device he or she uses. SAPUI5 makes responsive design easy by offering a wide range of UI controls that automatically adjust to different form factors and interaction styles. Additionally, SAPUI5 lets you adjust the size of the controls to match the type of interaction (such as touch device or keyboard/mouse). The advantage of responsive design is that apps can adjust to different screen sizes without requiring additional coding and maintenance efforts.

Adaptive Design

There are certain use cases where a responsive approach may not be appropriate. For instance, you would probably prefer to enter large amounts of data on your desktop. At the same time, you may only want to view the data you entered or perhaps enter a small subset of data on your tablet or smartphone. In such cases, it makes sense to design for different devices and adapt the complexity of the uses case according to the specific device. This is what we call adaptive design. This approach requires app developers to manually define specific designs for the different form factors. It means slightly more effort, but also allows for more targeted support of device-specific use cases.

Examples of Responsive Design

The following 3 example shows how a standard list report floorplan would translate to different devices in a (semi)responsive way.

For these examples, the following responsive design concepts apply:

  • Content density: Compact content density mode is activated on desktop mode. On touch devices, the finger-friendly cozy mode is activated. Read more about content density.
  • Filters: On a desktop, the filter fields are fully displayed. On a tablet, the filter bar should be collapsed as default, so that users can work either with the filter dialog or with variants. Read more about filters.
  • Table settings: While the grid-based analytical table runs perfectly on desktop and tablet, this would not be an option on a smartphone. Instead, it would need to be replaced by a responsive table. Read more about tables.
(1) Example of a list report floor plan on a desktop device. The filter bar and the analytical table are fully displayed. This allows the user to interact with a large set of data and run complex analyses.
(1) Example of a list report floor plan on a desktop device. The filter bar and the analytical table are fully displayed. This allows the user to interact with a large set of data and run complex analyses.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls are increased to allow for interaction by touch. The number of rows on the analytical table are reduced, and the filter bar fields are hidden.
(2) The same application, this time adapted to the screen size of a tablet. The size of the controls are increased to allow for interaction by touch. The number of rows on the analytical table are reduced, and the filter bar fields are hidden.
(3) The same application now displayed on a smartphone. In this version, the filter bar is automatically removed from the filter area. Here, the responsive table is also required, which must be set manually.
(3) The same application now displayed on a smartphone. In this version, the filter bar is automatically removed from the filter area. Here, the responsive table is also required, which must be set manually.

Examples of Adaptive Design

The following 3 examples show how the same application as the one above is optimized to individual device types using an adaptive approach:

For these examples, the following adaptive design concepts apply:

  • Dynamic side content: To make better use of the desktop’s widescreen, the first example uses a dynamic side content panel to display some aggregated visualization alongside with the main table content. This is optional and can be hidden when the page is resized. Read more about dynamic side content.
  • Responsive controls: To improve readability, the tablet version makes use of the responsive table to reformat the content displayed inside the table. Read more about the responsive table.
  • Reduced complexity: To avoid displaying a table with large amounts of data on a small screen, the smartphone version is restricted to displaying the aggregates that were previously shown as auxiliary to the desktop version. This gives the user an idea of the overall situation, while leaving out the complex details.
(1) Example of a list report floorplan on a desktop. This desktop-optimized version makes use of the widescreen to display additional aggregated information on the right side of the screen.
(1) Example of a list report floorplan on a desktop. This desktop-optimized version makes use of the widescreen to display additional aggregated information on the right side of the screen.
(2) The same application adapted to the screen size of a tablet. This version makes use of the responsive table, reformatting content to improve readability. The option for the end user to edit the data has been removed because this would not be practical on a tablet.
(2) The same application adapted to the screen size of a tablet. This version makes use of the responsive table, reformatting content to improve readability. The option for the end user to edit the data has been removed because this would not be practical on a tablet.
(3) The same application now displayed on a smartphone. Due to the small screen size, only aggregated data is displayed.
(3) The same application now displayed on a smartphone. Due to the small screen size, only aggregated data is displayed.

Implementation

Think “mobile first”: Starting with mobile design first helps you stay focused. Begin with the core functionality and progressively enhance features when moving to larger devices.

  • If you are using desktop controls, replace them with responsive controls when running on a mobile device. You can still use the sap.ui.table library. However, we do not recommend using the sap.ui.commons library.
  • If you are using the ALV (analytical table), replace it with the responsive table (sap.m) or another specific solution for the use case (for example, charts, texts, and KPIs).
  • For additional information, see: Mobile First.

Use responsive controls: Most SAPUI5 controls are based on mobile controls. This means that they work on touch devices, or with a mouse and keyboard.

Properly configure the controls: Follow the guidelines to configure the responsive settings for the different controls.

Use the correct size settings: Set your apps to “large” on touch devices and to “medium” for devices operated by mouse or keyboard.

Use responsive layouts: There are several layout options available, which allow you to adjust to different sizes.

Use letterboxing: Many of the worklist apps do not have much content. By letterboxing them (restricting their width to a maximum of 1280 px), you can optimize the layout of the app and achieve a more compact look.

Too many functions? If the desktop app has too much functionality and is too complex to be used on a tablet or smartphone, you might have to switch off some functionality on your mobile device:

  • Hide editing functionality and focus on display
  • Hide functions from toolbar
  • Hide alternative columns and views in tables

Summary and Quick Guidelines

  • SAP Fiori apps must be able to run on all three major device types: desktop, tablet, and smartphone.
  • If app functionality and information can be offered equally on all device types, responsive methods should be used to automatically adjust the app.
  • If app functionality and/or information cannot be offered unaltered on different device types (due to the use case, the available screen real estate, or the device capabilities), the app should be adjusted manually according to device-specific requirements.
  • Adaptive and responsive methods can be mixed.

Grid Layout

SAP Fiori utilizes a measuring system using the ‘rem’ unit, which stands for ‘root em’. A base size of 16 pixels defines 1 rem unit. The unit allows you to maintain consistent and predictable sizing and zooming in all browsers.

SAP Fiori UI elements are based on a 1 x 1 rem (16 x 16 px) flexible layout grid system that takes into account a comfortable touch area of 3 x 3 rem for cozy touchable controls. It also caters for compact sized controls that are displayed on desktop screens.

The system is responsive and works across all devices. The touchable area can be larger than the UI element it relates to. Please always consider this when designing web apps that work on both desktop and mobile devices.

For more information about the cozy and compact formats, see the content density article.

Responsive Grid

The responsive grid positions UI elements in a 12-column flow layout. It can be configured to display a variable number of columns depending on available screen size. With this control, it is possible to achieve flexible layouts and line breaks for large, medium, and small-sized screens, such as desktop, tablet, and mobile.

Responsive grid control
Responsive grid control

Grid Layout

SAP Fiori has embraced the new measuring system using the ‘rem’ unit, which stands for ‘root em’. A base size of 16 pixels defines 1 rem unit. The unit allows you to maintain consistent and predictable sizing and zooming in all browsers.

SAP Fiori UI elements are based on a 1 x 1 rem (16 x 16 px) flexible layout grid system that takes into account a comfortable touch area of 3 x 3 rem. The system is responsive and works across all touch devices. The touchable area can be larger than the UI element it relates to. Please always consider this when designing web apps that work on both desktop and mobile devices.

Example of 1 rem (16 px) grid and control examples with 3 rem touch area
Example of 1 rem (16 px) grid and control examples with 3 rem touch area

Responsive Grid

The responsive grid positions UI elements in a 12-column flow layout. It can be configured to display a variable number of columns depending on available screen size. With this control, it is possible to achieve flexible layouts and line breaks for large, medium, and small-sized screens, such as desktop, tablet, and mobile.

Responsive grid control
Responsive grid control

Typography

SAP Fiori uses a set of sans-serif system fonts. Our font stack in CSS includes Arial, Helvetica, and Roboto for Android. These fonts are available for all languages supported by SAP Fiori.

Using these timeless fonts ensures that the fresh, clean, and minimalist style of SAP Fiori is carried over across all SAP Fiori apps. Their design also works well across all browsers, devices, and platforms.

The font stack comes with a full unicode solution for special characters. Since the typography is integrated into the control set, customization is easy.

Aa
Aa
Aa

Basic font styles
28px
1.75rem
Header 1
22px
1.375rem
Header 2
20px
1.25rem
Header 3
18px
1.125rem
Header 4
16px
1rem
Header 5
14px
0.875rem
Header 6
Headline sizes
16px
1rem
Large Text
14px
0.875rem
Medium Text
12px
0.75rem
Small Text
General font sizes

Typography

SAP Fiori uses a set of sans-serif system fonts. Our font stack in CSS includes Arial, Helvetica, and Roboto for Android. These fonts are available for all languages supported by SAP Fiori.

Using these timeless fonts ensures that the fresh, clean, and minimalist style of SAP Fiori is carried over across all SAP Fiori apps. Their design also works well across all browsers, devices, and platforms.

The font stack comes with a full unicode solution for special characters. Since the typography is integrated into the control set, customization is easy.

Aa
Aa
Aa

Basic font styles
28px
1.75rem
Header 1
22px
1.375rem
Header 2
20px
1.25rem
Header 3
18px
1.125rem
Header 4
16px
1rem
Header 5
14px
0.875rem
Header 6
Headline sizes
16px
1rem
Large Text
14px
0.875rem
Medium Text
12px
0.75rem
Small Text
General font sizes

Iconography

SAP icons have been created with a friendly, yet elegant style that is consistent in terms of size, stroke and balance. The icons are tailored for simple and direct user interaction, using metaphors that are easy to understand. Each icon has been hand-crafted, hand-hinted, and aligned in font format. The icons are essentially vector graphics which can be resized easily without compromising their appearance.

Vector based icons drawn with a flexible geometric grid system
Vector based icons drawn with a flexible geometric grid system

Design Language

The design language for icons used within SAP products is created to work across all supported browsers, devices and operating systems. The style can be described as:

  • Simple
  • Fresh
  • Serious
  • Neutral

This approach is meant to communicate the simplicity, sophistication, and integrity represented by SAP solutions. The style integrates basic geometric shapes in order to give a more prominent appearance.

Icon Formats

Icons can be supported in multiple file formats. However, SAPUI5 delivers icons as font format by default. The SAP icon font contains multiple icons in one file with a small file size and allows the convenience of updates that can be delivered with each SAPUI5 release. Custom icons can even replace the SAP icon font if an alternative format or style is desired. Additional icon font files can also be added to the SAPUI5 icon pool.

For more information on custom icons, see OpenUI5 development information.

Icon Semantics

Icon semantics are used to define a set of visual elements that indicate functions, objects, and states for iconographic communication.

Finding the right visual semantic to indicate a consistent meaning to the user is based on the following essentials:

  • Taking inspiration from the real world.
    An icon should be easily recognized by a user. (Note that this does not imply skeuomorphism.)
  • Making use of context.
    The context of an icon contributes to its meaning.
    A semantic element can have different meanings for the user depending on where it’s located, such as within different labels.
  • Using clear, simple, and recognizable shapes.
    For accessibility reasons, visual elements should be drawn as clear shapes and should not rely upon colors or other means in order to be recognized.
  • Adhering to interaction design standards throughout the graphical user interface.
Simple and recognizable metaphor
Simple and recognizable metaphor

The Geometric Icon Grid System

The simple geometric icon grid was created as the foundational anatomy of the icons. This ensures visual balance concerning circles and squares and brings the needed consistency and stability of the shapes that form the structure of the icon metaphors.

The anatomy of the geometric icon grid system
The anatomy of the geometric icon grid system

A Closer Look at 16px Icons

Here is a closer look at how icons are designed using the grid system:

  • Circles: 16x16px.
  • Squares: 14x14px within a 16px grid.
  • Vertical Rectangles: 16x12px within a 16px grid.
  • Horizontal Rectangles: 14x12px within a 16px grid.
Details of 16px icons based on the icon grid system
Details of 16px icons based on the icon grid system

A Closer Look at 32px Icons

If the icons are scaled up to 32px, the measurements and details will look as following:

  • Circles: 32x32px.
  • Squares: 28x28px within a 32px grid.
  • Vertical Rectangles: 32x24px within a 32px grid.
  • Horizontal Rectangles: 24x32px within a 32px grid.
Details of 32px icons based on the icon grid system.
Details of 32px icons based on the icon grid system.

Line Thickness and Border Radius

In general, the base vector size created for SAP icons is 16px for small icons (used for compact desktop mouse and keyboard optimized controls) and 22px for large icons (cozy sizes are touch optimized). Other listed sizes depend on individual control specifications.

At 16px, the main line thickness is 1px. This of course scales up to 2px at size 32px.

Example of supported (actual) sizes that are manually aligned within icon font formats.
Example of supported (actual) sizes that are manually aligned within icon font formats.

Arrow Styles – Thin

Arrows have been aligned throughout the icon-set to be lighter and a little rounder to remove the roughness from the user-interface controls.

Examples of thin arrows include: dropdown arrow, refresh, sort, and more.
Thin arrows are drawn with 1px line thickness at 16px with a 1px border radius.

Thin arrow style
Thin arrow style

Arrow Styles – Emphasized

This is an emphasized arrow style that caters for additional affordance in the user interface and adheres to the simple clean style.
Examples of arrows include: navigation, expand, move, and more.

Emphasized arrows are drawn with 2px line thickness at 16px with a 1px border radius.

Emphasized arrow style
Emphasized arrow style

Border Radius – Regular

The subtle border radius helps to reduce rough edges and gives a friendly appearance.
A border radius that is 1px at size 16px will naturally scale up to 2px at size 32px.

Line thickness and border radius
Line thickness and border radius

Border Radius – Emphasized

Comment or notification style icons and speech bubbles have an emphasized border radius to help distinguish them.

The overall style is consistent with all other icons, However, a small distinguishing feature such as a border radius increase can help a subset of symbols to stand out from the rest. The change in border radius impacts the grid system structure. This is an example of how flexible the grid system can be.

A border radius that is 2px at size 16px will scale up to 4px at size 32px.

Emphasized border radius achieved with a flexible grid system
Emphasized border radius achieved with a flexible grid system

SAP Icon Font

SAP icon font is available also as part of OpenUI5.

Resources

Want to dive deeper? Follow the links below to find out more about iconography.

OpenUI5 Icons and Icon Pool

Find out more about the icons in OpenUI5.

OpenUI5 Icon Explorer

Explore icons in SAP Fiori with OpenUI5.

Iconography

Unlike images of icons, the icon font is fully customizable with CSS. Therefore, different themes can be applied.

Customizable icons
Customizable icons

SAP Icon Font

More than 500 scalable pictograms are available in SAP’s illustrative style. The icons are tailored for simple and direct user interaction, using metaphors that are easy to understand. Each icon has been hand-crafted, hand-hinted, and aligned. The hinting process ensures that the icons always look crisp and clear, regardless of the screen resolution.

The icons are essentially vector graphics. They can be resized easily without compromising their appearance. Using custom unicode character mapping, the SAP icon font is also regularly reviewed and updated to meet the standards of SAP Fiori apps. And naturally, the icon font is compatible with all browsers and platforms.

Customizable icons
Customizable icons

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

SAP ICON FONT

Icons in SAP Fiori are provided by the SAP icon font. You can download it here and find further information.

SAPUI5 ICON EXPLORER

This is a tool provided by SAPUI5 that allows you to search and browse the icon font by categories.

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. In earlier releases, letterboxing to 1024 px was automatically enforced in order to avoid distorting content. In later releases, letterboxing became an optional feature.

Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px
Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px

Today, we can easily adjust content to different screen sizes by using responsive layouts and controls. To account for the increased average screen sizes in our customers’ IT infrastructures, we have increased the letterboxing to 1280 px.

Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width

If you want to use letterboxing for an application, set the setAppWidthLimited property of the sap.m.shell to true.

Guidelines

Switch letterboxing ON if:

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and if stretching the app would lead to bad usability by distorting the content.

Switch letterboxing OFF if:

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.
Information
Apps should not mix letterboxing and full screen within one app. Moreover, if a user frequently navigates between two apps, avoid changing between letterboxing and full screen settings between the apps.

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. In earlier releases, letterboxing to 1024 px was automatically enforced in order to avoid distorting content. In later releases, letterboxing became an optional feature.

Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px
Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px

Today, we can easily adjust content to different screen sizes by using responsive layouts and controls. To account for the increased average screen sizes in our customers’ IT infrastructures, we have increased the letterboxing to 1280 px.

Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width

If you want to use letterboxing for an application, set the setAppWidthLimited property of the sap.m.shell to true.

Guidelines

Switch letterboxing ON if:

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and if stretching the app would lead to bad usability by distorting the content.

Switch letterboxing OFF if:

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.
Information
Apps should not mix letterboxing and full screen within one app. Moreover, if a user frequently navigates between two apps, avoid changing between letterboxing and full screen settings between the apps.

Letterboxing

In web design, it’s common practice to restrict the user interface to a certain width in order to preserve its original aspect ratio. This way, the interface does not become distorted or stretched when adapting to larger screen sizes.

If the screen is wider than the set width restriction, blank areas to the left and right of the user interface will appear. In many cases, these areas are used to display advertisements. This design element is called letterboxing because it restricts the user interface to a certain width similar to the shape of a classical letterbox.

SAP Fiori also offers letterboxing. In earlier releases, letterboxing to 1024 px was automatically enforced in order to avoid distorting content. In later releases, letterboxing became an optional feature.

Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px
Before SAPUI5 version 1.22, letterboxing was mandatory for all apps and was automatically set to 1024 px

Today, we can easily adjust content to different screen sizes by using responsive layouts and controls. To account for the increased average screen sizes in our customers’ IT infrastructures, we have increased the letterboxing to 1280 px.

Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can decide to make use of letterboxing which will automatically set to 1280 px
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width
Since SAPUI5 version 1.22, apps can also decide to switch off letterboxing to make use of the full screen width

If you want to use letterboxing for an application, set the setAppWidthLimited property of the sap.m.shell to true.

Guidelines

Switch letterboxing ON if:

  • You want to make the UI appear simple and focused.
  • There is too little content on the UI to require using the full width of the screen.
  • The content cannot respond to large differences in size, and if stretching the app would lead to bad usability by distorting the content.

Switch letterboxing OFF if:

  • A lot of information needs to be displayed. This will require the app to accommodate the content to all intermediate screen sizes in a graceful way.
  • The user needs to have as much content as possible on the screen without having to scroll. This has to be handled carefully as it can create a crowded and messy appearance.
Information
Apps should not mix letterboxing and full screen within one app. Moreover, if a user frequently navigates between two apps, avoid changing between letterboxing and full screen settings between the apps.

Colors

Color plays a significant role in SAP Fiori. Color communicates importance and association, and provides direction to users.

Color Balance

Color balance refers to the recommended mixture of light and dark, colored and non-colored areas of any SAP Fiori app interface.

Approaching the ideal color balance for each page creates a visual rhythm throughout the application. It also helps to draw the user’s attention to the most important information and functions. Furthermore, it promotes a distinct and consistent look and feel throughout all SAP Fiori apps.

Color balance (considering dark and light UIs)
Color balance (considering dark and light UIs)

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The primary colors represent the overall look and feel.

SAP Fiori Standard Theme Primary Colors

Global Dark Base

#3F5161
RGB 63/81/97

Brand / Highlight

#427CAC
RGB 66/124/172

Brand / Highlight

Dark Theme
#91C8F6
RGB 145/200/246

Global Light Base

#EFF4F9
RGB 239/244/249

Background

#EBEBEB
RGB 250/250/250

SAP Fiori Launchpad Gradients

Top

 Dark Theme
#2C4E6C
RGB 44/78/108

Bottom

 Dark Theme
#9EC7D8
RGB 158/199/216

Top

 Light Theme
#A9C6DE
RGB 169/198/222

Bottom

Light Theme
#E7ECF0
RGB 231/236/240

Semantic Colors

Semantic colors can be used to represent negative, critical, positive and neutral status.

Light Theme Flavor

Negative

#BB0000
RGB 187/0/0

Critical

#E78C07
RGB 231/140/7

Positive

#2B7D2B
RGB 43/125/43

Neutral

#5E696E
RGB 94/105/110

Dark Theme Flavor

Negative

#FF8888
RGB 255/136/136

Critical

#FABD64
RGB 250/189/100

Positive

#ABE2AB
RGB 171/226/171

Neutral

#D3D7D9
RGB 211/215/217

Accent Colors

Accent colors can be applied to accentuate important elements. They make a vivid contribution to the overall UI and should be used sparingly.

#E09D00
RGB 224/157/0

#E6600D
RGB 230/96/13

#C14646
RGB 193/70/70

#AB218E
RGB 171/33/142

#678BC7
RGB 103/139/199

#0092D1
RGB 0/146/209

#1A9898
RGB 26 152 152

#759421
RGB 117/148/33

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. While darker gray shades are primarily used for texts.

#333333
RGB 51/51/51

#666666
RGB 102/102/102

#BFBFBF
RGB 191/191/191

#CCCCCC
RGB 204/204/204

#E5E5E5
RGB 229/229/229

#FFFFFF
RGB 255/255/255

Colors

Color plays a significant role in SAP Fiori. Color communicates importance and association, and provides direction to users.

Color Balance

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. White and the light grays are mainly used for areas in the background or for borders. While darker gray shades are primarily used for texts.

Primary Colors

The recommended primary colors leverage the uniqueness of SAP Fiori apps. The standard theme colors are chosen to work with the SAP semantic color palettes.

Brand Blue

#009DE0
RGB 0/157/224

Highlight Blue

#007CC0
RGB 0/124/192

Deep Gray

#363E43
RGB 54/62/67

White

#FFFFFF
RGB 255/255/255

Light Gray

#F2F2F2
RGB 242/242/242

Medium Gray

#E5E5E5
RGB 229/229/229

Accent Colors

You can use accent colors to highlight or decorate individual elements. They make a vivid contribution to the overall UI and should be used sparingly.

#F0AB00
RGB 240/171/0

#007CC0
RGB 0/124/192

#AB218E
RGB 171/33/142

#004990
RGB 0/73/144

Grayscale

Grayscale areas play an important role in any SAP Fiori user interface. They minimize the risk of over-stimulation and foster simplicity. You should mainly use white and light grays for background areas or borders, and use darker gray shades primarily for texts.

#FFFFFF
RGB 255/255/255

#F7F7F7
RGB 247/247/247

#F2F2F2
RGB 242/242/242

#E5E5E5
RGB 229/229/229

#CCCCCC
RGB 204/204/204

#BFBFBF
RGB 191/191/191

#999999
RGB 153/153/153

#666666
RGB 102/102/102

#333333
RGB 51/51/51

#000000
RGB 0/0/0

Animation

Warning
This article was written for an earlier guideline release, and may contain outdated content. An update is in progress. If you have any questions in the meantime, please post them in our SAP User Experience Community forum. Thank you!

In SAP Fiori, animations are used to emphasize actions, provide orientation, and help users to perform actions by providing transitions and additional multiple actions. The aim is to improve the overall user experience.

Responsiveness

The same transitions (swipes, drop effects, and dissolve effects) are used for all devices and screen sizes.

Types

Curves

Timing : To focus the user’s attention on certain objects, changes in acceleration or deceleration should be smooth during an animation. The variation in speed gives motion a personality and an aesthetic look, thus avoiding monotonous linear movement.

Smooth acceleration showing change in motion curves
Smooth acceleration showing change in motion curves
AVOID linear acceleration and timing
AVOID linear acceleration and timing
Example of correct timing for any motion inside SAP Fiori
Example of correct timing for any motion inside SAP Fiori

This reference can be applied to all kinds of translations (transitions), rotation, and scaling done to any object in SAP Fiori.

Normally we use: EaseIn-Out and to add more detail it is possible to implement the following functions:

easeInExpo, easeOutExpo, easeInOutExpo, easeInSine, easeOutSine, easeInOutSine, easeInQuead, easeOutQuead, easeInOutQuead, easInCubic, easOutCubic, easInOutCubic, easInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint.

 

In SAP Fiori, we differentiate between three animation types: transitions, interactive motions, and functional animations.

Transitions

These help the user to remain oriented while navigating through the user interface. The user gets a sense of moving along a path. To keep this metaphor alive, a new screen always needs to appear from the right, while backwards navigation brings in the old screen from the left.

Interactive Motions

These are driven by the user and enhance the user experience by giving responsive feedback through motion. They are objects that move or change shape on the screen, such as to indicate a loading process. Interactive motions tell the user that something is happening. For example, a change in the state of a button helps the user understand that the system is reacting to the user’s input.

Functional Animations

Is the tool that serves a design concept that follows a clear and logical propose as it’s only goal.

Orientation Focus on the direction and structure according to the page layout.  (e.g. Navigation) Purpose: Avoid surprising actions and transitions and orient the user.

Same Location, New Action  Used when the space is limited and when a new functionality changed under certain conditions. (e.g. Action buttons) Purpose: show that a function changed to a different state)

Zoom Selected as a visual clue to expand or relocate an object to a prominent position. (e.g. Click on a Image inside a gallery) Purpose: Associate an low definition object or a thumbnail with its detailed or high definition view.

Visual Hints  Assist users to better understand how to interact with a product’s interface. It is especially needed in designs that contain an unconventional object or a unique navigation method. (e.g.Quick tour in a first installed app and shows how certain functionality in the design operates, so a first time animation is displayed the “how to”) Purpose: Explain unconventional functionality or a hidden action.

Highlight  Applied in case of a noisy layout or multiple visual content. Motion is used to bring the element to a higher level, directing the attention to this action. (e.g. add an item to the shopping cart inside a crowded page full of items) Purpose: Attract the user’s attention, and move the object above a noisy layout.

Simulation or Customized animations,  when a simple motion doesn’t describe what the user wants, simulation is needed just for special cases. In Fiori it is common to achieve this due to the complexity of its functionality and the quantity of controls, so it is possible to differentiate each one of them. (e.g horizontal wipe transitions to other sections in Fiori home screen )  Purpose: Simulate topics that are different and somehow hard to demonstrate.

Visual Feedback  Buttons, controls and objects respond to interaction. This topic can be confused with the previous themes but the difference of this particular animation ends by being extremely subtle and very well thought, always constrained to just show and minimal interaction. (e.g. a simple rollover button mostly for mobile experience) Purpose: Acknowledge the user’s action.

System Status  Implemented to show control and understanding the current context in the system at any time.  Indicates when a process has initiated, in progress and terminated. (e.g. Loading page bar) Purpose: Sense of control in a linear time process.

Marketing Functional animation can be used to promote brand’s value or product’s behavior, as an effective way to sell or to be recognize in the market. The difference is based in the freedom to experiment with graphics and visual styles (e.g. skype logo animation) Purpose: Support a company’s brand values and product’s strengths.

Behavior and Interaction

There are different animations in SAP Fiori. Starting an app from the launchpad requires a different transition than navigating within an app. An overview of all animations in SAP Fiori is shown below.

Launch App

When an app is launched, maintain the following choreography:

  1. Launchpad: The user clicks or taps a tile on the home page.
  2. Launchpad loading: The launchpad gets a white, semitransparent overlay and a flower-like “waiting” indicator.
  3. App: When the app has been loaded, the overlay is removed.

When the app screen becomes visible, there should be no animations or transitions after the SAP Fiori flower.

Load your app until the app structure is complete and you have reached a point where users understand what they are seeing.

It is permissible for a section of your app, like a graph, to be loading while the rest is complete.

SAP Fiori app launch
SAP Fiori app launch

Navigate (In-App)

Use the following transitions for in-app navigation:

  • Forward navigation: Use a right-to-left slide transition.
  • Backward navigation: Use a left-to-right slide transition.

These transitions appear in the screen area where the navigation takes place.

Master List

For navigation inside a (hierarchical) master list, use transitions only within the master list.

Navigating in a master list
Navigating in a master list

Details Area

For navigation inside a details area, use transitions only within this area. Side-swipe transition is used to go to lower-level pages and inverse swipe to return to higher levels inside this area.

In-app detail transition
In-app detail transition

Full Screen

Navigation on a full-screen app uses the whole page for transitional animations as this maintains a high level of detail. The same timing principle is adopted as for non-full-screen navigation. The same animation rules apply here as for loading an application; in other words, use the SAP Fiori flower animation.

Navigate (App to App)

Whether the user is navigating forward or backward, use the the SAP Fiori flower animation (as described above for starting an app from the launchpad).

An exception to this is when the user navigates back to the launchpad; in this case, use the backward transition (slide left to right).

Styles

Approach the Styles as a basic motion structure (not implemented) to have an idea of the goal in your object/control. This represents a graphic way that helps to classify the motion in different groups depending on their functionality.

 

The posible groups we could find in Fiori are:

Hoover

Scaling action
Scaling action
Color action
Color action
Animated icon action
Animated icon action

Transitions

Horizontal transition
Horizontal transition
Horizontal 3D transition
Horizontal 3D transition
Flip transition
Flip transition

Animation

In SAP Fiori, animations are used to emphasize actions, provide orientation, and help users to perform actions by providing transitions and additional multiple actions. The aim is to improve the overall user experience.

Responsiveness

The same transitions (swipes, drop effects, and dissolve effects) are used for all devices and screen sizes.

Types

Curves

Timing : To focus the user’s attention on certain objects, changes in acceleration or deceleration should be smooth during an animation. The variation in speed gives motion a personality and an aesthetic look, thus avoiding monotonous linear movement.

Smooth acceleration showing change in motion curves
Smooth acceleration showing change in motion curves
AVOID linear acceleration and timing
AVOID linear acceleration and timing
Example of correct timing for any motion inside SAP Fiori
Example of correct timing for any motion inside SAP Fiori

This reference can be applied to all kinds of translations (transitions), rotation, and scaling done to any object in SAP Fiori.

Normally we use: EaseIn-Out and to add more detail it is possible to implement the following functions:

easeInExpo, easeOutExpo, easeInOutExpo, easeInSine, easeOutSine, easeInOutSine, easeInQuead, easeOutQuead, easeInOutQuead, easInCubic, easOutCubic, easInOutCubic, easInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint.

 

In SAP Fiori, we differentiate between three animation types: transitions, interactive motions, and functional animations.

Transitions

These help the user to remain oriented while navigating through the user interface. The user gets a sense of moving along a path. To keep this metaphor alive, a new screen always needs to appear from the right, while backwards navigation brings in the old screen from the left.

Interactive Motions

These are driven by the user and enhance the user experience by giving responsive feedback through motion. They are objects that move or change shape on the screen, such as to indicate a loading process. Interactive motions tell the user that something is happening. For example, a change in the state of a button helps the user understand that the system is reacting to the user’s input.

Functional Animations

Is the tool that serves a design concept that follows a clear and logical propose as it’s only goal.

Orientation Focus on the direction and structure according to the page layout.  (e.g. Navigation) Purpose: Avoid surprising actions and transitions and orient the user.

Same Location, New Action  Used when the space is limited and when a new functionality changed under certain conditions. (e.g. Action buttons) Purpose: show that a function changed to a different state)

Zoom Selected as a visual clue to expand or relocate an object to a prominent position. (e.g. Click on a Image inside a gallery) Purpose: Associate an low definition object or a thumbnail with its detailed or high definition view.

Visual Hints  Assist users to better understand how to interact with a product’s interface. It is especially needed in designs that contain an unconventional object or a unique navigation method. (e.g.Quick tour in a first installed app and shows how certain functionality in the design operates, so a first time animation is displayed the “how to”) Purpose: Explain unconventional functionality or a hidden action.

Highlight  Applied in case of a noisy layout or multiple visual content. Motion is used to bring the element to a higher level, directing the attention to this action. (e.g. add an item to the shopping cart inside a crowded page full of items) Purpose: Attract the user’s attention, and move the object above a noisy layout.

Simulation or Customized animations,  when a simple motion doesn’t describe what the user wants, simulation is needed just for special cases. In Fiori it is common to achieve this due to the complexity of its functionality and the quantity of controls, so it is possible to differentiate each one of them. (e.g horizontal wipe transitions to other sections in Fiori home screen )  Purpose: Simulate topics that are different and somehow hard to demonstrate.

Visual Feedback  Buttons, controls and objects respond to interaction. This topic can be confused with the previous themes but the difference of this particular animation ends by being extremely subtle and very well thought, always constrained to just show and minimal interaction. (e.g. a simple rollover button mostly for mobile experience) Purpose: Acknowledge the user’s action.

System Status  Implemented to show control and understanding the current context in the system at any time.  Indicates when a process has initiated, in progress and terminated. (e.g. Loading page bar) Purpose: Sense of control in a linear time process.

Marketing Functional animation can be used to promote brand’s value or product’s behavior, as an effective way to sell or to be recognize in the market. The difference is based in the freedom to experiment with graphics and visual styles (e.g. skype logo animation) Purpose: Support a company’s brand values and product’s strengths.

Behavior and Interaction

There are different animations in SAP Fiori. Starting an app from the launchpad requires a different transition than navigating within an app. An overview of all animations in SAP Fiori is shown below.

Launch App

When an app is launched, maintain the following choreography:

  1. Launchpad: The user clicks or taps a tile on the home page.
  2. Launchpad loading: The launchpad gets a white, semitransparent overlay and a flower-like “waiting” indicator.
  3. App: When the app has been loaded, the overlay is removed.

When the app screen becomes visible, there should be no animations or transitions after the SAP Fiori flower.

Load your app until the app structure is complete and you have reached a point where users understand what they are seeing.

It is permissible for a section of your app, like a graph, to be loading while the rest is complete.

SAP Fiori app launch
SAP Fiori app launch

Navigate (In-App)

Use the following transitions for in-app navigation:

  • Forward navigation: Use a right-to-left slide transition.
  • Backward navigation: Use a left-to-right slide transition.

These transitions appear in the screen area where the navigation takes place.

Master List

For navigation inside a (hierarchical) master list, use transitions only within the master list.

Navigating in a master list
Navigating in a master list

Details Area

For navigation inside a details area, use transitions only within this area. Side-swipe transition is used to go to lower-level pages and inverse swipe to return to higher levels inside this area.

In-app detail transition
In-app detail transition

Full Screen

Navigation on a full-screen app uses the whole page for transitional animations as this maintains a high level of detail. The same timing principle is adopted as for non-full-screen navigation. The same animation rules apply here as for loading an application; in other words, use the SAP Fiori flower animation.

Navigate (App to App)

Whether the user is navigating forward or backward, use the the SAP Fiori flower animation (as described above for starting an app from the launchpad).

An exception to this is when the user navigates back to the launchpad; in this case, use the backward transition (slide left to right).

Styles

Approach the Styles as a basic motion structure (not implemented) to have an idea of the goal in your object/control. This represents a graphic way that helps to classify the motion in different groups depending on their functionality.

 

The posible groups we could find in Fiori are:

Hoover

Scaling action
Scaling action
Color action
Color action
Animated icon action
Animated icon action

Transitions

Horizontal transition
Horizontal transition
Horizontal 3D transition
Horizontal 3D transition
Flip transition
Flip transition

Animation

In SAP Fiori, animations are used to emphasize actions, provide orientation, and help users to perform actions by providing transitions and additional multiple actions. The aim is to improve the overall user experience.

Responsiveness

The same transitions (swipes, drop effects, and dissolve effects) are used for all devices and screen sizes.

Types

Curves

Timing : To focus the user’s attention on certain objects, changes in acceleration or deceleration should be smooth during an animation. The variation in speed gives motion a personality and an aesthetic look, thus avoiding monotonous linear movement.

Smooth acceleration showing change in motion curves
Smooth acceleration showing change in motion curves
AVOID linear acceleration and timing
AVOID linear acceleration and timing
Example of correct timing for any motion inside SAP Fiori
Example of correct timing for any motion inside SAP Fiori

This reference can be applied to all kinds of translations (transitions), rotation, and scaling done to any object in SAP Fiori.

Normally we use: EaseIn-Out and to add more detail it is possible to implement the following functions:

easeInExpo, easeOutExpo, easeInOutExpo, easeInSine, easeOutSine, easeInOutSine, easeInQuead, easeOutQuead, easeInOutQuead, easInCubic, easOutCubic, easInOutCubic, easInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint.

 

In SAP Fiori, we differentiate between three animation types: transitions, interactive motions, and functional animations.

Transitions

These help the user to remain oriented while navigating through the user interface. The user gets a sense of moving along a path. To keep this metaphor alive, a new screen always needs to appear from the right, while backwards navigation brings in the old screen from the left.

Interactive Motions

These are driven by the user and enhance the user experience by giving responsive feedback through motion. They are objects that move or change shape on the screen, such as to indicate a loading process. Interactive motions tell the user that something is happening. For example, a change in the state of a button helps the user understand that the system is reacting to the user’s input.

Behavior and Interaction

There are different animations in SAP Fiori. Starting an app from the launchpad requires a different transition than navigating within an app. An overview of all animations in SAP Fiori is shown below.

Launch App

When an app is launched, maintain the following choreography:

  1. Launchpad: The user clicks or taps a tile on the home page.
  2. Launchpad loading: The launchpad gets a white, semitransparent overlay and a flower-like “waiting” indicator.
  3. App: When the app has been loaded, the overlay is removed.

When the app screen becomes visible, there should be no animations or transitions after the SAP Fiori flower.

Load your app until the app structure is complete and you have reached a point where users understand what they are seeing.

It is permissible for a section of your app, like a graph, to be loading while the rest is complete.

SAP Fiori app launch
SAP Fiori app launch

Navigate (In-App)

Use the following transitions for in-app navigation:

  • Forward navigation: Use a right-to-left slide transition.
  • Backward navigation: Use a left-to-right slide transition.

These transitions appear in the screen area where the navigation takes place.

Master List

For navigation inside a (hierarchical) master list, use transitions only within the master list.

Navigating in a master list
Navigating in a master list

Details Area

For navigation inside a details area, use transitions only within this area. Side-swipe transition is used to go to lower-level pages and inverse swipe to return to higher levels inside this area.

In-app detail transition
In-app detail transition

Full Screen

Navigation on a full-screen app uses the whole page for transitional animations as this maintains a high level of detail. The same timing principle is adopted as for non-full-screen navigation. The same animation rules apply here as for loading an application; in other words, use the SAP Fiori flower animation.

Navigate (App to App)

Whether the user is navigating forward or backward, use the the SAP Fiori flower animation (as described above for starting an app from the launchpad).

An exception to this is when the user navigates back to the launchpad; in this case, use the backward transition (slide left to right).

Animation

In SAP Fiori, animations are used to emphasize actions, provide orientation, and help users to perform actions by providing transitions and additional multiple actions. The aim is to improve the overall user experience.

Responsiveness

The same transitions (swipes, drop effects, and dissolve effects) are used for all devices and screen sizes.

Types

Curves

Timing : To focus the user’s attention on certain objects, changes in acceleration or deceleration should be smooth during an animation. The variation in speed gives motion a personality and an aesthetic look, thus avoiding monotonous linear movement.

Smooth acceleration showing change in motion curves
Smooth acceleration showing change in motion curves
AVOID linear acceleration and timing
AVOID linear acceleration and timing
Example of correct timing for any motion inside SAP Fiori
Example of correct timing for any motion inside SAP Fiori

This reference can be applied to all kinds of translations (transitions), rotation, and scaling done to any object in SAP Fiori.

Normally we use: EaseIn-Out and to add more detail it is possible to implement the following functions:

easeInExpo, easeOutExpo, easeInOutExpo, easeInSine, easeOutSine, easeInOutSine, easeInQuead, easeOutQuead, easeInOutQuead, easInCubic, easOutCubic, easInOutCubic, easInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint.

 

In SAP Fiori, we differentiate between three animation types: transitions, interactive motions, and functional animations.

Transitions

These help the user to remain oriented while navigating through the user interface. The user gets a sense of moving along a path. To keep this metaphor alive, a new screen always needs to appear from the right, while backwards navigation brings in the old screen from the left.

Interactive Motions

These are driven by the user and enhance the user experience by giving responsive feedback through motion. They are objects that move or change shape on the screen, such as to indicate a loading process. Interactive motions tell the user that something is happening. For example, a change in the state of a button helps the user understand that the system is reacting to the user’s input.

Behavior and Interaction

There are different animations in SAP Fiori. Starting an app from the launchpad requires a different transition than navigating within an app. An overview of all animations in SAP Fiori is shown below.

Launch App

When an app is launched, maintain the following choreography:

  1. Launchpad: The user clicks or taps a tile on the home page.
  2. Launchpad loading: The launchpad gets a white, semitransparent overlay and a flower-like “waiting” indicator.
  3. App: When the app has been loaded, the overlay is removed.

When the app screen becomes visible, there should be no animations or transitions after the SAP Fiori flower.

Load your app until the app structure is complete and you have reached a point where users understand what they are seeing.

It is permissible for a section of your app, like a graph, to be loading while the rest is complete.

SAP Fiori app launch
SAP Fiori app launch

Navigate (In-App)

Use the following transitions for in-app navigation:

  • Forward navigation: Use a right-to-left slide transition.
  • Backward navigation: Use a left-to-right slide transition.

These transitions appear in the screen area where the navigation takes place.

Master List

For navigation inside a (hierarchical) master list, use transitions only within the master list.

Navigating in a master list
Navigating in a master list

Details Area

For navigation inside a details area, use transitions only within this area. Side-swipe transition is used to go to lower-level pages and inverse swipe to return to higher levels inside this area.

In-app detail transition
In-app detail transition

Full Screen

Navigation on a full-screen app uses the whole page for transitional animations as this maintains a high level of detail. The same timing principle is adopted as for non-full-screen navigation. The same animation rules apply here as for loading an application; in other words, use the SAP Fiori flower animation.

Navigate (App to App)

Whether the user is navigating forward or backward, use the the SAP Fiori flower animation (as described above for starting an app from the launchpad).

An exception to this is when the user navigates back to the launchpad; in this case, use the backward transition (slide left to right).

SAP Fiori and Design Principles

SAP Fiori provides a consistent and holistic user experience for SAP software. By creating visually pleasing designs with a strong focus on ease of use, the experience is intuitive and simple, across all devices. With effortless interaction patterns, the SAP Fiori UX is designed for a powerful impact across your enterprise.

Design Principles

The design philosophy of SAP Fiori is based on five core principles. SAP Fiori user experience is role-based, adaptive, simple, coherent, and delightful.

ROLE-BASED

SAP Fiori is designed for your business, your needs, and how you work. It draws from our broad insights on the multifaceted roles of today’s workforce. SAP Fiori provides the right information at the right time and reflects the way you actually work.

DELIGHTFUL

Apart from making you work smarter, SAP Fiori also enriches your work experience by allowing you to simply do your job.

COHERENT

Whether you fulfill a sales order, review your latest KPIs, or manage leave requests – SAP Fiori adheres to a consistent interaction and visual design language. Across the enterprise, you enjoy the same intuitive and consistent experience.

SIMPLE

With SAP Fiori, you can complete your job intuitively and quickly. SAP Fiori helps you focus on what is important – essential functions are easy to use and you can personalize the experience to focus on your relevant tasks and activities.

ADAPTIVE

SAP Fiori enables you to work how and where you want, regardless of the device you use. And, it provides relevant information that allows for instant insight.

Design-Led Development Process

SAP is committed to designing role-based applications that address the needs of our end users across all lines of business, tasks, and devices. We believe this is the key to a great user experience. But how do we guarantee a solid and consistent design for our customers and end users? The answer is SAP’s design-led development process.

Design-led development takes advantage of proven design thinking methods to achieve an optimal user experience. The process spans the entire development lifecycle, is simple and easy to follow, and provides a solid basis for scaling design as a whole. It fosters unity between designers and developers, while ensuring that the needs of the end user are addressed at every step along the way. Learn more about design-led development below.

The Phases

Developing software is much more than just coding. It’s about putting the user first, from start to finish. In order to do that, it is critical that you first understand who your end user is. This is why the design-led development process begins with the Discover phase. At this stage, you focus on understanding your customers, how they work, and what they need.

Only then do you move on to the Design phase, and create the initial prototypes for development. After the Develop activities, such as implementation and testing, your app is ready to Deploy.

The main emphasis of the design-led development process is on the first two phases – Discover and Design. These two steps are just as important as developing the software itself!

The design-led development process
The design-led development process

Discover the bigger picture

Perhaps you already have a good idea of what your customers want and need, and what your end user’s tasks and challenges are. But what you really need is a holistic view of the business roles affected by your apps.

To do this, you will have to visit your customers at their location and speak to everyone involved. Organizing Design Thinking workshops with the different stakeholders are a great way to go about this. By the end of the Discover phase, you should have a clear understanding of all the business roles involved, and have gathered descriptions of the typical representatives for each role – also called “personas”. You should know what their typical tasks are, and what their sequence of activities looks like. With this information, you can develop initial ideas about how the app might work, gain a common understanding of the requirements, and get additional feedback from your end users.

Design to delight

Once you are happy with the initial results of your discovery activities, you are ready to start the next phase – the design. Your app should be tailored to the constructed use case, which is based on the synthesized results from the Discover phase. Ideally, you have a multidisciplinary team to brainstorm, create a storyboard, and come up with a first prototype that you can validate with your end users.

Development can start once you have finished your initial design. During the development phase, you may still need to change some aspects of your design to incorporate ongoing user feedback, to optimize the app, or to allow for technical constraints.

When the app is first implemented and tested, the initial design might require further iterations and adaptations before you arrive at the final design and implementation.

Deploy a great user experience 

Before you can deploy your app, you need to make sure that the final design and the implementation are perfectly synchronized. Deviations in the implementation of the final design will require release approval. During this phase, it is necessary to verify that the final implementation and design deliver the intended user experience to the targeted end users.

SAP offers a new and broad portfolio of UX design services that guide organizations and companies into a user-centered design perspective.

We help you define and execute the best UX strategy for your business using proven design methodologies such as Design Thinking and User-Centered Design.

Learn more about UX Design Services from SAP.

The App Lives On

Now that you have coded and delivered your app, you might want to know how it’s doing in the real world and if the end users really are happy. There are various ways to get user feedback, including interviews, site visits, and structured usability tests. For example, you might find out that you need to support other mobile devices, or even enhance some additional features.

At any step of the way, you can apply the same design-led development approach discussed here to plan new releases, support other platforms, incorporate additional user feedback, or meet new user requirements. And so the app lifecycle continues!

It’s a Team Effort

Many different people contribute to the development process. Typically, these include:

  • The product owner, an area expert who is usually responsible for the whole family of apps in that area.
  • The user researcher, who drives the end user research and artifact consolidation.
  • The user experience designer, who creates mockups, prototypes, and design specifications.
  • The software developer, who implements the design.
  • The info developer, who works on UI texts, terminology, and user assistance topics.
  • The quality expert, who sets up test activities and consolidates the results.

These are just the main roles. Depending on how you drive the process, you may need to extend this list.

Design Gates

In order to support SAP’s product teams throughout the design-led development process, the Global Design team implements a concept called “design gates”. Design gates are a series of checkpoints along the way that serve to ensure that the design of our products is consistent, follow our design guidelines, and truly address the needs of our end users. These checks are conducted by UX experts who are not involved in the product development, but who can provide an impartial opinion. They provide consultation, guidance, and instructions on how to proceed along the design and development process and how to optimize the user experience of our products.

Theming

The UI theme designer is a browser-based tool for cross-theming scenarios that allows you to apply corporate branding to applications built with SAP UI technologies.

Modifying the standard SAP Fiori theme with SAP’s UI Theme Designer
Modifying the standard SAP Fiori theme with SAP’s UI Theme Designer

Theming SAP Fiori

SAP Fiori user interfaces are constructed using SAPUI5 control sets that are meticulously styled with CSS. SAP Fiori comes with an enhanced theming experience that utilizes a simple LESS-based semantic parameter structure which supports theming and customization. Using one simplified code line, SAP Fiori applications can work with multiple themes and also support high-contrast accessibility requirements.  The standard SAP Fiori theme can be modified, for example, by replacing the logo or changing the colors of a certain part of the control set to accommodate any company’s visual language and brand. This can all be easily done using SAP’s UI theme designer.

Default SAP Fiori theme, Belize (light flavor)
Default SAP Fiori theme, Belize (light flavor)
SAP Fiori theme, Belize Deep (dark flavor)
SAP Fiori theme, Belize Deep (dark flavor)
SAP high-contrast theme
SAP high-contrast theme

Semantic Theming

The concept of semantic theming is to use LESS parameters linked within the UI controls that indicate a certain semantic. This means that you could modify or change the value behind the parameter and get an idea of which controls or semantic appearances are affected. For example, all of the theme parameters for input controls (such as the input field, radio button, checkbox, and more) have been grouped together and contain the word ‘field’.  Similarly, all the color parameters for lists and tables (background, separators, and so on) have been grouped together and contain the word ‘list’. These names can be viewed in the theme designer.

Example of a SAPUI5 button control supporting multiple themes
Example of a SAPUI5 button control supporting multiple themes

By defining a semantic color name such as ‘button background’, for example, it is possible to connect it to different theme color values. The UI theme designer packages all the changed parameters into a custom theme that can be deployed on multiple systems and used with all applications that support the Belize theme.

Resources

UI Theme Designer

Learn more about the UI Theme Designer on SAP Help Portal.