Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Make the welcome bubble a real button

已关闭
#336 3 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@kachamsiddarth 已经在做这个了。

开始于 2026年10月26日。

  • #383 来自 @kachamsiddarth —— 已合并

评估

这个 Issue 还没有评估数据。

描述

accessibility enhancement good first issue hacktoberfest widget

The welcome bubble ("Need help? Chat with us!") opens the chat when clicked, but it's a div with a click listener. Keyboard and screen reader users can't reach it or tell it does anything. Only its small close button is a real button.

What to do

  • Render the bubble's text as a <button type="button"> that opens the chat. Keep the close button as a separate button next to it, not inside it (a button inside a button is invalid HTML).
  • Keep the look the same. The wrapper can stay a div for positioning.
  • Keep the existing behavior: clicking the text opens the chat, the close button only hides the bubble.

Where to look

  • packages/widget/src/dom/bubble.ts (WelcomeBubble constructor)
  • .cc-bubble and .cc-bubble-close in packages/widget/src/styles/widget.css
  • packages/widget/tests/widget.test.ts and packages/widget/tests/loader.test.ts (search for cc-bubble)

Acceptance criteria

  • The bubble text is a <button> reachable with Tab, and Enter or Space opens the chat
  • The close button is a sibling, not a child, of that button
  • No visual change (a before and after screenshot in the PR)
  • Tests for keyboard activation and for dismiss
  • 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.

主要语言
TypeScript
星标
13
派生
7
平均合并
3 小时 39 分钟
30 天内合并 PR
275

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

codercops/chatcops 的其他 Issue

查看 codercops/chatcops 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。