Updated: November 14, 2019

How To Use Semantic Colors / Industry-Specific Colors

Intro

You can use semantic colors and industry-specific colors to visualize the status or state of business data:

  • Semantic colors denote standard value states (such as good, bad, or neutral). Each color has the same basic meaning in all contexts.
  • Industry-specific colors reflect the color conventions in a line of business or industry. The meaning of each color depends on the business context.
    In SAPUI5, industry-specific colors are called generic indication colors.

Nearly all input controls support semantic colors, while industry-specific colors are only supported by a few UI elements.

For more information about the color values, see Belize Colors and Quartz Light Colors.

Usage

Use semantic colors if:

Do not use semantic colors if:

  • The color has no meaning and is used only for decoration.
  • You want to use colors in an industry-specific context, where the meaning of the colors differs from the standard semantic meaning. Use the industry-specific colors instead.

Use industry-specific colors if:

  • You want to use a color based on industry conventions (for example, when the meaning of a color is defined in an industry standard).

Do not use industry-specific colors if:

  • The color has no meaning and is used only for decoration.
  • No special industry color conventions apply. Use the standard semantic colors instead.

Overview

Semantic Colors

SAP Fiori has five semantic colors that are associated with the following predefined value states:

Bad / error value state
Bad / error value state
Warning / critical value state
Warning / critical value state
Good / positive value state
Good / positive value state
Neutral value state
Neutral value state
Information value state
Information value state

Industry-Specific Colors

SAP Fiori has five generic indication colors that are intended only for industry-specific use cases. You can associate these colors with a specific meaning in a given industry context (for example, to reflect industry standards).

Each application must clearly communicate the meaning of each color. In addition to using a color, you must also provide a text, such as an object status. All colors require a corresponding descriptive text for accessibility purposes.

The indication color palette is only supported for tables and for the object status.

Object status with industry-specific colors
Object status with industry-specific colors

When To Use Which Semantic Color

Only use a semantic color if you need to convey the meaning defined for that color. This section looks at each semantic color in turn, and offers guidance on when to use each one.

Bad / Error

This color is used for errors, or to indicate a bad or negative status or consequence.

Use the bad/error semantic color if:

  • Something bad has happened, or is about to happen. The issue requires the user’s attention. Until the issue is resolved, the user can’t carry on working.
  • You want to indicate that a value has caused an error.
  • The user needs to be prevented from finalizing the current mode or page.
  • The user input failed a validation, and the problem must be fixed before the user can continue.
  • message contains information about an error.

Do not use the bad/error semantic color if:

  • A status or event is fine. Use the good/positive color instead.
  • The user input was validated successfully. Use the neutral color instead.
  • The user input was validated and only minor problems occurred. The user can still finalize the current mode or page. Use the warning/critical color instead.
  • You are using form field validation, and the surrounding page (or part of it) is in display mode.

Examples

An object has been damaged. The negative object status is used.

Negative object status
Negative object status

An error was identified while validating the entry for a checkbox. The checkbox has an error value state.

Error value state for a checkbox
Error value state for a checkbox

An error occurred while saving a draft. An error message box is used.

Error message
Error message

Warning / Critical

This color indicates a critical situation or warning.

Use the warning/critical semantic color if:

  • You want to highlight a critical status.
  • A minor problem has occurred. The user can carry on working, but might run into an error later on.
  • The current mode or page can be finalized, but doing so might lead to an error later on.
  • The user input was validated and a minor problem occurred. The user can continue without fixing the problem, but might run into an error later on.
  • A message contains information about a warning.

Do not use the warning/critical semantic color if:

  • The user input was validated successfully. Use the neutral color instead.
  • The user input was validated and a major problem occurred. The user must fix the problem before finalizing the current mode or page. Use the bad/error color instead.
  • You are using form field validation, and the surrounding page (or part of it) is in display mode.

Examples

The stock level for a product is low. The critical object status is used.

Critical object status
Critical object status

The user’s input could lead to an error later on. The input field has a warning value state.

Warning value state for an input field
Warning value state for an input field

The user tries to leave a page without saving. A warning message box is used.

Warning message
Warning message

Good / Positive

This color stands for a good, positive situation, or for successful completion of a task.

Use the good/positive semantic color if:

  • You want to highlight a good or positive status.
  • message contains information about a process that was finalized without any issues. Users will need this information later on (for example, values that need to be copied to another app).

Do not use the good/positive semantic color if:

Examples

A product is available. The positive object status is used.

Positive object status
Positive object status

You want to indicate that the user’s input was successful. The input field has a success value state.

Success value state for an input field
Success value state for an input field

A success message needs to be acknowledged by the user. A success message box is used.

Success message
Success message

Neutral

This color is used for a neutral state.

Use the neutral semantic color if:

  • You want to indicate a neutral object status.
  • There is no reason to use another value state.
  • message contains non-critical, additional information for users.

Do not use the neutral semantic color if:

  • The user input was validated and a problem occurred. Depending on the severity, use the warning or error state instead.
  • You want to highlight a positive or good thing. Use the good/positive color instead.
  • message contains information about a warning or error.
  • You want to highlight a control.

Examples

You want the user to acknowledge a message, but no further action is required. Use the neutral information message box.

Information message
Information message

Information

This color is used for an information state.

Use the information semantic color if:

  • You want to draw attention to a control for an important purpose, such as visualizing the recommendations from intelligent systems in input fields.
  • You want to highlight newly added items, such as a new table row.

Do not use the information semantic color if:

  • The user input was validated and a problem occurred. Depending on the severity, use the warning or error state instead.
  • You want to highlight something positive. Use the good/positive color instead.
  • You want to highlight an information text. The blue text color is explicitly reserved for links.

Examples

The first row has just been added to the table. This is highlighted using the information color.

Row for a newly added item is highlighted for information
Row for a newly added item is highlighted for information

The input field is highlighted to draw attention to a system recommendation.

Input field with information state
Input field with information state

Using Industry-Specific Colors

There is no predefined meaning for the individual colors in the generic palette. If you want to use one or several colors from the industry-specific color palette in your application, proceed as follows:

  • Define the meaning for each color you want to use.
  • Whenever you use an color, provide an additional text indicator (such as an object status) to ensure that the text is clear and accessible.
  • Once you have defined the meaning for a color, use the color/meaning consistently within your application.

Color Overlap

By default, some colors are the same in the both the semantic palette and the industry-specific color palette (such as red, orange, green, and blue). This is intended. However, the two color palettes can be themed independently, which means that end users might not see the same colors in both.

No Palette Mix

Some UI elements support both the semantic color palette and the industry-specific color palette. However, you can only use one color palette at a time. It is not possible to mix different colors from both palettes.

Color Hierarchy

If an UI element would have multiple semantic or industry-specific color statuses at the same time, the control may need to determine an “overall color” at first.
In this case, the overall color is based on the color hierarchy: colors higher up in the hierarchy take precedence over those lower down. Note that there is only one hierarchy for both semantic colors and industry-specific colors.

Color hierarchy
Color hierarchy

Styles

The semantic colors and industry-specific colors are themeable.

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