Make the welcome bubble a real button
维护者通常 1 天内回复
评估
这个 Issue 还没有评估数据。
描述
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
divfor 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(WelcomeBubbleconstructor).cc-bubbleand.cc-bubble-closeinpackages/widget/src/styles/widget.csspackages/widget/tests/widget.test.tsandpackages/widget/tests/loader.test.ts(search forcc-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 lintandpnpm sizepass
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
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
codercops/chatcops 的其他 Issue
-
Widget: fetch signed-in visitor tokens when a session is requested可能已有人在做 @piyusshhjangid 今天认领。 未关闭enhancement
难度 3/5 1-2 天 新手友好度 63/100
codercops/chatcops#461 · 2 条评论 ·
维护者通常 1 天内回复
-
Widget: support CSP nonces for injected styles可能已有人在做 @piyusshhjangid 今天认领。 未关闭enhancement
难度 4/5 3-5 天 新手友好度 55/100
codercops/chatcops#460 · 2 条评论 ·
维护者通常 1 天内回复
-
Server: validate `rateLimit.windowMs` before creating the limiter可能已有人在做 @ashutoshpalhare 今天认领。 未关闭
codercops/chatcops#452 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Widget: a "New reply" button when the visitor has scrolled up可能已有人在做 @srujankaleru2007 于 1 天前认领。 未关闭enhancement hacktoberfest widget
codercops/chatcops#420 · 3 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
chatcops test: --url to test a deployed server可能已有人在做 @srujankaleru2007 于 1 天前认领。 未关闭enhancement hacktoberfest testing
codercops/chatcops#419 · 3 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 codercops/chatcops 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
lichess-org/lila#22324 · 1 条评论 ·
维护者通常 1 天内回复
-
ep:WebGPU platform:web quantization
难度 2/5 1-3 小时 新手友好度 66/100
microsoft/onnxruntime#33752 ·
维护者通常 2 天内回复
-
[Skill Bug]: entra-agent-id: inaccurate blueprint permission inheritance and parent token sub claim未关闭bug entra-agent-id
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/GitHub-Copilot-for-Azure#3467 · 1 条评论 ·
维护者通常 1 天内回复
-
fix(worker): keep normal prepare waiting states failure-free可能已有人在做 @LichKing-2234 今天认领。 未关闭agent:codex priority:P1
难度 2/5 1-3 小时 新手友好度 72/100
AgoraIO-Extensions/agent-infra#3745 ·
维护者通常 1 天内回复
-
The five-line work window can drop its oldest line: the per-line byte share ignores the JSON framing可能已有人在做 @Eapp1e 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 84/100
makecindy/cindy#7973 · 1 条评论 ·
维护者通常 1 天内回复