-
Notifications
You must be signed in to change notification settings - Fork 8.4k
Description
Following the issue raised here (#202985) and given the upcoming release of Borealis, we thought it could be a good idea to take advantage of this transitioning phase to put together a Severity color palette the could be shared across solutions.
Currently there is a little bit of inconsistency when dealing with this kind of data, the lack of clear guidelines resulted in a different use of colors across the product, which is not great for our developers and designers that every time needs to find a solution while at the same time generating a scattered user experienced.
A first mapping of cases can show us exactly this behaviour, the following image shows how different this use can be and it shows perfectly the need for a clear set of shared guidelines
Before introducing our proposal, a few constraints/requirements that need to be specified:
- New palette needs to be agnostic in terms of semantic. (
Critical
in Observability might means a different level of severity thanCritical
in Security) - Needs to be based on color primitives provided by Borealis, so that it will be automatically updated in case of any future change
- Needs additional levels, in case of future cases in which we might need that
- This is a separated palette from what we typically call Status, which normally provides Green-Yellow-Red for Success-Warning-Danger. This palette is meant to map levels of dangers, with neutral or negative meaning.
Proposal
A new set of 15 colors divided into severity groups, spanning from Red shades for Danger levels, through yellow for Warning, while providing at the same time a group of colors for neutral categories of data.
Specific color primitives and hex codes:
Severity Color Palette
Level 14 | Danger 90 | #C61E25
Level 13 | Danger 80 | #DA3737
Level 12 | Danger 70 | #EE4C48
Level 11 | Danger 60 | #F6726A
Level 10 | Danger 50 | #FC9188
Level 9 | Danger 40 | #FFB5AD
Level 8 | Danger 30 | #FFC9C2
Level 7 | Warning 30 | #FCD883
Level 6 | Warning 20 | #FDE9B5
Category 5 | Blue Grey 30 | #CAD3E2
Category 4 | Blue Grey 45 | #ABB9D0
Category 3 | Blue Grey 60 | #8E9FBC
Category 2 | Blue Grey 75 | #7186A8
Category 1 | Blue Grey 90 | #5A6D8C
Category 0 | Muted Grey 20 | #E5E9F0
Few notes:
- Using
Danger 90
as highest level of severity allows us to be consistent with EUI. With this approach, the same color will be used in all contexts - The palette doesn't change according to color mode (light/dark). The colors picked are contrasted enough to provide a 3:1 contrast with dark background, being accessible in dark mode.
Usage
This color palette will be provided as a list of color from which teams can pick according to their needs. Therefore it will be needed, from teams, to be a cautious in how it gets used and to make a couple of choices.
The main principle to follow would be the following, to always use the whole extension of this scale, which means to try to distribute your own levels of severity within proper groups of colors first (yellow for warning, red for danger zones) and to distribute them as much as possible.
This should allow us to get the following results:
- Maximise contrast between levels
- Always obtain our desired shade of red as most dangerous level. This will make the user experience the same every time, reducing the cognitive load. Main goal here is to be able to create a context in which our users can always associated our desired shade of red to danger that need immediate action.
An example of this use, picking the same scales shown in the first image of this issue:
Which will get us this final result:
Conclusions
This proposal is meant to be a solid base of colors that could be shipped quickly and be ready, if we are lucky, for 9.0. It's not meant to be perfect nor final, the conversation is still open and I would love to hear feedback from anybody who might be interested.
I do think though that, in order to start building a good user experience, the best would be to start having this in our library and eventually adjust it according to needs, rather than wait a long time before having this available for teams.
Please feel free to add anything to think it's relevant, apologies for the long issue! 😊
Use cases
Security - https://www.figma.com/design/jD6AMtmTTOSPKsdRMsqHIX/Severity-colors-Security-use-cases?node-id=1-19