From 49e46b99e69a915c3c7381ec0e34062637c19221 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 30 May 2026 04:58:40 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20ARIA=20labels?= =?UTF-8?q?=20to=20icon-only=20buttons=20for=20accessibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added explicit `aria-label` to buttons and links in `dashboard.html` and `glassui.html` where text is hidden on mobile breakpoints. - Added `aria-hidden="true"` to Material Symbols to prevent screen readers from announcing ligatures. - Documented findings in `.jules/palette.md` to prevent future regressions. Co-authored-by: Bhishaj9 <144550237+Bhishaj9@users.noreply.github.com> --- .jules/palette.md | 3 +++ dashboard.html | 16 ++++++++-------- glassui.html | 12 ++++++------ start_server.sh | 2 ++ verify_ui.py | 11 +++++++++++ 5 files changed, 30 insertions(+), 14 deletions(-) create mode 100644 .jules/palette.md create mode 100755 start_server.sh create mode 100644 verify_ui.py diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 0000000..c7d617a --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,3 @@ +## 2026-05-30 - Responsive Icon-Only Button Accessibility +**Learning:** When using responsive Tailwind classes (e.g., `hidden lg:inline`) to hide text on mobile, buttons that contain text on desktop can become icon-only on smaller screens. This causes them to lose their accessible name for screen readers on mobile devices if they lack an explicit `aria-label`. +**Action:** Ensure the parent interactive element (` @@ -210,11 +210,11 @@

Generated Ou
- -
diff --git a/glassui.html b/glassui.html index 700dc49..31de6e9 100644 --- a/glassui.html +++ b/glassui.html @@ -147,9 +147,9 @@

+ @@ -206,11 +206,11 @@

Generated Ou
- -
diff --git a/start_server.sh b/start_server.sh new file mode 100755 index 0000000..d8511b4 --- /dev/null +++ b/start_server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +python main.py & diff --git a/verify_ui.py b/verify_ui.py new file mode 100644 index 0000000..b34eba8 --- /dev/null +++ b/verify_ui.py @@ -0,0 +1,11 @@ +from playwright.sync_api import sync_playwright +import os +os.makedirs('/home/jules/verification', exist_ok=True) +with sync_playwright() as p: + browser = p.chromium.launch() + page = browser.new_page() + page.goto('file:///app/dashboard.html') + page.screenshot(path='/home/jules/verification/dashboard.png', full_page=True) + page.goto('file:///app/glassui.html') + page.screenshot(path='/home/jules/verification/glassui.png', full_page=True) + browser.close()