Skip to content

🎨 Palette: [UX improvement] Link hotkey interactive controls to visual header - #441

Open
google-labs-jules[bot] wants to merge 2 commits into
mainfrom
palette-a11y-hotkey-15653463807446329098
Open

🎨 Palette: [UX improvement] Link hotkey interactive controls to visual header#441
google-labs-jules[bot] wants to merge 2 commits into
mainfrom
palette-a11y-hotkey-15653463807446329098

Conversation

@google-labs-jules

Copy link
Copy Markdown
Contributor

💡 What: Linked the Hotkey ComboBox and TextBox to their visual header via AutomationProperties.LabeledBy.
🎯 Why: To properly support screen readers in WinUI 3 forms by providing descriptive context for interactive controls.
♿ Accessibility impacts: Ensures visually impaired users utilizing screen readers can properly identify the purpose of the hotkey modifier and key inputs.


PR created automatically by Jules for task 15653463807446329098 started by @mikekthx

@google-labs-jules

Copy link
Copy Markdown
Contributor Author

👋 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.

@google-labs-jules
google-labs-jules Bot requested a review from mikekthx as a code owner July 22, 2026 11:30
@github-actions github-actions Bot added documentation Improvements or additions to READMEs, wikis, or inline code comments. ui Front-end changes, WinUI layouts, styling (e.g., Acrylic), or system tray updates. labels Jul 22, 2026
Comment thread .jules/palette.md Outdated
@mikekthx

Copy link
Copy Markdown
Owner

Code Review

What this PR does

Adds AutomationProperties.LabeledBy attributes to the hotkey ComboBox and TextBox in SettingsWindow.xaml so screen readers can announce the "Hotkey" section header when those controls receive focus. Adds an x:Name to the TextBlock header to make it referenceable, and records the learning in .jules/palette.md.

Overall assessment

The XAML change is correct and well-formed. The approach follows the documented sharp-edge in CLAUDE.md precisely — {Binding ElementName=HotkeyHeader} is required for AutomationProperties.LabeledBy (never {x:Bind}), and that's exactly what's used here. No new localized strings, tests, or service wiring are needed for a pure accessibility attribute change, so the PR is appropriately minimal.

One blocking issue

Wrong year in .jules/palette.md — the new entry is dated 2024-07-22 but the commit is timestamped 2026-07-22. CLAUDE.md requires verifying the current date with date +%Y-%m-%d before writing it. See the inline comment for the one-line fix.

Minor

The new palette heading wraps its title in brackets ([Link interactive controls to visual headers]) while all other entries use plain titles. Not blocking, but fixing it alongside the date would keep the file consistent.


@jules please address the issues noted above

@google-labs-jules

Copy link
Copy Markdown
Contributor Author

Code Review

What this PR does

Adds AutomationProperties.LabeledBy attributes to the hotkey ComboBox and TextBox in SettingsWindow.xaml so screen readers can announce the "Hotkey" section header when those controls receive focus. Adds an x:Name to the TextBlock header to make it referenceable, and records the learning in .jules/palette.md.

Overall assessment

The XAML change is correct and well-formed. The approach follows the documented sharp-edge in CLAUDE.md precisely — {Binding ElementName=HotkeyHeader} is required for AutomationProperties.LabeledBy (never {x:Bind}), and that's exactly what's used here. No new localized strings, tests, or service wiring are needed for a pure accessibility attribute change, so the PR is appropriately minimal.

One blocking issue

Wrong year in .jules/palette.md — the new entry is dated 2024-07-22 but the commit is timestamped 2026-07-22. CLAUDE.md requires verifying the current date with date +%Y-%m-%d before writing it. See the inline comment for the one-line fix.

Minor

The new palette heading wraps its title in brackets ([Link interactive controls to visual headers]) while all other entries use plain titles. Not blocking, but fixing it alongside the date would keep the file consistent.


@jules please address the issues noted above

Thank you for the review! I have updated the .jules/palette.md entry to use the correct year (2026 instead of 2024) and removed the brackets from the title to keep it consistent with the other entries.

@mikekthx

Copy link
Copy Markdown
Owner

Code Review

What this PR does: Adds AutomationProperties.LabeledBy to the Hotkey ComboBox and TextBox in SettingsWindow.xaml, linking them to the HotkeyHeader TextBlock so screen readers announce the section label when those controls receive focus. A palette learning entry is also added.

Overall assessment: Approve — no issues.

Thread resolution

The one previously unresolved thread (wrong date 2024-07-22 + inconsistent title brackets) has been addressed in this push. Both concerns are fixed:

  • Date is now correctly 2026-07-22
  • Brackets around title removed, consistent with other entries

That thread has been resolved.

Review findings

  • AutomationProperties.LabeledBy uses {Binding ElementName=...} not {x:Bind}: correct per CLAUDE.md
  • No new UI strings added (attribute only, no localization needed)
  • No new services, P/Invoke, or tests required
  • palette.md date and formatting: fixed in this push
  • Code style / XAML conventions: all good

The change is minimal, targeted, and fully compliant with the codebase's XAML/accessibility guidelines.

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

Labels

documentation Improvements or additions to READMEs, wikis, or inline code comments. ui Front-end changes, WinUI layouts, styling (e.g., Acrylic), or system tray updates.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant