Skip to content

🎨 Palette: Improve accessibility for icon-only buttons in TriggerKit#58

Open
NSEvent wants to merge 1 commit into
mainfrom
palette-a11y-symmetry-12489758692331309814
Open

🎨 Palette: Improve accessibility for icon-only buttons in TriggerKit#58
NSEvent wants to merge 1 commit into
mainfrom
palette-a11y-symmetry-12489758692331309814

Conversation

@NSEvent

@NSEvent NSEvent commented Jun 16, 2026

Copy link
Copy Markdown
Owner

This change ensures symmetric usage of .help() and .accessibilityLabel() on all icon-only buttons in AutomationMacroLibraryView, AutomationProgramEditor, and ModifierSetEditor, improving the screen reader experience on macOS.


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

Summary by CodeRabbit

  • Accessibility Improvements
    • Added descriptive accessibility labels to buttons throughout the application, including macro management, automation editing, and test controls
    • Enhanced modifier cycling controls with explicit help text describing behavior options
    • Improved assistive technology support across interface controls

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 Jun 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds .accessibilityLabel modifiers to icon-only SwiftUI buttons in AutomationMacroLibraryView, AutomationProgramEditor, and ModifierSetEditor. ModifierSetEditor also replaces its generic .help string with modifier-specific help and accessibility label text. The .Jules/palette.md style guide is updated with a matching dated entry.

Changes

Accessibility Label Symmetry for Icon-Only Buttons

Layer / File(s) Summary
Accessibility labels and help text on icon-only buttons
TriggerKit/Sources/TriggerKitUI/AutomationMacroLibraryView.swift, TriggerKit/Sources/TriggerKitUI/AutomationProgramEditor.swift, TriggerKit/Sources/TriggerKitUI/ModifierSetEditor.swift, .Jules/palette.md
Adds .accessibilityLabel to New Macro, Duplicate, and Delete buttons in AutomationMacroLibraryView; adds .accessibilityLabel to the Test, Expand/Collapse, Move Up, Move Down, and Delete buttons in AutomationProgramEditor; replaces the generic .help string in ModifierSetEditor with a modifier-specific .help and .accessibilityLabel describing the Off/Any/Left/Right cycle; records the symmetry requirement in palette.md.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • NSEvent/xbox-controller-mapper#53: Applies the same .help + .accessibilityLabel symmetry to icon-only SwiftUI buttons and updates the same palette.md guidance entry.
  • NSEvent/xbox-controller-mapper#56: Updates the identical "Ensure Symmetry in Accessibility and Tooltips" guidance in palette.md and standardizes .help + .accessibilityLabel on icon-only buttons in other UI modules.
  • NSEvent/xbox-controller-mapper#46: Adds the same accessibility/tooltip rule for SwiftUI icon-only buttons to palette.md.

Poem

🐇 Hop, hop — each button now speaks its name,
.accessibilityLabel joins the game.
No silent icon shall confuse VoiceOver's ear,
"New Macro", "Delete", "Move Down" — crystal clear!
The palette records it, the rabbit says: done,
Symmetry achieved, every label has won. 🎉

🚥 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 accurately describes the main change: improving accessibility for icon-only buttons in TriggerKit through adding accessibility labels to multiple UI components.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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-a11y-symmetry-12489758692331309814

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 and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.Jules/palette.md (1)

22-24: 💤 Low value

Consolidate duplicate palette documentation.

The new 2026-06-16 entry is identical to the existing 2026-06-06 entry (both dated within the current week). Keeping both creates redundant, confusing guidance. Consider updating the 2026-06-06 entry's date to 2026-06-16 instead of adding a new entry, or removing one of the duplicates.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.Jules/palette.md around lines 22 - 24, Remove the duplicate palette entry
in the .Jules/palette.md file. There are two identical entries about ensuring
symmetry in accessibility and tooltips for SwiftUI icon buttons - one dated
2026-06-06 and one dated 2026-06-16. Keep only one of these entries (recommend
keeping the newer 2026-06-16 dated entry) and delete the other to eliminate
redundant documentation that could cause confusion.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.Jules/palette.md:
- Around line 22-24: Remove the duplicate palette entry in the .Jules/palette.md
file. There are two identical entries about ensuring symmetry in accessibility
and tooltips for SwiftUI icon buttons - one dated 2026-06-06 and one dated
2026-06-16. Keep only one of these entries (recommend keeping the newer
2026-06-16 dated entry) and delete the other to eliminate redundant
documentation that could cause confusion.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ebefada3-aafc-4a52-ae13-b3ffae96a5c4

📥 Commits

Reviewing files that changed from the base of the PR and between 2e8dddb and dc0a178.

📒 Files selected for processing (4)
  • .Jules/palette.md
  • TriggerKit/Sources/TriggerKitUI/AutomationMacroLibraryView.swift
  • TriggerKit/Sources/TriggerKitUI/AutomationProgramEditor.swift
  • TriggerKit/Sources/TriggerKitUI/ModifierSetEditor.swift

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