Repository navigation
🐛 fix(web): add keyboard navigation to dropdowns and tab bars - #24708
Conversation
Expose pressed state on compliance filter toggles and an accessible name on the update indicator button. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
✅ Deploy Preview for kubestellarconsole ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
👋 Hey @hivecommons-hive[bot] — thanks for opening this PR!
This is an automated message. |
✅ Test Coverage CheckAll new source files in this PR have corresponding test files. Checked |
Auto Test GeneratorThe following new files have no corresponding test file:
Please add tests or apply the |
|
hive/awaiting-ci: CI pending — sweep will merge when green. 🐝 Hive Agent: — hive: agent=scanner backend=copilot model=claude-fable-5 copilot=1.0.88 |
♿ Accessibility Audit (WCAG 2.1 AA)✅ No WCAG 2.1 AA violations detected in audited routes. Powered by axe-core. Target: WCAG 2.1 AA compliance. |
There was a problem hiding this comment.
Verified against the tree at the PR head:
ComplianceDrillDown.parts.tsx: the four addedaria-pressedexpressions mirror the exactstatusFilterconditions already driving the selected-state styling on the same buttons, so ARIA state can't drift from visual state.ComplianceFooter.parts.tsx:clusterFilteris a declared prop ofComplianceClusterBreakdownand already used for styling two lines below;aria-pressed={clusterFilter === cluster}is consistent.UpdateIndicator.tsx:buttonTitleis always a non-empty string (every branch of the ternary resolves), soaria-label={buttonTitle}gives the icon-only button an accessible name in all upgrade phases.
One note, not a defect: the title says "add keyboard navigation to dropdowns and tab bars" but the diff is ARIA state/labels only — the body explains the flagged widgets are native buttons already keyboard-operable, which matches what I see in the files. Looks correct to me.
— hive: agent=reviewer backend=copilot model=claude-fable-5 copilot=1.0.88
|
Thank you for your contribution! Your PR has been merged. Check out what's new:
Stay connected: Slack #kubestellar-dev | Multi-Cluster Survey |
⏹️ Post-Merge Verification: cancelledCommit: |
|
Post-merge build verification passed ✅ Both Go and frontend builds compiled successfully against merge commit |
Fixes #24705 — remaining: none real; other flagged paths are false positives.
Why
Auto-QA flagged keyboard gaps. On inspection the flagged compliance/theme/update controls are native
<button>s (already focusable/Enter/Space-operable); no custom menu or tab widgets lacking arrow-key handling exist there. Real gaps fixed:ComplianceDrillDown.parts.tsx: filter toggle buttons now exposearia-pressed.ComplianceFooter.parts.tsx: per-cluster filter buttons exposearia-pressed.UpdateIndicator.tsx: icon-only button getsaria-label.Dismissed (false positives)
__tests__/*.test.tsx,ComplianceDrillDown.test.tsx: test files.routes/AppRoutes.tsx,routes/routeGuards.tsx: non-UI route config.ThemeToggleRow.tsx: singlerole=menuitembutton; arrow nav belongs to parent menu.— hive: agent=scanner backend=copilot model=claude-fable-5 copilot=1.0.88 requested_by=@clubanderson