Whiteboard pen swatches are named by hex code and do not expose which one is selected
维护者通常 1 天内回复
评估
这个 Issue 还没有评估数据。
描述
Observed behavior
In a whiteboard interview, the four pen swatches in the board toolbar are named from their hex value (web/interview.js:3490 at 6d556b7), so VoiceOver announces "Pen #101418" and reads the code out character by character, and macOS Voice Control expects the user to say it. The selected pen is marked only by the selected class (web/interview.js:3487, toggled in paintToolState), so assistive technology cannot tell which pen is active. The eraser and the eraser size buttons in the same toolbar do expose their state through aria-pressed (web/interview.js:3616), so the pens are the only toggles there without it.
Expected behavior
Each swatch has a name a person can say and recognize, such as "Black pen" or "Red pen", and carries aria-pressed="true" when selected and "false" otherwise, the same way the eraser buttons do.
Reproduction
- Start an interview in Whiteboard mode and pass the media preflight.
- Turn on VoiceOver (Cmd+F5) and press Tab until a pen swatch is focused: it is announced as "Pen #101418, button" with no selection state.
- Activate another pen with Control+Option+Space: the announcement still carries no selection state.
- Tab to the eraser for comparison: it is announced as a toggle button with its pressed state, which changes when it is activated.
CodeTrial version
codetrial 0.1.0 (6d556b7)
Environment
OS: macOS
Browser: Google Chrome 154.0.8037.93 (arm64)
Interview mode: Whiteboard
Assistive technology: VoiceOver
Sanitized evidence
Running this in the console on the whiteboard page:
[...document.querySelectorAll("#board-pens button, #board-eraser, #board-eraser-sizes button")].map(b => [b.getAttribute("aria-label") ?? b.textContent.trim(), b.getAttribute("aria-pressed")])
returns ["Pen #101418", null], ["Pen #c2261b", null], ["Pen #1b64c2", null] and ["Pen #1f8a4c", null] for the pens, and "true" or "false" for the eraser and its three sizes.
Related
The review of #72 raised the same gap for the lobby's mode buttons, whose default selection was only a CSS class, and it was fixed there with aria-pressed.
Public data confirmation
- I removed credentials, session tokens, candidate recordings, and personal interview content from this public report.
- 主要语言
- Rust
- 星标
- 160
- 派生
- 64
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 103
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
sysprog21/codetrial 的其他 Issue
-
Progress difficulty filter lists Hard before Medium可能已有人在做 @Pandamachi 于 1 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 86/100
sysprog21/codetrial#281 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Highlight the active line in the code editor可能已有人在做 @ArthurArthurArthur0817 于 6 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
sysprog21/codetrial#247 · 2 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 45/100
sysprog21/codetrial#291 · 1 条评论 ·
维护者通常 1 天内回复
-
enhancement
难度 5/5 一周以上 新手友好度 20/100
维护者通常 1 天内回复
-
Visualize attempt score trends in the progress view可能已有人在做 @onepch 于 2 天前认领。 未关闭
sysprog21/codetrial#275 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 sysprog21/codetrial 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
project-robius/robrix#1154 ·
维护者通常 1 天内回复
-
Add Mimir未关闭
难度 1/5 1 小时以内 新手友好度 78/100
slavakurilyak/awesome-ai-agents#759 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 62/100
compiler-explorer/compiler-explorer#9272 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 63/100
pop-os/cosmic-files#2117 ·
维护者通常 2 天内回复