🎨 Palette: Improve hit targets and accessibility for list rows#47
🎨 Palette: Improve hit targets and accessibility for list rows#47
Conversation
Wrapped list rows (CategoryRow and NodeModulesRow) entirely in a Button with a contentShape of Rectangle to expand hit targets and prevent VoiceOver fragmentation. Co-authored-by: acebytes <2820910+acebytes@users.noreply.github.com>
|
👋 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 New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
💡 What
Wrapped the contents of
CategoryRowandNodeModulesRowentirely inside aButtonwith.contentShape(Rectangle())rather than only making the checkbox an interactive element. Applied.accessibilityElement(children: .combine)to group the text content.🎯 Why
Previously, clicking anywhere in the row except exactly on the tiny checkbox did nothing, leading to a frustrating experience when trying to quickly select multiple items. Additionally, VoiceOver would read every single text element (name, path, size, badge) as a separate element, fragmenting the context.
📸 Before/After
Before: Only the 24x24 checkbox icon is clickable. VoiceOver reads elements individually.
After: The entire row width/height is clickable. VoiceOver reads the row as a single cohesive element.
♿ Accessibility
.accessibilityElement(children: .combine).PR created automatically by Jules for task 4944010704588438604 started by @acebytes