diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 00000000..bae79e34 --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,3 @@ +## 2024-05-30 - Replace Navigation Symbols with Screen-Reader Friendly Text +**Learning:** For complex command-line selection interfaces or overlays using Ink, screen readers in CLI environments rely on raw text output and fail to announce purely symbolic text (like `↑↓`, `⏎`) properly, causing an accessibility regression. +**Action:** Use visually concise but screen-reader-friendly text (like 'Up/Down', 'Enter') instead of symbols for keyboard navigation hints to ensure accessibility for visually impaired users. 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.'); });