From 10286934e6a549dcad557adecfc087552e13c983 Mon Sep 17 00:00:00 2001 From: christine betts Date: Thu, 21 Aug 2025 22:29:15 +0000 Subject: Introduce initial screen reader mode handling and flag (#6653) --- packages/cli/src/ui/components/InputPrompt.tsx | 8 +++++++- packages/cli/src/ui/components/messages/CompressionMessage.tsx | 2 ++ packages/cli/src/ui/components/messages/GeminiMessage.tsx | 8 +++++++- packages/cli/src/ui/components/messages/UserMessage.tsx | 5 ++++- 4 files changed, 20 insertions(+), 3 deletions(-) (limited to 'packages/cli/src/ui/components') diff --git a/packages/cli/src/ui/components/InputPrompt.tsx b/packages/cli/src/ui/components/InputPrompt.tsx index 01666c66..215962ce 100644 --- a/packages/cli/src/ui/components/InputPrompt.tsx +++ b/packages/cli/src/ui/components/InputPrompt.tsx @@ -26,6 +26,7 @@ import { cleanupOldClipboardImages, } from '../utils/clipboardUtils.js'; import * as path from 'path'; +import { SCREEN_READER_USER_PREFIX } from '../constants.js'; export interface InputPromptProps { buffer: TextBuffer; @@ -688,7 +689,12 @@ export const InputPrompt: React.FC = ({ > {shellModeActive ? ( reverseSearchActive ? ( - (r:) + + (r:){' '} + ) : ( '! ' ) diff --git a/packages/cli/src/ui/components/messages/CompressionMessage.tsx b/packages/cli/src/ui/components/messages/CompressionMessage.tsx index c7ef122b..6aededbb 100644 --- a/packages/cli/src/ui/components/messages/CompressionMessage.tsx +++ b/packages/cli/src/ui/components/messages/CompressionMessage.tsx @@ -9,6 +9,7 @@ import { Box, Text } from 'ink'; import { CompressionProps } from '../../types.js'; import Spinner from 'ink-spinner'; import { Colors } from '../../colors.js'; +import { SCREEN_READER_MODEL_PREFIX } from '../../constants.js'; export interface CompressionDisplayProps { compression: CompressionProps; @@ -40,6 +41,7 @@ export const CompressionMessage: React.FC = ({ color={ compression.isPending ? Colors.AccentPurple : Colors.AccentGreen } + aria-label={SCREEN_READER_MODEL_PREFIX} > {text} diff --git a/packages/cli/src/ui/components/messages/GeminiMessage.tsx b/packages/cli/src/ui/components/messages/GeminiMessage.tsx index 9863acd6..cfc3a297 100644 --- a/packages/cli/src/ui/components/messages/GeminiMessage.tsx +++ b/packages/cli/src/ui/components/messages/GeminiMessage.tsx @@ -8,6 +8,7 @@ import React from 'react'; import { Text, Box } from 'ink'; import { MarkdownDisplay } from '../../utils/MarkdownDisplay.js'; import { Colors } from '../../colors.js'; +import { SCREEN_READER_MODEL_PREFIX } from '../../constants.js'; interface GeminiMessageProps { text: string; @@ -28,7 +29,12 @@ export const GeminiMessage: React.FC = ({ return ( - {prefix} + + {prefix} + = ({ text }) => { alignSelf="flex-start" > - {prefix} + + {prefix} + -- cgit v1.2.3