Handling “No access” values

Author: Margot Menestrot | Last edit: October 11, 2023 | Design type: Empty state, Tables | Product area: Red Hat Insights
General guideline
There are 3 types of “no value” states. The table below describes how each state should be handles.
Scenario | How to handle for regular text | How to handle for icon+ text |
Value is possible, but not set | No _____ OR Not defined (for situations where No ___ does not feel right, or not having something could mean having everything | [Disabled icon] 0 |
Value may or may not exist, but can't be read for some reason | Not available | Not available (no icon) |
Value will never be possible - field does not apply | Not applicable | Not applicable |
In all cases, the text should show up in disabled grey (pf-global-color-200) in order to distinguish it from the other values in the column. This allows for easy scan-ability of information.
Usage examples
Scenario | Example for regular text | Example for icon+text |
Value is possible, but not set (Solution: “No ___”) | You have a table of systems with the possibility of adding them to a group. When a system does not have a group, you would show “No group” ![]() | You have a table of systems with the possibility of them having Critical CVEs. When a system has no CVEs, you would disable the icon and show 0 as the number of Critical CVEs. ![]() |
Value may or may not exist, but can’t be read for some reason (Solution: “Not available") | You have a table of systems with the possibility of adding them to a group, but you don’t have the read permissions needed to view what group a system is in, or whether a system is in a group at all ![]() OR You have a table of systems with the possibility of them having templates, but you can not add templates to systems Managed by satellite. | You have a table of systems reporting Critical CVEs, but some of your systems are not connected to the insights-client, therefore you can not access this specific data ![]() |
Value will never be possible - field doesn’t apply (Solution: “Not applicable”) | You are viewing information about a specific system. Some systems might be in Satellite, and some may not. In this case, if it does not, you’d show “Not applicable” ![]() |
Giving supporting information
In some cases, you may want to give users more information as to why the data is not available, or not applicable. To do this, we suggest adding a question circle either at the column level (if the no value state applies to every row), or at the row field level (if the no value state applies to only some of the values).
For example, if a user does not have access to a specific System group, you may want to write “Not available (?)” with the (?) resulting in a tooltip on hover that explains that “You do not have the inventory:group:read permissions needed to view this information”.
Corresponding filters
In some cases, specifically in tables, you may want to allow users to filter on these “No value” fields. For each scenario, this is what that should look like.
In all cases, we recommend adding a divided to the menu, to separate the no value states from the value states. This helps avoid potential confusing between the two - especially if a user creates a value that resembles a no value state.
Scenario | Include in filter? | Example |
Value is possible, but not set (Solution: “No ___”) | Decide on a case by case basis.
If yes, it should show up as “No ____” to match column value. | In the systems table, there is a group column. When a system belongs to a group, there is the group name. When a system does not belong to a group, it says “No group”. The filter for the “Group” attribute would therefore be as follows. If the “No group” option is selected, only the systems that do not belong to a group would show up in the table. ![]() |
Value may or may not exist, but can’t be read for some reason (Solution: “Not available") | No | |
Value will never be possible - field doesn’t apply (Solution: “Not applicable”) | Decide on case by case basis. If yes, it should show up as “Not applicable” to match column value |