From 6324921cd115fa3e4dd6948516396b4cecc37ad1 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 12:43:24 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20tooltip=20and?= =?UTF-8?q?=20focus=20styles=20to=20Match=20All=20button?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: jspann21 <179991454+jspann21@users.noreply.github.com> --- .jules/palette.md | 6 +++++ .../components/UnresolvedFilesSection.tsx | 24 +++++++++++++----- verification/index.html | 22 ++++++++++++++++ verification/tooltip.png | Bin 0 -> 5543 bytes verification/verify.py | 21 +++++++++++++++ 5 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 verification/index.html create mode 100644 verification/tooltip.png create mode 100644 verification/verify.py diff --git a/.jules/palette.md b/.jules/palette.md index e69de29..e295c44 100644 --- a/.jules/palette.md +++ b/.jules/palette.md @@ -0,0 +1,6 @@ +## YYYY-MM-DD - Initial Explore +**Learning:** Found several input fields without explicit `aria-label` or missing `htmlFor` association, such as in `LibraryHeader.tsx` and `UnresolvedFilesSection.tsx`. We will improve the accessibility of one of them. +**Action:** Enhance accessibility by properly associating labels and adding clear focus states. +## 2024-05-18 - Tooltips for Disabled States +**Learning:** We often disable buttons (like "Match All" when there are no unresolved files), but without a tooltip, users might not understand *why* the button is disabled, leading to frustration. By wrapping the disabled button in a span with a title attribute, we can provide immediate, contextual help. Also applying pointer-events-none on the button ensures the wrapper catches the hover. +**Action:** Always add a descriptive `title` tooltip wrapper around buttons that can be conditionally disabled to explain the reason to the user. diff --git a/src/features/library/components/UnresolvedFilesSection.tsx b/src/features/library/components/UnresolvedFilesSection.tsx index 8f616e6..a17639a 100644 --- a/src/features/library/components/UnresolvedFilesSection.tsx +++ b/src/features/library/components/UnresolvedFilesSection.tsx @@ -165,14 +165,24 @@ export function UnresolvedFilesSection({ ) : null} - + + diff --git a/verification/index.html b/verification/index.html new file mode 100644 index 0000000..6375681 --- /dev/null +++ b/verification/index.html @@ -0,0 +1,22 @@ + + +
+ + + +{YF9_mO+F=^j^bL=QORb9Q&@jh&KJUAv?4$BsP+g)mv#PdReVFP4 z$w#Y4+oG8WzDtlaq^$W+@^uG?eBNO!#cZM#D#%szNks>B7P-gbYy17KJvjtC9tf@M zI0Rf(y89*6122&!RhadAUOrV1Ywc)LlFZahx;przsbgc=y#(f2!6YV@Y3gtTIw-Xn zH|8mW#N=uLW>}@am5>U<@C(T(eBXTqjK{uW?_W!8gV}ZH+w$&%_u?w~w5fhfV{I7i zLi(%bb(Gaq2b$g#TP1AG@7CB?3&;d*UofF2xR>eKu~94%GK{Dg);@U~85^;`a`96& zSsQ)lF_<`gZ&@*f)b^$mI5Q)W(l4ZB-I>)shiao*#~NzW!ipG%#@eigSl^djdQ*2f zN_+Imy*!lkykK$?9)H!4Y;+OMcpW97m6D7S5PTQ+-6DIMzPm*VbcUW zO)4n(nH}qg()#Nd?WPBCpvlu`b$md0*0Zl3$tOz2)Do( lj{t!@3-T&nXrC( zh{0gw=H|*uDW(^ BRo3 ophqAF{l6G+aSW^r*iVsEp+twDw_xOr_bDXb%!FCjG|R=LDWi zWl_zkpW;Q5 jsE!swOd(Kfj5>PPU|S5I`Cf# zKPf3lqWfLXe+**@>uD7TKC=?9)yhbuW{ISUN~KB5b869|*`CWHjpFdkbHbcxSr-rJ zNdxjgKZQ?y$MW@v0CeD^DW{Ij&d6CH??jdb;&99-Z7pP>ApXSJnH_VL?d|QCWZOYq zaNx2m#K?OHzupJ9Lyn$i!_;