♿ Fix keyboard navigation gaps in Tour, Onboarding, CardHistory, and ClusterGrid#3858
Conversation
✅ Deploy Preview for kubestellarconsole ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
👋 Hey @Copilot — thanks for opening this PR!
This is an automated message. |
|
[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 |
…dHistory, and ClusterGrid - Tour.tsx: add aria-label to icon-only skip and previous-step buttons - Onboarding.tsx: add dynamic aria-label to ArrowUp/ArrowDown rank move buttons - CardHistory.tsx: add dynamic aria-label to restore and remove icon-only buttons - ClusterGrid.tsx: add role=button, tabIndex, onKeyDown (Enter/Space), and aria-label to FullClusterCard, ListClusterCard, and CompactClusterCard clickable divs; extract handleCardKeyDown helper to avoid duplication Signed-off-by: GitHub Copilot <copilot@github.com> Agent-Logs-Url: https://github.com/kubestellar/console/sessions/00628e4a-456a-4619-a1a5-d3fe5f29e8b0 Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
Main already had these aria-labels from a prior commit. The rebase introduced duplicates that broke the TypeScript build (TS17001). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
50f7d52 to
a47da63
Compare
|
Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits. 📝 Please follow instructions in the contributing guide to update your commits with the DCO Full details of the Developer Certificate of Origin can be found at developercertificate.org. The list of commits missing DCO signoff: DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
Thank you for your contribution! Your PR has been merged. Check out what's new:
Stay connected: Slack #kubestellar-dev | Multi-Cluster Survey |
Auto-QA flagged clickable
<div>elements without keyboard access and icon-only<button>elements missingaria-label, making these controls unreachable or unidentifiable via keyboard/screen reader.📌 Fixes
📝 Summary of Changes
ClusterGrid.tsx: Three clickable card<div>s (Full, List, Compact) were keyboard-dead — addedrole="button",tabIndex={0},onKeyDown(Enter/Space), andaria-label; extracted sharedhandleCardKeyDownhelperTour.tsx: Icon-only skip (✕) and previous-step (‹) buttons had noaria-labelOnboarding.tsx: Rank-ordering arrow buttons had noaria-label— now dynamic:Move ${option} up/downCardHistory.tsx: Restore and remove icon-only buttons had noaria-label— now dynamic:Restore/Remove ${entry.cardTitle} from historyPods.tsx: Already compliant — no changes neededChanges Made
FullClusterCard,ListClusterCard,CompactClusterCarddivs:role="button"+tabIndex+onKeyDown+aria-labelhandleCardKeyDownutility to deduplicate keyboard handler across card variantsaria-labelto icon-only buttons inTour.tsx,Onboarding.tsx,CardHistory.tsxChecklist
git commit -s)Screenshots or Logs (if applicable)
N/A — pure accessibility attribute changes, no visual diff.
👀 Reviewer Notes
All three cluster card variants (
FullClusterCard,ListClusterCard,CompactClusterCard) share the samehandleCardKeyDownhelper. Thearia-labelvalues for Onboarding rank buttons and CardHistory action buttons are dynamic so screen reader users know exactly which item is being acted on.📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.