Skip to content

[Accessibility] Desktop App: Screen reader cannot access AI thinking and tool call process during response generation #46396

Closed as not planned

Description

@kylinflower

Description

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

  1. Open OpenCode Desktop App with a screen reader running
  2. Send a prompt that triggers tool calls or extended thinking (e.g., a task requiring file edits or multi-step research)
  3. 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)
  • Assistive Technology: screen reader (latest version)

Suggestions

  • 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

Activity

  1. github-actions commented on Aug 31, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    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.

  2. aimansour commented on Sep 12, 2026

    @aimansour

    @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.

  3. thdxr commented on Oct 11, 2026

    @thdxr
    Member

    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 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

  4. aimansour commented on Oct 12, 2026

    @aimansour

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions