Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Announce each reply once instead of every streamed chunk

Cerrado
#338 2 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@kachamsiddarth ya está trabajando en esto.

Desde el 26/10/2026.

  • #410 de @kachamsiddarth — fusionado

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
13
Forks
7
Merge medio
3 h 28 min
PR fusionados (30 d)
296

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de codercops/chatcops

Todos los issues de codercops/chatcops

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.