Problem
When a Dashboard filter has a validation/error state, the UI renders a second row containing the warning icon and the same type text as the original control, for example Array(Int32).
This looks like a duplicate filter value/control rather than an error state, increases the filter-strip height, and breaks alignment with the other filters.
Required behaviour
Render the error state on the original filter control, without creating a second row or repeating the control text.
The existing warning treatment is otherwise appropriate:
- use the yellow warning/error styling;
- show the warning icon on the original control;
- expose the full error message in hover/focus text;
- keep the original value/type text in place;
- preserve the normal one-row filter layout.
Example:
exception_code: [warning icon] Array(Int32)
The warning icon and yellow treatment belong to that existing control. There must not be another Array(Int32) element below it.
Accessibility
- The full diagnostic must be available on both pointer hover and keyboard focus.
- The control's accessible description should include the diagnostic.
- Do not rely on colour alone; keep the warning icon.
Acceptance criteria
Non-goals
- Changing diagnostic severity or validation rules.
- Replacing the existing yellow warning treatment.
- Showing persistent inline error-message text in the filter strip.
Problem
When a Dashboard filter has a validation/error state, the UI renders a second row containing the warning icon and the same type text as the original control, for example
Array(Int32).This looks like a duplicate filter value/control rather than an error state, increases the filter-strip height, and breaks alignment with the other filters.
Required behaviour
Render the error state on the original filter control, without creating a second row or repeating the control text.
The existing warning treatment is otherwise appropriate:
Example:
The warning icon and yellow treatment belong to that existing control. There must not be another
Array(Int32)element below it.Accessibility
Acceptance criteria
Array(Int32)andArray(String).Non-goals