Repository navigation
fix(a11y): name Agent Dashboard column regions - #26865
Conversation
Reuse each translated column heading as the section accessible name in the drawer and popout. Cover default regions, card association and translated optional Idle. Co-authored-by: Matheus Breguêz <matbrgz@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughKanban columns now use their bucket label as both the section’s accessible name and its visible heading. Tests verify the default column regions, card placement, absence of the Idle region by default, and translated labels when idle agents are shown. Priority: ➖ Normal Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The change addresses the column-naming request, with tests for the default and translated labels. No actionable merge risk is evident. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ELI5
Screen-reader users can find each Agent Dashboard column by its visible name.
What Changed
The in-app board and popout showed “Needs You”, “Working”, “Done”, and optional “Idle”, but their column sections had no accessible names. The shared board now names each section with the same existing translated text shown in its header. Chromium exposes those named sections as regions containing their cards.
Adapted from @matbrgz’s #25564, with Matheus Breguêz’s co-author credit. Added localized and optional-idle regression coverage.
Why
The existing section element already provides the region semantics once named. Reusing its translated heading avoids a separate label catalog or redundant role, and fixes both surfaces in one place. Layout, card actions and keyboard/focus behavior stay unchanged.
Linked Issue
Fixes #25563
Visual Proof
N/A — this adds accessibility metadata with no visual change. Hidden Electron/CDP captured the real drawer and popout components before and after: both went from zero named regions to “Needs You”, “Working”, “Done”, and “Idle”. Chinese captures expose “需要你”, “工作中”, “已完成”, and “空闲”; default captures omit Idle. Each region contains its matching card, and all focusable controls are unchanged. The popout screenshots are pixel-identical; the drawer differs only in an existing status-dot animation phase.
Testing
Two regressions fail on baseline and pass with the fix. All 48 dashboard suites / 409 tests pass, including existing search/focus and drawer/popout tests. Renderer typecheck, full-file lint/format, changed-code quality and desktop Vite build pass. Independent review passed 25 overlapping focused tests and found no blocker.
Actual current drawer/Sheet and popout/board/card components were rendered with canonical CSS in a hidden macOS Electron renderer. Fixture snapshot/store inputs and unused IPC/closed terminal preview were substituted; column markup was not. The exact commit also passed the same 3 portable happy-dom component suites / 25 tests on each native host: Windows x64 Node24.18.0 and Linux x64 Node26.8.1, with Vitest5.0.3 and isolated locked dependencies. Those runs made no UI/model calls and establish component portability, not native accessibility-tree or screen-reader behavior. Native screen-reader speech and live SSH snapshots were not tested. This changes no platform paths, host status, workspace handling or wire fields.
AI Disclosure
Review
Independent and final root source reviews clean at be492dc. Exact-commit Windows/Linux portable component checks passed (25 each). Full CI passed all five Node24 unit shards, static/type checks, relay integration, both packaging jobs and the required verify check at the reviewed commit. The ready-event run also passed with explicit reuse of those identical successful required checks; the Headless follow-on passed. This PR is ready for review and remains open.
Agent skill upstream boundary
Notes
Names use the existing localization keys. This changes only how the shared board’s sections are exposed to assistive technology.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)