Introduce initial screen reader mode handling and flag (#6653)

This commit is contained in:
christine betts
2025-08-21 22:29:15 +00:00
committed by GitHub
parent 679acc45b2
commit 10286934e6
14 changed files with 125 additions and 52 deletions

View File

@@ -73,6 +73,7 @@ export interface CliArgs {
listExtensions: boolean | undefined;
proxy: string | undefined;
includeDirectories: string[] | undefined;
screenReader: boolean | undefined;
}
export async function parseArguments(): Promise<CliArgs> {
@@ -229,6 +230,11 @@ export async function parseArguments(): Promise<CliArgs> {
// Handle comma-separated values
dirs.flatMap((dir) => dir.split(',').map((d) => d.trim())),
})
.option('screen-reader', {
type: 'boolean',
description: 'Enable screen reader mode for accessibility.',
default: false,
})
.check((argv) => {
if (argv.prompt && argv['promptInteractive']) {
@@ -465,6 +471,9 @@ export async function loadCliConfig(
const sandboxConfig = await loadSandboxConfig(settings, argv);
// The screen reader argument takes precedence over the accessibility setting.
const screenReader =
argv.screenReader ?? settings.accessibility?.screenReader ?? false;
return new Config({
sessionId,
embeddingModel: DEFAULT_GEMINI_EMBEDDING_MODEL,
@@ -490,7 +499,10 @@ export async function loadCliConfig(
argv.show_memory_usage ||
settings.showMemoryUsage ||
false,
accessibility: settings.accessibility,
accessibility: {
...settings.accessibility,
screenReader,
},
telemetry: {
enabled: argv.telemetry ?? settings.telemetry?.enabled,
target: (argv.telemetryTarget ??