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
Screen reader users don't hear new replies arrive. The typing indicator and the message box also have no accessible text. Each fix here is small, mostly a single attribute.
Where to look
packages/widget/src/dom/messages.ts (the .cc-messages container in the constructor, and showTyping())
packages/widget/src/dom/input.ts (the textarea)
packages/widget/src/i18n.ts (typingIndicator exists but is never used)
packages/widget/tests/dom/messages.test.ts, and packages/widget/tests/dom/input.test.ts for the textarea
Acceptance criteria
The messages container has role="log" and aria-live="polite", so new replies are announced
The typing indicator has accessible text from typingIndicator (visually hidden text or aria-label), and the three dots are aria-hidden="true"
The textarea has an aria-label (today it only has a placeholder; reusing inputPlaceholder is fine)
Screen readers don't re-read the whole reply on every chunk while it streams (for example, set aria-busy="true" on the streaming message and remove it when complete)
Tests for the new attributes
Changeset for @chatcops/widget (patch)
Want to work on this? Comment below and I'll assign it to you. Please take one issue at a time, branch off dev, and open your PR against dev with Closes #<this issue number>. Setup notes (pnpm, build before test) are in CONTRIBUTING.md.
I'd like to take this one. I'll add role="log" and aria-live="polite" to .cc-messages, give the typing indicator the typingIndicator text with the dots aria-hidden, label the textarea with inputPlaceholder, and set aria-busy on a reply while it streams. Tests and a patch changeset for the widget too.
Your plan covers every point. Everything in the issue still holds on dev after #150: the textarea only has a placeholder and typingIndicator is still unused. This one and codercops/discord-bot#37 are your two.
Activity
prakashNalla commentedon Oct 17, 2026
I'd like to take this one. I'll add
role="log"andaria-live="polite"to.cc-messages, give the typing indicator thetypingIndicatortext with the dotsaria-hidden, label the textarea withinputPlaceholder, and setaria-busyon a reply while it streams. Tests and a patch changeset for the widget too.anurag629 commentedon Oct 17, 2026
Hey @prakashNalla, go for it, it's yours!
Your plan covers every point. Everything in the issue still holds on
devafter #150: the textarea only has a placeholder andtypingIndicatoris still unused. This one and codercops/discord-bot#37 are your two.Let me know if you have any questions.