From 2d0e8ead44c96522805571e4ccec05fb4dd6282a Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 16 May 2026 17:25:37 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Accessibility=20&=20f?= =?UTF-8?q?ocus=20improvements=20for=20composer=20buttons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added missing `aria-label`, `title`, and `focus-visible` styles to the icon-only send message button in `ComposerInput`. - Added missing `aria-label`, `title`, `aria-expanded`, `aria-haspopup`, and `focus-visible` styles to the options menu button in `DiscussionHeader`. - Hid decorative SVGs and literal character icons (`>`) from screen readers using `aria-hidden="true"`. - Appended learning to `.jules/palette.md` noting the lack of proper labeling and focus styles on icon-only buttons. Co-authored-by: bobdivx <6737167+bobdivx@users.noreply.github.com> --- .jules/palette.md | 3 +++ src/components/discussion/composer/ComposerInput.tsx | 6 ++++-- src/components/discussion/composer/DiscussionHeader.tsx | 8 ++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 .jules/palette.md diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 00000000..0cb0810e --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,3 @@ +## 2024-05-16 - Icon-only Buttons Missing Accessibility Patterns +**Learning:** Discovered a pattern in the application's core composer components where icon-only buttons (like the send message `>` button and options menu SVG button) lacked proper ARIA labels, descriptive titles, and visible keyboard focus states (`focus-visible`). Furthermore, literal characters used as icons (like `>`) were not hidden from screen readers. +**Action:** Added `aria-label`, `title`, and `focus-visible` ring classes to these buttons. Wrapped text-based icons in `