Skip to content

Add severity shape icons and merge the details pane header#663

Merged
jschick04 merged 1 commit into
mainfrom
jschick/severity-icons
Jul 23, 2026
Merged

Add severity shape icons and merge the details pane header#663
jschick04 merged 1 commit into
mainfrom
jschick/severity-icons

Conversation

@jschick04

Copy link
Copy Markdown
Collaborator

Two UI improvements to the event table and details pane.

Severity level icons (accessibility)

  • Every severity level now has a distinct shape icon, not just a color, so levels stay legible for color-vision differences and in Windows forced-colors / high-contrast mode: Critical = filled octagon (new), Error = circle, Warning = triangle, Information = info-circle, Verbose = hollow circle (new). Previously Critical and Verbose had no icon at all.
  • Fixed the cramped gap between the level icon and its text.
  • A shared SeverityIcon map now drives both the log table and the details pane, closing a drift where the table marked Information but the details pane did not.
  • A generic .level-icon row-state override keeps icons legible on selected / highlighted / forced-colors rows.
  • Bumped the Level column default width so "Information" plus its icon no longer truncates.

Details pane header

  • Merged the "Details" header bar and the Reader/XML tab bar into one row, reclaiming a row of vertical space.
  • Renamed the "Reader" tab to "Details" and dropped the standalone "Details" label so the header matches the FilterPane style; the collapse control is now a bare caret at the far right (keeping aria-expanded / aria-controls).
  • When collapsed the pane shows a small "Details" label + caret so it stays identifiable.
  • Moved "Copy event" out of the role="tablist" (it was a non-tab button inside the tablist), an ARIA fix.

Tests

  • New SeverityIcon map tests (all 5 levels + null + a distinct-glyph invariant).
  • Updated the log-table level-class and details-pane tests; new tests for the collapsed "Details" label, the tab rename, Copy-not-in-tablist, and the toggle aria-controls link.
  • UI 1172, Runtime 1999, all green.

Delivers ADO Wave 2 62704706 (severity status-icon: shape, not color) plus the details-pane header polish.

Copilot AI review requested due to automatic review settings July 23, 2026 03:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves UI clarity and accessibility by introducing distinct shape-based severity icons (usable without color) and by streamlining the details pane header into a single, more space-efficient row with corrected ARIA structure.

Changes:

  • Added a shared SeverityIcon map and applied it to both the log table and details pane (with updated tests).
  • Introduced global .level-icon styling and row-state overrides to keep icons legible in selected/highlighted/forced-colors states.
  • Merged the details pane header and tab strip, renamed the “Reader” tab to “Details”, and moved “Copy event” out of the tablist.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/Unit/EventLogExpert.UI.Tests/LogTable/LogTablePaneLevelClassTests.cs Updates expectations to pin the new shared severity icon mapping for the log table.
tests/Unit/EventLogExpert.UI.Tests/DetailsPane/DetailsPaneTests.cs Adds/updates tests for the new header layout, ARIA fixes, and severity icon rendering behavior.
tests/Unit/EventLogExpert.UI.Tests/Common/SeverityIconTests.cs Adds new unit tests to pin the shared severity-to-icon CSS class mapping.
src/EventLogExpert.UI/wwwroot/app.css Adds global .level-icon styling and per-severity color classes.
src/EventLogExpert.UI/LogTable/LogTablePane.razor.css Updates selected/highlighted/forced-colors styling to target .level-icon generically.
src/EventLogExpert.UI/LogTable/LogTablePane.razor.cs Switches level-class computation to the shared SeverityIcon map.
src/EventLogExpert.UI/LogTable/LogTablePane.razor Renders severity icons only when a non-empty class is available, applying the new .level-icon wrapper class.
src/EventLogExpert.UI/DetailsPane/DetailsPane.razor.css Refactors header layout styling and removes obsolete severity-dot styles.
src/EventLogExpert.UI/DetailsPane/DetailsPane.razor.cs Removes the old severity-dot mapping helper now replaced by shared icon mapping.
src/EventLogExpert.UI/DetailsPane/DetailsPane.razor Merges header/tab bar, renames the “Reader” tab to “Details”, moves “Copy event” out of the tablist, and renders severity icons via SeverityIcon.
src/EventLogExpert.UI/Common/SeverityIcon.cs Adds the shared severity-to-icon CSS class map consumed by both surfaces.
src/EventLogExpert.Runtime/LogTable/ColumnDefaults.cs Increases the default Level column width to avoid truncation with the new icon + “Information” label.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jschick04
jschick04 marked this pull request as ready for review July 23, 2026 03:21
@jschick04
jschick04 requested a review from a team as a code owner July 23, 2026 03:21

@ryanriesMSFT ryanriesMSFT left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copilot AI review requested due to automatic review settings July 23, 2026 16:36
@jschick04
jschick04 force-pushed the jschick/severity-icons branch from 6a89367 to eea2753 Compare July 23, 2026 16:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Comment thread tests/Unit/EventLogExpert.UI.Tests/Common/SeverityIconTests.cs
@jschick04
jschick04 merged commit a8823a3 into main Jul 23, 2026
8 checks passed
@jschick04
jschick04 deleted the jschick/severity-icons branch July 23, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants