Whiteboard pen swatches are named by hex code and do not expose which one is selected
Los mantenedores suelen responder en 1 día
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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.
- Lenguaje dominante
- Rust
- Estrellas
- 144
- Forks
- 41
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 95
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de sysprog21/codetrial
-
Progress difficulty filter lists Hard before MediumPosiblemente ocupada @Pandamachi la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
sysprog21/codetrial#281 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Highlight the active line in the code editorPosiblemente ocupada @ArthurArthurArthur0817 la tomó hace 5 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
sysprog21/codetrial#247 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Visualize attempt score trends in the progress viewPosiblemente ocupada @onepch la tomó hoy. Abierto
sysprog21/codetrial#275 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Toggle line comments in the code editor with Ctrl+/Posiblemente ocupada @henrylee1003 la tomó hace 1 día. Abierto
sysprog21/codetrial#273 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Adopt a frontend frameworkAbiertoenhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
sysprog21/codetrial#270 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de sysprog21/codetrial
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
swc-project/swc#12516 ·
Los mantenedores suelen responder en 1 día
-
mls-rs-crypto-awslc: exact aws-lc-rs =1.16.3 pin blocks rustls security updatePosiblemente ocupada @muscariello la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
[work-item] adam-adae-worsening-emergence: conform spec.yaml to the specification style contract (REQ-1280)Posiblemente ocupada @muse-yamaa-bot la tomó hoy. Abiertowork-item
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
[Bug]:设置的关于页面,“系统信息”部分排版异常Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
metasequoiaime/msime#7328 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
eclipse-opensovd/classic-diagnostic-adapter#616 ·
Los mantenedores suelen responder en 2 días