From 986487738330f3648a6a595f03ad7b718f075299 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 28 Jun 2026 21:50:19 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20[UX=20improvement]=20?= =?UTF-8?q?Replace=20symbolic=20navigation=20hints=20with=20text=20for=20s?= =?UTF-8?q?creen=20reader=20compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ๐Ÿ’ก What: Replaced symbolic navigation hints (`โ†‘โ†“`, `โŽ`, `esc`) with their text equivalents (`Up/Down`, `Enter`, `Esc`) in the `CommandSuggestionList` component. ๐ŸŽฏ Why: Symbolic characters are not properly announced by screen readers in CLI environments, making the navigation instructions inaccessible to visually impaired users. ๐Ÿ“ธ Before/After: N/A (Text-only change) โ™ฟ Accessibility: Improved screen reader compatibility by using standard text representations for keyboard navigation, ensuring visually impaired users receive clear instructions. --- .jules/palette.md | 3 +++ src/cli/ui/components/CommandSuggestionList.tsx | 2 +- tests/integration/prompt_templates.test.ts | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .jules/palette.md diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 00000000..cfe924fc --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,3 @@ +## 2024-06-28 - Replace symbols with screen-reader friendly text for CLI navigation hints +**Learning:** For complex command-line selection interfaces or overlays using Ink, while concise microcopy saves horizontal space, do NOT replace descriptive navigation words (like 'Up/Down', 'Enter') with purely symbolic text (e.g., `โ†‘โ†“`, `โŽ`). Screen readers in CLI environments rely on raw text output and fail to announce these symbols properly, causing an accessibility regression. +**Action:** Use visually concise but screen-reader-friendly text. Replaced symbols `โ†‘โ†“`, `โŽ` with `Up/Down`, `Enter` in the command suggestion list component to restore accessibility. diff --git a/src/cli/ui/components/CommandSuggestionList.tsx b/src/cli/ui/components/CommandSuggestionList.tsx index 7e66838a..d51fe548 100644 --- a/src/cli/ui/components/CommandSuggestionList.tsx +++ b/src/cli/ui/components/CommandSuggestionList.tsx @@ -116,7 +116,7 @@ export const CommandSuggestionList: React.FC = ({ - โ†‘โ†“ nav ยท โŽ select ยท esc close + Up/Down nav ยท Enter select ยท Esc close diff --git a/tests/integration/prompt_templates.test.ts b/tests/integration/prompt_templates.test.ts index 21905259..f1360d78 100644 --- a/tests/integration/prompt_templates.test.ts +++ b/tests/integration/prompt_templates.test.ts @@ -36,7 +36,9 @@ describe('Prompt templates', () => { expect(planSystem).toContain('You are SalmonLoop.'); expect(patchSystem).toContain('You are PATCH, a phase-native diff compiler.'); - expect(autopilotSystem).toContain('You are a senior software engineer running in "autopilot" mode.'); + expect(autopilotSystem).toContain( + 'You are a senior software engineer running in "autopilot" mode.', + ); expect(answerSystem).toContain('You are a coding assistant in "answer" mode.'); expect(researchSystem).toContain('You are a research assistant.'); });