Skip to content

UI improvements: responsive layout, mobile nav, and accessibility#14

Merged
eclectic-coding merged 6 commits into
mainfrom
ui/misc-updates
May 19, 2026
Merged

UI improvements: responsive layout, mobile nav, and accessibility#14
eclectic-coding merged 6 commits into
mainfrom
ui/misc-updates

Conversation

@eclectic-coding
Copy link
Copy Markdown
Owner

Summary

  • Align navbar content with page content width (max-width constraint)
  • Add mobile-responsive layout at ≤640px (stacked page headers, scrollable tables, smaller stat grid)
  • Add hamburger toggle nav for <576px with CSS dropdown
  • Improve accessibility across all views and layout

Changes

Navbar alignment — wrap header title and nav in a constrained inner div so they line up horizontally with the main content area.

Mobile layout (≤640px) — page headers stack vertically, cards scroll horizontally for wide tables, stat grid uses smaller minimum cell width, main padding reduced. Adds sqd-grid-2 utility class for responsive two-column layouts.

Hamburger nav (<576px) — three-bar toggle button appears on small screens, opens a full-width absolute dropdown with vertically stacked links. No JS file required — single inline onclick handler. aria-expanded toggled on open/close.

Accessibility:focus-visible ring for keyboard navigation, role="status"/role="alert" on flash messages, aria-label on nav landmark, aria-current="page" on active nav links, scope="col" on all table headers, visually-hidden "Actions" label on empty action columns, .sqd-sr-only utility class.

Test plan

  • Desktop: navbar title and links align with page content
  • Tablet (768px): two-column grids collapse to one column
  • Mobile (≤640px): page headers stack, tables scroll horizontally
  • Mobile (<576px): hamburger button appears, toggles nav dropdown
  • Keyboard: focus ring visible on all interactive elements
  • Screen reader: flash messages announced, nav landmark labelled, active page indicated

🤖 Generated with Claude Code

eclectic-coding and others added 6 commits May 19, 2026 06:46
Wrap header title and nav in a constrained inner div so they align
horizontally with the main content area (max-width: 1200px, centered).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Navbar wraps title and links on small screens (≤640px)
- Page headers stack vertically on mobile
- Tables scroll horizontally inside cards on mobile
- Stat grid uses smaller min cell width on mobile
- Reduced main padding on mobile
- Add sqd-grid-2 utility class (responsive 2-col → 1-col at 768px)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Toggle button with three-bar icon appears on small screens. Clicking
opens a full-width dropdown nav with vertically stacked links. Uses an
inline onclick — no JS file or pipeline required.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add :focus-visible ring (2px primary blue) for keyboard navigation
- Add .sqd-sr-only utility class for visually-hidden text
- aria-expanded on hamburger toggle, updated by onclick
- role="status" on notice flash, role="alert" on alert flash
- aria-label="Main" on <nav>
- aria-current="page" on active nav links
- scope="col" on all <th> elements
- Visually-hidden "Actions" label on empty action <th> cells

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@eclectic-coding eclectic-coding merged commit 7d215bc into main May 19, 2026
5 checks passed
@eclectic-coding eclectic-coding deleted the ui/misc-updates branch May 19, 2026 11:09
@codecov-commenter
Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

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.

2 participants