Skip to content

🐛 Fix Target Cluster Selector keyboard accessibility#12850

Merged
kubestellar-hive[bot] merged 4 commits into
mainfrom
fix/12842
May 9, 2026
Merged

🐛 Fix Target Cluster Selector keyboard accessibility#12850
kubestellar-hive[bot] merged 4 commits into
mainfrom
fix/12842

Conversation

@kubestellar-hive
Copy link
Copy Markdown
Contributor

Fixes #12842

Problem

The Target Cluster Selector in Mission Control uses a clickable div without keyboard accessibility support. Keyboard users cannot focus, open, or dismiss the selector.

Fix

  • Changed selector trigger from div to button element
  • Added aria-expanded and aria-haspopup attributes for screen readers
  • Added aria-label for clear semantic meaning
  • Added Escape key handler to dismiss dropdown
  • Ensured proper focus management with native button semantics

Testing

  • Tab to the Target Clusters selector → it receives focus
  • Press Enter/Space → dropdown opens
  • Press Escape → dropdown dismisses
  • Screen readers announce the expanded/collapsed state
  • All existing click behavior preserved
Add proper keyboard semantics to the cluster selector trigger:
- Changed div to button element with aria-expanded/aria-haspopup
- Added Escape key handler to dismiss dropdown
- Added aria-label for screen reader support
- Ensured proper focus management for keyboard navigation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Copilot <copilot@github.com>
Copilot AI review requested due to automatic review settings May 9, 2026 19:55
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label May 9, 2026
@netlify
Copy link
Copy Markdown

netlify Bot commented May 9, 2026

Deploy Preview for kubestellarconsole ready!

Name Link
🔨 Latest commit 56762e6
🔍 Latest deploy log https://app.netlify.com/projects/kubestellarconsole/deploys/69ff9956a2369e0008d70d81
😎 Deploy Preview https://deploy-preview-12850.console-deploy-preview.kubestellar.io
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kubestellar-prow
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign eeshaansa for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

👋 Hey @kubestellar-hive[bot] — thanks for opening this PR!

🤖 This project is developed exclusively using AI coding assistants.

Please do not attempt to code anything for this project manually.
All contributions should be authored using an AI coding tool such as:

This ensures consistency in code style, architecture patterns, test coverage,
and commit quality across the entire codebase.


This is an automated message.

@github-actions github-actions Bot added ai-generated Pull request generated by AI tier/2-standard copilot labels May 9, 2026
@kubestellar-prow kubestellar-prow Bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label May 9, 2026
Replace clickable div with button element, add keyboard event handlers
for Enter/Space (toggle) and Escape (close), and proper ARIA attributes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Copilot <copilot@github.com>
@kubestellar-prow kubestellar-prow Bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels May 9, 2026
Copilot and others added 2 commits May 9, 2026 20:17
Use Event type and cast to KeyboardEvent to satisfy TypeScript
addEventListener overload signatures.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Copilot <copilot@github.com>
Signed-off-by: GitHub Copilot <github-copilot@github.com>
@kubestellar-hive kubestellar-hive Bot merged commit 629b4fb into main May 9, 2026
30 of 31 checks passed
@kubestellar-hive kubestellar-hive Bot deleted the fix/12842 branch May 9, 2026 20:52
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

Thank you for your contribution! Your PR has been merged.

Check out what's new:

Stay connected: Slack #kubestellar-dev | Multi-Cluster Survey

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

✅ Post-Merge Verification: passed

Commit: 629b4fb9a09dd1b4322f172488d9a1d2899ab389
Specs run: smoke.spec.ts
Report: https://github.com/kubestellar/console/actions/runs/25611532413

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

Post-merge build verification passed

Both Go and frontend builds compiled successfully against merge commit 629b4fb9a09dd1b4322f172488d9a1d2899ab389.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-generated Pull request generated by AI copilot dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. tier/2-standard

1 participant