From 38d23eb91e8e9b6c6a9cadb72ccb7645710833f4 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 28 May 2026 17:45:04 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Improve=20keyboard=20?= =?UTF-8?q?navigation=20on=20modals=20and=20drawers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💡 What: Added `tabIndex={-1}` and `cursor-default` to full-screen backdrop overlay buttons in `MobileMenu.tsx` and `DiscussionComposer.tsx`. 🎯 Why: Backdrop buttons designed for 'click away to close' were receiving keyboard focus, creating invisible and confusing tab stops. 📸 Before/After: Visual presentation is identical, but the cursor no longer turns into a pointer over the entire screen area when the modal is open. ♿ Accessibility: Removes purely visual/structural backdrop overlays from the interactive tab order, improving the experience for keyboard-only navigation users. Documented the learning in `.jules/palette.md`. Co-authored-by: bobdivx <6737167+bobdivx@users.noreply.github.com> --- .jules/palette.md | 3 +++ src/components/discussion/DiscussionComposer.tsx | 6 ++++-- src/components/layout/MobileMenu.tsx | 3 ++- tests/unit/forge-tool-install.test.ts | 2 +- 4 files changed, 10 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..393cb80c --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,3 @@ +## 2024-05-28 - Full-screen background elements receiving focus +**Learning:** In the app's modals and drawers (`MobileMenu.tsx`, `DiscussionComposer.tsx`), full-screen backdrop overlay elements implemented with `