Skip to content

🎨 Palette: Add context to Command Wheel action edit/delete buttons - #172

Open
NSEvent wants to merge 1 commit into
mainfrom
palette/command-wheel-a11y-1242748874658624198
Open

NSEvent wants to merge 1 commit into
mainfrom
palette/command-wheel-a11y-1242748874658624198

Conversation

@NSEvent

@NSEvent NSEvent commented Sep 10, 2026

Copy link
Copy Markdown
Owner

💡 What: Added the action's dynamic display name to the .help() and .accessibilityLabel() modifiers for the Edit and Delete buttons in the Command Wheel list.

🎯 Why: Previously, VoiceOver users tabbing through a list of actions would hear "Edit Command Wheel Action, Button" multiple times, making it impossible to know which specific action they were interacting with. Adding context resolves this ambiguity.

📸 Before/After:
Before: Hovering over Edit showed "Edit". VoiceOver read "Edit Command Wheel Action, Button".
After: Hovering over Edit shows "Edit [Action Name]". VoiceOver reads "Edit [Action Name], Button".

Accessibility: Solves a major context issue for screen reader users by interpolating the specific item name into the control labels. It also provides a fallback string ("Unnamed") if the action name is empty, preventing confusing "Edit " announcements.


PR created automatically by Jules for task 1242748874658624198 started by @NSEvent

Summary by CodeRabbit

  • Accessibility
    • Improved Edit and Delete button labels and tooltips by including the associated action’s name.
    • Added a fallback label for actions without a display name.
    • Documented accessibility guidance for list rows containing explicit action buttons.

This patch updates the Edit and Delete buttons in the CommandWheelSettingsView to use dynamic `.help()` tooltips and `.accessibilityLabel()` modifiers that include the specific action's display name. This gives screen reader users and mouse-hover users immediate context about which item in the list they are modifying or removing, replacing the generic, static labels that caused ambiguity when multiple items were present.

Co-authored-by: NSEvent <44446865+NSEvent@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 5b82968e-e44d-40a7-b32f-9f96e65d63e4

📥 Commits

Reviewing files that changed from the base of the PR and between a467a5f and 8c73512.

📒 Files selected for processing (2)
  • .Jules/palette.md
  • XboxControllerMapper/XboxControllerMapper/Views/MainWindow/CommandWheelSettingsView.swift

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The Edit and Delete buttons now include the command action’s display name in their help text and accessibility labels. A journal entry documents VoiceOver behavior for rows that contain explicit action buttons.

Changes

Accessibility labels

Layer / File(s) Summary
Action-specific button labels
XboxControllerMapper/XboxControllerMapper/Views/MainWindow/CommandWheelSettingsView.swift, .Jules/palette.md
Edit and Delete buttons use the action display name, or “Unnamed” when empty. The journal documents the related VoiceOver guidance.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 8c735

Edit and Delete controls now identify the affected action, using “Unnamed” when necessary. The focused accessibility improvement introduces no material merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding action-specific context to the Command Wheel edit and delete buttons.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch palette/command-wheel-a11y-1242748874658624198

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant