Skip to content

🎨 Palette: [UX improvement] Enhance accessibility of New Agent modal - #76

Open
parvezk wants to merge 1 commit into
mainfrom
palette/a11y-new-agent-modal-9847771396676118350
Open

🎨 Palette: [UX improvement] Enhance accessibility of New Agent modal#76
parvezk wants to merge 1 commit into
mainfrom
palette/a11y-new-agent-modal-9847771396676118350

Conversation

@parvezk

@parvezk parvezk commented Jul 29, 2026

Copy link
Copy Markdown
Owner

💡 What: Added comprehensive ARIA accessibility attributes to the New Agent modal, specifically turning the custom div-based vendor radio buttons into a semantic radiogroup and explicitly linking form inputs with aria-label or id/htmlFor.

🎯 Why: Custom interactive components lacking semantic roles are invisible or confusing to screen readers. Specifically, using divs for radio buttons requires manual state mappings, and relying solely on placeholders or disconnected generic labels makes form inputs inaccessible to assistive tech. These enhancements provide crucial context for keyboard and screen reader users without altering visual design.

📸 Before/After: No visual changes. Behavior strictly enhances the DOM for screen readers.

Accessibility:

  • Added role="radiogroup" to the vendor selection container.
  • Linked the "Vendor" label to the group via aria-labelledby.
  • Added role="radio" and explicit aria-checked states to the vendor toggle buttons.
  • Added explicit aria-labels to the Repository and Branch inputs.
  • Linked the "Task" label directly to its textarea via htmlFor and id.

PR created automatically by Jules for task 9847771396676118350 started by @parvezk

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 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 29, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
polyagent Ready Ready Preview, Comment Jul 29, 2026 8:22am

@cursor

cursor Bot commented Jul 29, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5c635b35cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

<button
key={v}
type="button"
role="radio"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Implement keyboard behavior before assigning the radio role

When a keyboard or screen-reader user reaches this group, the controls are announced as radios but still behave as independent buttons: all four remain in the Tab sequence, and the expected arrow-key navigation and selection do nothing because there is no roving tabIndex or onKeyDown handling. Implement the radio-group keyboard pattern or use native radio inputs before exposing these controls with role="radio".

Useful? React with 👍 / 👎.

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.

1 participant