Skip to content

[Improvement]: A11y — aria-live regions for chat streaming, toasts, updater and git feedback #105

@matiaspalmac

Description

@matiaspalmac

Describe the improvement

Dynamic state changes are invisible to screen readers:

  • Chat streaming output in apps/desktop/src/addons/builtin.ai-assistant/AiChatComponent.tsx:702-813 is not announced.
  • Updater state transitions in apps/desktop/src/components/UpdaterDialog.tsx:182-313 appear without a live region.
  • flash() git feedback in apps/desktop/src/addons/builtin.git-explorer/GitExplorerComponent.tsx:414-418 updates silently.
  • MarketplaceView uses alert() (disruptive) instead of accessible toasts.

Proposed change:

  1. Wrap dynamic chat content in <div role="log" aria-live="polite" aria-busy={isStreaming}>.
  2. Wrap updater, git feedback and toasts in role="status" aria-live="polite" for informational and role="alert" aria-live="assertive" for errors.
  3. Replace alert() with an accessible toast component.

Would you like to implement this improvement yourself by sending a PR?

Maybe

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions