Skip to content

🎨 Palette: Add missing ARIA labels to chat and editor buttons#56

Draft
AashishH15 wants to merge 1 commit into
mainfrom
palette/aria-labels-4483375085932542466
Draft

🎨 Palette: Add missing ARIA labels to chat and editor buttons#56
AashishH15 wants to merge 1 commit into
mainfrom
palette/aria-labels-4483375085932542466

Conversation

@AashishH15

Copy link
Copy Markdown
Member

💡 What: Added aria-label attributes to icon-only buttons in ChatPanel and NodeEditorDetail components.
🎯 Why: Improves screen reader accessibility by providing descriptive text for purely visual actions like edit, copy, show more, and tool toggles.
♿ Accessibility: Ensures that keyboard and screen reader users can understand the purpose of interactive elements that do not have visible text.


PR created automatically by Jules for task 4483375085932542466 started by @AashishH15

💡 What: Added aria-label attributes to icon-only buttons in ChatPanel and NodeEditorDetail components.
🎯 Why: Improves screen reader accessibility by providing descriptive text for purely visual actions like edit, copy, show more, and tool toggles.
♿ Accessibility: Ensures that keyboard and screen reader users can understand the purpose of interactive elements that do not have visible text.
@google-labs-jules

Copy link
Copy Markdown

👋 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.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces accessibility enhancements by adding aria-label attributes to buttons in ChatPanel.tsx and NodeEditorDetail.tsx, alongside several shell scripts used to automate these edits. The review feedback points out that adding aria-label to buttons with visible text (such as "Cancel", "Save", "Focus Canvas", and the charts toggle) is redundant and overrides the visible text, violating WCAG 2.5.3 (Label in Name) and hiding state information from screen readers. Additionally, the reviewer notes a mismatch between the dynamic aria-label and the static title attribute for the copy message buttons, and recommends removing the temporary shell scripts from the repository.

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.

Comment on lines 196 to 198
title="Toggle interactive charts render workspace assets"
aria-label="Toggle interactive charts"
>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

The button already has clear, visible text: 📊 Charts: {chartsEnabled ? "ON" : "OFF"}. Adding aria-label="Toggle interactive charts" completely overrides the button's text content for screen readers. As a result, screen reader users will only hear "Toggle interactive charts" and will not be able to hear whether the charts are currently "ON" or "OFF". It is best to remove the aria-label attribute entirely since the visible text is already fully accessible and descriptive.

Suggested change
title="Toggle interactive charts render workspace assets"
aria-label="Toggle interactive charts"
>
title="Toggle interactive charts render workspace assets"
>

Comment on lines 206 to 208
title="Expand editor to full center canvas focus"
aria-label="Expand editor"
>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

The button has visible text "Focus Canvas". Adding aria-label="Expand editor" overrides this text, violating WCAG 2.1 Success Criterion 2.5.3 (Label in Name), which requires that the accessible name of a control contains its visible text. This mismatch breaks voice control activation (e.g., users saying "Click Focus Canvas" will fail because the accessible name is "Expand editor"). Since the visible text is already fully accessible, the aria-label should be removed.

Suggested change
title="Expand editor to full center canvas focus"
aria-label="Expand editor"
>
title="Expand editor to full center canvas focus"
>

Comment on lines 116 to 118
className="chat-bubble-edit-btn cancel"
aria-label="Cancel edit"
onClick={onCancelEdit}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The button has visible text "Cancel". Adding aria-label="Cancel edit" is redundant and overrides the visible text, violating WCAG 2.5.3 (Label in Name). The aria-label should be removed.

Suggested change
className="chat-bubble-edit-btn cancel"
aria-label="Cancel edit"
onClick={onCancelEdit}
className="chat-bubble-edit-btn cancel"
onClick={onCancelEdit}

Comment on lines 124 to 126
className="chat-bubble-edit-btn save"
aria-label="Save edit"
onClick={() => void onSaveEdit(index, editingContent)}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The button has visible text "Save". Adding aria-label="Save edit" is redundant and overrides the visible text, violating WCAG 2.5.3 (Label in Name). The aria-label should be removed.

Suggested change
className="chat-bubble-edit-btn save"
aria-label="Save edit"
onClick={() => void onSaveEdit(index, editingContent)}
className="chat-bubble-edit-btn save"
onClick={() => void onSaveEdit(index, editingContent)}

Comment on lines 170 to +171
title="Copy message"
aria-label={isCopied ? "Copied message" : "Copy message"}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

When the message is copied (isCopied is true), the aria-label updates to "Copied message", but the title attribute remains static as "Copy message". This creates a mismatch between the visual tooltip (which still says "Copy message" on hover) and the screen reader announcement. The title attribute should be made dynamic to match the copied state, similar to how it is done in markdownUtils.tsx.

Suggested change
title="Copy message"
aria-label={isCopied ? "Copied message" : "Copy message"}
title={isCopied ? "Copied!" : "Copy message"}
aria-label={isCopied ? "Copied message" : "Copy message"}

Comment on lines 231 to +232
title="Copy message"
aria-label={isCopied ? "Copied message" : "Copy message"}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

When the message is copied (isCopied is true), the aria-label updates to "Copied message", but the title attribute remains static as "Copy message". This creates a mismatch between the visual tooltip (which still says "Copy message" on hover) and the screen reader announcement. The title attribute should be made dynamic to match the copied state, similar to how it is done in markdownUtils.tsx.

Suggested change
title="Copy message"
aria-label={isCopied ? "Copied message" : "Copy message"}
title={isCopied ? "Copied!" : "Copy message"}
aria-label={isCopied ? "Copied message" : "Copy message"}

Comment thread patch_chatpanel.sh
@@ -0,0 +1,6 @@
#!/bin/bash

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

These temporary shell scripts (patch_chatpanel.sh, patch_chatpanel2.sh, patch_chatpanel3.sh, patch_nodeeditor.sh) appear to be automation artifacts used to apply changes to the codebase. They should not be committed to the repository as they pollute the project. Please remove them before merging.

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