Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Announce each reply once instead of every streamed chunk

Chiusa
#338 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@kachamsiddarth ci sta già lavorando.

Dal 26/10/2026.

  • #410 di @kachamsiddarth — integrata

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

accessibility enhancement hacktoberfest widget

The message list is role="log" with aria-live="polite", and a reply's text is rebuilt on every streamed chunk. Some screen readers read those partial updates one by one, which is noisy, and others skip them.

What to do

  • While a reply streams, set the log to aria-live="off".
  • Add a visually hidden aria-live="polite" region (there's a cc-sr-only class already). When a reply finishes, put its final text there once, then set the log back to polite.
  • Error and cut off replies should be announced too, with their error text.
  • Messages the visitor sends don't need an announcement.

Where to look

  • packages/widget/src/dom/messages.ts (the constructor sets role and aria-live; updateMessage sets aria-busy while streaming)
  • packages/widget/src/widget.ts (handleSend: where streaming starts and ends)
  • packages/widget/tests/dom/messages.test.ts

Acceptance criteria

  • The log is aria-live="off" while a reply streams and polite otherwise
  • The hidden region gets the full reply text once, when it finishes
  • Failed replies announce their error message
  • Unit tests for each
  • A short note in the PR on what you checked with a screen reader, if you have one (not required)
  • Changeset for @chatcops/widget (patch)
  • pnpm test:coverage, pnpm lint and pnpm size pass

The chat panel (dist/chatcops.panel.js) has a 14 kB gzip budget and about 800 B of it is left, shared by several open issues. Keep the change small, and check pnpm size before you open the PR.

Lingua principale
TypeScript
Stelle
13
Fork
7
Merge medio
3h 39m
PR unite (30g)
275

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di codercops/chatcops

Tutte le issue di codercops/chatcops

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.