UX/UI Improvements: Accessibility, Polish, and Responsiveness (10 Items) #7

Open
nsatoshi wants to merge 0 commits from devin/1777690035-ui-accessibility-improvements into main
Owner

Summary

Implements all 10 UX/UI improvements from the audit to push the UI score from 71.9 toward 85+ (Polished tier).

12 files changed, +574/-127 lines. 511 Python tests + 10 frontend tests passing, 0 ruff errors.

Changes:

  1. WCAG AA Contrast Fixes--text-muted increased to #8b8b95 for 4.5:1+ ratio in dark mode
  2. ARIA Roles — tabs, avatars, status cards, live regions, alerts across all pages
  3. Unique Head Colors — 12 distinct colors per head via [data-head] CSS selectors
  4. Toast Notification SystemToastProvider + useToast() hook with 4 types
  5. Structured Per-Head Response Cards — colored dot indicators + head summaries
  6. Status Visualization — colored status dots (healthy/degraded/offline) with glow
  7. Collapsible Avatar Grid — toggle button on mobile with active count
  8. System Color Scheme Detectionprefers-color-scheme CSS + JS fallback
  9. Markdown Rendering — zero-dependency parser for code, lists, headings, links
  10. Mobile Touch Targets — 44px minimum on all interactive elements

New Files:

  • frontend/src/components/Toast.tsx
  • frontend/src/components/Markdown.tsx

Review & Testing Checklist

  • Verify WCAG contrast in dark mode
  • Test keyboard navigation focus rings
  • Test toast notifications (Settings → Save)
  • Test mobile layout (<768px) — collapsible grid + 44px targets
  • Verify system theme detection

Notes

  • Zero new dependencies
  • All 521 tests passing (511 Python + 10 Vitest)
  • matchMedia mock added to test-setup.ts for jsdom
## Summary Implements all 10 UX/UI improvements from the audit to push the UI score from 71.9 toward 85+ (Polished tier). **12 files changed, +574/-127 lines. 511 Python tests + 10 frontend tests passing, 0 ruff errors.** ### Changes: 1. **WCAG AA Contrast Fixes** — `--text-muted` increased to `#8b8b95` for 4.5:1+ ratio in dark mode 2. **ARIA Roles** — tabs, avatars, status cards, live regions, alerts across all pages 3. **Unique Head Colors** — 12 distinct colors per head via `[data-head]` CSS selectors 4. **Toast Notification System** — `ToastProvider` + `useToast()` hook with 4 types 5. **Structured Per-Head Response Cards** — colored dot indicators + head summaries 6. **Status Visualization** — colored status dots (healthy/degraded/offline) with glow 7. **Collapsible Avatar Grid** — toggle button on mobile with active count 8. **System Color Scheme Detection** — `prefers-color-scheme` CSS + JS fallback 9. **Markdown Rendering** — zero-dependency parser for code, lists, headings, links 10. **Mobile Touch Targets** — 44px minimum on all interactive elements ### New Files: - `frontend/src/components/Toast.tsx` - `frontend/src/components/Markdown.tsx` ## Review & Testing Checklist - [ ] Verify WCAG contrast in dark mode - [ ] Test keyboard navigation focus rings - [ ] Test toast notifications (Settings → Save) - [ ] Test mobile layout (<768px) — collapsible grid + 44px targets - [ ] Verify system theme detection ### Notes - Zero new dependencies - All 521 tests passing (511 Python + 10 Vitest) - `matchMedia` mock added to test-setup.ts for jsdom
This pull request is broken due to missing fork information.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin devin/1777690035-ui-accessibility-improvements:devin/1777690035-ui-accessibility-improvements
git checkout devin/1777690035-ui-accessibility-improvements
Sign in to join this conversation.