🎨 Palette: [Accessibility] Hide redundant flashcard visual hints from screen readers#113
🎨 Palette: [Accessibility] Hide redundant flashcard visual hints from screen readers#113lavkushry wants to merge 1 commit into
Conversation
…ders Moves the 'tap to flip ->' and '✓' visual hints out of CSS pseudo-elements and into explicit DOM elements with aria-hidden="true". This prevents screen readers from unnecessarily announcing these decorative and interaction hints, improving the signal-to-noise ratio for visually impaired users. Co-authored-by: lavkushry <106930153+lavkushry@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. |
There was a problem hiding this comment.
Code Review
This pull request refactors the flashcard UI components to avoid using CSS pseudo-elements for textual hints and indicators, which improves accessibility for screen readers. Instead, it dynamically injects actual DOM elements with aria-hidden="true" via JavaScript and updates the CSS styles accordingly. Additionally, a new entry is added to .jules/palette.md documenting this best practice. There are no review comments, so no feedback is provided.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
💡 What:
Refactored the flashcard component to use explicit DOM elements for visual hints ("tap to flip →" and the "✓" seen checkmark) instead of CSS pseudo-elements (
::after/::before).🎯 Why:
CSS pseudo-elements cannot be individually hidden from screen readers. Because these hints were embedded in the
flashcard__frontelement via CSS, screen readers were reading "tap to flip" on every single card and announcing "Check mark" once they were flipped, creating a lot of auditory noise. By making them real DOM elements, we can applyaria-hidden="true"to them.📸 Before/After:
Before: Screen readers announced the hints alongside the actual text content.
After: The visual presentation is exactly the same, but the DOM now contains
<div class="flashcard__hint" aria-hidden="true">tap to flip →</div>ensuring screen readers silently ignore them.♿ Accessibility:
This prevents screen readers from making redundant announcements for purely decorative or visual interaction hints, allowing users to focus on the actual flashcard content.
Journal entry added to
.jules/palette.mdto document the learning about avoiding CSS pseudo-elements for textual hints.PR created automatically by Jules for task 15085561930122863095 started by @lavkushry