designsystem-405685-colors-color-roles.md
Color roles define the function and semantic purpose of each UI color. In the DevExpress Design System, these roles follow a multi-layer model that maps high-level design intent to specific visual values. This structure has the following advantages:
The DevExpress Design System uses the same color-layer schema for all themes and color modes (light or dark). Follow this schema to assign roles correctly. The table below lists all color layers:
| High-Level Role | Semantic Role | Intensity | State |
|---|---|---|---|
| Surface | Neutral | Default | Rest |
| Content | Primary | Subdued | Active |
| Border | Secondary | Deep | Hovered |
| Info | Compound | Selected | |
| Success | Alpha | Selected-Hovered | |
| Warning | Accessible | Disabled | |
| Danger | Static-Light | ||
| Backdrop | Static-Dark | ||
| Transparent | Inverted | ||
| Highlight | On-Surface | ||
| Utility |
These layers help you build a path to a specific color value, for example: Content → Primary → Default → Hovered.
Note
Our Design System does not cover all potential combinations.
The DevExpress Design System operates with the following high-level roles:
SurfaceA background (surface) for content. Surfaces always use light colors in light mode, and dark colors in dark mode.ContentText or graphics displayed on a surface. Usually use inverted colors compared to surface. Content colors do not change in all states (except for disabled).BorderSurface borders.
The DevExpress Design System defines relevant semantic roles for each high-level role. The following semantic roles are available:
PrimaryMain brand or accent color.SecondaryAn additional accent color used for secondary elements.InfoColors used for informational messages (notes).SuccessColors used to convey success states.WarningColors used to convey warnings.DangerColors used to convey error states.NeutralGrayscale colors used throughout the interface for backgrounds, surfaces, dividers, and text (light/dark variants).BackdropColors used to shade background information.HighlightService colors used to highlight small application/component regions.TransparentColor used to create transparent backgrounds.UtilityColors used for data visualization, categorization, and analytical contexts.
You can choose the color intensity from the following values:
DefaultThe brightest shade.SubduedMeduim brightness of the shade.DeepThe least bright shade.CompoundA semantic extension of high-level roles. May be of use if you need several high-level roles to have the came color.AlphaAdjusts color opacity using the alpha channel.AccessibleThe shade that meets the Non-Text Contrast criterion for small UI elements.
Components can have the following design states:
RestColors used to convey the default state (component is not being interacted with).HoveredColors used to convey the hovered state.SelectedColors used to convey the selected state.Selected-hoveredColors used to convey selected and hovered state.DisabledColors used to convey the disabled state.Static-lightLight colors that do not change in light/dark modes.Static-darkDark colors that do not change in light/dark modes.InvertedColors that are inverted from primary (for accents).On-surfaceColors used for content or other surfaces placed on a surface.