[Accessibility] NVDA screen reader doesn't announce backspace/deleted characters
Description
When using Claude Code in Windows Terminal with the NVDA screen reader, backspace operations do not announce the character being deleted. In contrast, when using regular PowerShell (without Claude Code running), NVDA properly announces characters when pressing backspace.
Environment
- Windows 11
- Windows Terminal (latest version)
- NVDA 2024.4 (with Console Toolkit add-on installed)
- Claude Code v2.0.58
- INK_SCREEN_READER environment variable: enabled (true)
Steps to Reproduce
- Open Windows Terminal with NVDA running
- Type a command in PowerShell (e.g., dir) - backspace announces deleted characters correctly
- Start Claude Code by running claude
- Type text in Claude Code's input (e.g., "hello world")
- Press backspace to delete characters
- Observe: NVDA does not announce the deleted characters
Expected Behavior
When pressing backspace in Claude Code, NVDA should announce the character being deleted, just as it does in regular PowerShell and other terminal applications. This is standard screen reader behavior and is essential for blind users to know what they're deleting.
Actual Behavior
NVDA remains silent when backspace is pressed in Claude Code. The character is deleted visually, but there is no auditory feedback about what was deleted. This makes it difficult to confidently edit text without either: (a) manually reviewing the entire prompt using NVDA's review cursor before sending, or (b) composing longer prompts in an external text editor like Notepad and copying/pasting into Claude Code. Both workarounds are cumbersome and significantly impact workflow efficiency.
Technical Context
Claude Code uses Ink.js for its terminal UI, which implements custom input handling ("raw mode") that bypasses the standard terminal character echo that NVDA relies on. The INK_SCREEN_READER environment variable is set to true but does not resolve the backspace announcement issue.
Impact
This significantly impairs the usability of Claude Code for blind developers who rely on auditory feedback for text editing. Without knowing what character is being deleted, users must use inefficient workarounds that disrupt their workflow and productivity.
Suggested Fix
Implement proper accessibility event generation when text is modified via backspace, or ensure that character deletion events are properly exposed through Windows accessibility APIs so screen readers like NVDA can announce deleted characters.
Thank you for considering this accessibility improvement.
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗