🎨 Palette: Make list rows fully clickable with better VoiceOver support#32
🎨 Palette: Make list rows fully clickable with better VoiceOver support#32
Conversation
Wrapped the entire `HStack` contents in `CategoryRow.swift` and `NodeModulesSection.swift` in a `Button` to expand hit targets to the entire row edge-to-edge. Added `contentShape(Rectangle())` for empty space interactivity and `.accessibilityElement(children: .combine)` to consolidate the row VoiceOver readout. 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: Expanded the clickable hit target of list rows (
CategoryRowandNodeModulesRow) to encompass the entire width of the row rather than just the selection checkbox, and unified their VoiceOver announcements.🎯 Why: Users had to precisely tap a small circular checkbox to select an item. By wrapping the entire row in a
Buttonwith a rectangular content shape, the interaction feels significantly smoother and native.📸 Before/After: Visually identical, interaction area expanded from ~24x24pt to full row width.
♿ Accessibility: Added
.accessibilityElement(children: .combine)and tied.accessibilityAddTraits(.isSelected)to the check state so that screen readers correctly announce the entire row's context and its current toggle status as a single interactive element, preventing fragmented navigation.Also added a critical learning to
.jules/palette.mddetailing this SwiftUI-specific behavior.PR created automatically by Jules for task 17121227047300471241 started by @acebytes