Skip to content

🎨 Palette: Improve accessibility of sidebar buttons#147

Draft
Dexploarer wants to merge 1 commit intodevelopfrom
palette/sidebar-accessibility-1196430698050156735
Draft

🎨 Palette: Improve accessibility of sidebar buttons#147
Dexploarer wants to merge 1 commit intodevelopfrom
palette/sidebar-accessibility-1196430698050156735

Conversation

@Dexploarer
Copy link
Owner

  • 💡 What: Added aria-label attributes to the delete and confirmation buttons in the conversations sidebar and hid visual characters (e.g., ×, ×) from screen readers.
  • 🎯 Why: To make the interface more accessible for screen reader users by providing descriptive labels and preventing the announcement of confusing visual characters.
  • ♿ Accessibility: Screen readers will now announce "Delete conversation", "Confirm delete", and "Cancel delete" instead of reading out "multiplication sign" or button text without context.

PR created automatically by Jules for task 1196430698050156735 started by @Dexploarer

- Add `aria-label` to delete and confirmation buttons.
- Wrap visual characters (×, ×) in `aria-hidden="true"`.
- Document accessibility learning in `.Jules/palette.md`.
@google-labs-jules
Copy link

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

@coderabbitai
Copy link

coderabbitai bot commented Feb 26, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch palette/sidebar-accessibility-1196430698050156735

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment on lines 199 to 205
className="px-1.5 py-0.5 text-[10px] border border-danger bg-danger text-white cursor-pointer hover:opacity-90 disabled:opacity-50 disabled:cursor-not-allowed"
onClick={() => void handleConfirmDelete(conv.id)}
disabled={deletingId === conv.id}
aria-label="Confirm delete"
>
{deletingId === conv.id ? "..." : "Yes"}
</button>

Choose a reason for hiding this comment

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

Missing User Feedback on Deletion Failure

If handleDeleteConversation fails (e.g., due to a network error), the user receives no feedback, and the UI simply resets. This can lead to confusion if the conversation is not actually deleted. Consider surfacing an error message or visual indicator when deletion fails, for example:

try {
  await handleDeleteConversation(id);
} catch (err) {
  // Show error to user, e.g., set an error state and display a message
}

This will improve the user experience and make error handling more robust.

@gemini-code-assist
Copy link

Summary of Changes

Hello @Dexploarer, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the accessibility of the application's conversations sidebar. By implementing aria-label attributes and strategically hiding visual characters from screen readers, the changes ensure that users relying on assistive technologies receive accurate and descriptive information about interactive elements, leading to a more intuitive and inclusive user experience.

Highlights

  • Accessibility Improvements: Added aria-label attributes to various buttons within the conversations sidebar to provide clearer context for screen reader users.
  • Screen Reader Experience Enhancement: Hid visual characters like '×' and '×' from screen readers by wrapping them in <span> tags with aria-hidden="true", preventing confusing announcements.
  • Documentation: Introduced a new markdown file documenting best practices for hiding visual characters from screen readers and providing explicit aria-label attributes.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .Jules/palette.md
    • Documented best practices for improving accessibility by hiding visual characters from screen readers and providing explicit aria-label attributes.
  • apps/app/src/components/ConversationsSidebar.tsx
    • Wrapped the '×' character in the close button with span aria-hidden='true' to prevent screen readers from announcing it.
    • Added aria-label='Confirm delete' to the conversation deletion confirmation button.
    • Added aria-label='Cancel delete' to the conversation deletion cancellation button.
    • Added aria-label='Delete conversation' to the delete conversation button and wrapped its '×' character with span aria-hidden='true'.
Activity
  • PR created automatically by Jules for task 1196430698050156735, initiated by @Dexploarer.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

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

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 improves the accessibility of the conversation sidebar by adding aria-label attributes to icon-only and ambiguous buttons, and hiding decorative characters from screen readers. The changes are well-implemented and follow accessibility best practices. I've added one suggestion to further improve the loading state communication for screen reader users on the delete confirmation button.

Comment on lines 201 to 203
disabled={deletingId === conv.id}
aria-label="Confirm delete"
>

Choose a reason for hiding this comment

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

medium

For better accessibility, consider adding the aria-busy attribute. This will indicate to screen reader users that this button is in a loading state while the delete operation is in progress.

Suggested change
disabled={deletingId === conv.id}
aria-label="Confirm delete"
>
disabled={deletingId === conv.id}
aria-label="Confirm delete"
aria-busy={deletingId === conv.id}
>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant