Skip to content

fix(a11y): harden shared interactive controls - #527

Merged
Harry19081 merged 3 commits into
junyu/rpc-performance-closurefrom
fix/shared-component-accessibility
Jul 28, 2026
Merged

fix(a11y): harden shared interactive controls#527
Harry19081 merged 3 commits into
junyu/rpc-performance-closurefrom
fix/shared-component-accessibility

Conversation

@beruro

@beruro beruro commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • use native buttons for DateRange and macOS window controls instead of clickable divs with local keyboard emulation
  • expose SearchInput replace-toggle label and expanded state
  • add dialog/modal semantics, labelled close control, and Escape cleanup to image preview
  • make virtualized session rows focusable and Enter/Space operable without changing their measured row element
  • replace DateRange arbitrary spacing/typography values with project scale utilities

Validation

  • focused accessibility/SearchInput Vitest suites: 4 passed
  • pnpm exec tsc --noEmit --pretty false
  • Prettier and ESLint on all changed TypeScript/TSX files
  • git diff --check

Frontend UI audit

7 fixes applied, 4 patterns kept with documented reasons, 0 remaining abstraction candidates. The report is included at docs/frontend-ui-audit-2026-07-24/SharedComponentAccessibility.md.

Architecture audit

Covered compilation and shared interaction-state semantics. The virtualized row keeps its measured DOM ownership; no persistence, wire, initialization, resolver, or background lifecycle behavior changes.

@beruro
beruro changed the base branch from develop to junyu/rpc-performance-closure July 27, 2026 05:10
@beruro

beruro commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator Author

Restacked onto #512. This PR now contains only the semantic-button accessibility delta and focused contract coverage (4 files). Merge #512 first, then retarget to develop for CI.

@Harry19081
Harry19081 merged commit 75be0e6 into junyu/rpc-performance-closure Jul 28, 2026
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