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:
- Wrap dynamic chat content in
<div role="log" aria-live="polite" aria-busy={isStreaming}>.
- Wrap updater, git feedback and toasts in
role="status" aria-live="polite" for informational and role="alert" aria-live="assertive" for errors.
- Replace
alert() with an accessible toast component.
Would you like to implement this improvement yourself by sending a PR?
Maybe
Describe the improvement
Dynamic state changes are invisible to screen readers:
apps/desktop/src/addons/builtin.ai-assistant/AiChatComponent.tsx:702-813is not announced.apps/desktop/src/components/UpdaterDialog.tsx:182-313appear without a live region.flash()git feedback inapps/desktop/src/addons/builtin.git-explorer/GitExplorerComponent.tsx:414-418updates silently.alert()(disruptive) instead of accessible toasts.Proposed change:
<div role="log" aria-live="polite" aria-busy={isStreaming}>.role="status" aria-live="polite"for informational androle="alert" aria-live="assertive"for errors.alert()with an accessible toast component.Would you like to implement this improvement yourself by sending a PR?
Maybe