🎨 Palette: Expand clickable area and improve VoiceOver for list rows#157
🎨 Palette: Expand clickable area and improve VoiceOver for list rows#157
Conversation
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 entire content of list rows in
CategoryRowandNodeModulesRowinside aButton, rather than just having a small clickable button for the checkbox icon.🎯 Why
Previously, the hit target for toggling a row's selection was restricted strictly to the small checkbox icon. This required precise mouse clicks and degraded the user experience. By expanding the hit target to the entire row, it is much easier and more intuitive to select multiple items.
📸 Before/After
(Visual change is minimal as
.buttonStyle(.plain)is used, but the clickable area now spans the entire row width instead of just the 24x24 point icon.)♿ Accessibility
.contentShape(Rectangle())so that the empty space between the title and the size acts as a valid touch target..accessibilityElement(children: .combine)so VoiceOver reads the entire row content (name, risk, size) together as a single element..accessibilityAddTraits(.isSelected)dynamically based on the row's selection state, ensuring screen readers accurately announce whether the row is checked.PR created automatically by Jules for task 4885421305114130097 started by @acebytes