Skip to content

🎨 Palette: Custom Modal Accessibility and Semantics#100

Draft
google-labs-jules[bot] wants to merge 2 commits into
mainfrom
palette-modal-a11y-9780340626638383814
Draft

🎨 Palette: Custom Modal Accessibility and Semantics#100
google-labs-jules[bot] wants to merge 2 commits into
mainfrom
palette-modal-a11y-9780340626638383814

Conversation

@google-labs-jules

Copy link
Copy Markdown

💡 What: The UX enhancement added

  • Added semantic attributes (role="dialog", aria-modal="true") to custom modals.
  • Upgraded close buttons from non-semantic <div>s to semantic <button>s with explicit aria-labels.
  • Added missing aria-label to the screenshot icon-only button in the main input bar.
  • Implemented global Escape key listener to dismiss open modals.

🎯 Why: The user problem it solves

Custom modal implementations without native <dialog> tags leak into screen readers and lack keyboard dismissal functionality (the Escape key). Icon-only buttons without aria-labels are opaque to screen readers. This ensures the app meets baseline keyboard accessibility and semantic expectations.

♿ Accessibility: Any a11y improvements made

  • Fixed screen reader contexts for 3 modals.
  • Enabled keyboard-only dismissal of modals.
  • Provided explicit descriptions for 4 icon-only buttons.

PR created automatically by Jules for task 9780340626638383814 started by @dqikfox

- Added `role="dialog"` and `aria-modal="true"` to `#screenshotModal`, `#pickerModal`, and `#systemMapModal`.
- Converted modal close `<div>` elements to semantic `<button>` elements.
- Added explicit `aria-label` attributes to modal close buttons and the input bar screenshot button.
- Implemented global `Escape` key event listener to gracefully dismiss active modals.
- Created `.Jules/palette.md` to journal the UX learning.
@google-labs-jules

Copy link
Copy Markdown
Author

👋 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 @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vision Ready Ready Preview, Comment Jul 1, 2026 2:58pm

…ning

The CI workflow `quality.yml` was using `actions/setup-python@v4` which relies on the deprecated Node.js 20 environment, causing workflow warnings/failures. Upgraded the action to `v5` per the project's memory guidelines to ensure stability.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants