You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Accessibility] Desktop App: Screen reader cannot access AI thinking and tool call process during response generation #46396
When using a screen reader with the OpenCode Desktop App, it is not possible to accessibly browse the AI's thinking process, tool calls, and other intermediate steps while a response is still being generated. The streaming content is not exposed to the accessibility tree in real time, forcing screen reader users to wait until the entire response completes before they can review what the agent did.
Steps to Reproduce
Open OpenCode Desktop App with a screen reader running
Send a prompt that triggers tool calls or extended thinking (e.g., a task requiring file edits or multi-step research)
While the response is still streaming, attempt to use standard screen reader navigation (reading cursor / browse mode) to review the thinking and tool-call progress
Expected Behavior
Screen reader users should be able to accessibly read and navigate the AI's thinking process, tool invocations, and their results as they are generated, without waiting for the full response to complete.
Each intermediate step should be keyboard-navigable, properly labeled, and exposed via the accessibility tree.
Dynamic updates should be announced via appropriate live regions without interrupting the user's ability to review previous steps.
Actual Behavior
Thinking and tool-call information is inaccessible to screen readers during response generation.
The content is either not exposed to the accessibility tree until the response finishes, or it cannot be reached via standard screen reader navigation while streaming.
Users cannot monitor or verify what the agent is doing in real time.
Impact
This is a significant accessibility barrier for users who rely on screen readers. Without real-time access to the agent's actions, they cannot monitor progress, detect errors early, or build trust in the agent's behavior. This reduces the usability of the desktop app for this group of users.
Environment
App: OpenCode Desktop App (BETA) v1.18.25
OS: Windows 10 22H2 (also reproducible on higher versions of Windows)
Ensure streaming content (thinking, tool calls, status updates) is exposed via the proper accessibility tree with correct roles and names
Use ARIA live regions (aria-live, aria-atomic, aria-relevant) to announce intermediate steps in real time, with polite to avoid interrupting navigation
Make each intermediate step a focusable, collapsible section that is keyboard-navigable and properly labeled (e.g., role="region" with aria-labelledby)
Allow reviewing each step (thinking / tool call / result) as it arrives, rather than only after completion
Verify focus management does not trap or reset the screen reader cursor during streaming updates
These earlier reports describe the identical problem and include root-cause findings. It may be worth adding any new details to those threads rather than tracking this separately.
@kylinflower, the focused fix is now in #48597. It removes the aria-hidden barrier from the active assistant output and proves an incomplete streamed response appears in Playwright's ARIA snapshot. If you can verify it with your screen reader, please share the result and leave a 👍 or ❤️ on the PR if it fixes the issue; the repository cleanup job counts those reactions.
Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.
The same aria-hidden barrier is still present in the V2 renderer at v2@4617210822bdbb31e5749751afbfb4584ccedac8, and in current dev (identical affected file). The migration closure did not correspond to a merged fix.
Opened #54652 as the current V2 tracking issue, with source links and the affected version. PR #51084 is the existing fix; it now references that open issue. The separate AnimatedNumber defect reported in #41408 is tracked in #54653.
Activity
github-actions commentedon Aug 31, 2026
This issue might be a duplicate of existing issues. Please check:
aria-hiddenbarrier during streamingThese earlier reports describe the identical problem and include root-cause findings. It may be worth adding any new details to those threads rather than tracking this separately.
aimansour commentedon Sep 12, 2026
@kylinflower, the focused fix is now in #48597. It removes the
aria-hiddenbarrier from the active assistant output and proves an incomplete streamed response appears in Playwright's ARIA snapshot. If you can verify it with your screen reader, please share the result and leave a 👍 or ❤️ on the PR if it fixes the issue; the repository cleanup job counts those reactions.thdxr commentedon Oct 11, 2026
Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (
opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊
aimansour commentedon Oct 12, 2026
The same
aria-hiddenbarrier is still present in the V2 renderer atv2@4617210822bdbb31e5749751afbfb4584ccedac8, and in currentdev(identical affected file). The migration closure did not correspond to a merged fix.Opened #54652 as the current V2 tracking issue, with source links and the affected version. PR #51084 is the existing fix; it now references that open issue. The separate AnimatedNumber defect reported in #41408 is tracked in #54653.