🎨 Palette: Add keyboard accessibility to interactive cards#30
Conversation
Added role="button", tabIndex={0}, focus-visible outlines, and onKeyDown event listeners to ProjectCard and ExperienceCard interactive components. This allows keyboard-only and screen reader users to properly focus, see focus state, and activate the cards.
Co-authored-by: Dev22603 <92785712+Dev22603@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. |
✅ Deploy Preview for dev-bachani ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
💡 What: Added comprehensive keyboard accessibility (focus states, tab order, and key listeners) to interactive
ProjectCardandExperienceCardelements.🎯 Why: Interactive elements designed as standard generic
motion.divs were completely unreachable and unusable by keyboard. This prevents keyboard-only users from successfully interacting with portfolio items.📸 Before/After: Verified visual focus ring addition with media screenshot in testing.
♿ Accessibility:
role="button"to inform screen readers of the interaction type.tabIndex={0}to include elements in standard document tab-flow.onKeyDownhandlers correctly activating on 'Enter' and 'Space' (with default scrolling prevented for Space).focus-visiblestyling (focus-visible:ring-2 focus-visible:ring-primary focus-visible:outline-none) to show clear visual indication of active focus.PR created automatically by Jules for task 14170753872090875505 started by @Dev22603