messaging + call: accessibility — clickable divs, unlabelled icon buttons #190

Open
opened 2026-04-29 13:25:33 +00:00 by rawdaGastan · 0 comments
Member

Problem

Quick a11y audit of messaging + call islands surfaced two interaction-element gaps:

messaging — '+ New Chat' is a <div>

The entry that opens the New Chat form renders as <div class="new-chat-row"> with an onclick handler. No role="button", no tabindex, not keyboard-activatable. Screen readers see it as plain text.

File: archipelagos/messaging/src/islands/chat_list.rs

Fix: render a <button> (or at minimum add role="button" tabindex="0" + Enter/Space key handler).

call — action buttons have no aria-label / title

The three controls (mic / cam / end) in the Call island are icon-only buttons rendered with empty text, title, class, aria-label. Screen readers see them as unlabelled. (See sibling Call-stub ticket — these may be removed entirely if Call gets pulled.)

File: archipelagos/communication/call/src/island.rs

Found via QA session 2026-04-29.

## Problem Quick a11y audit of messaging + call islands surfaced two interaction-element gaps: ### messaging — '+ New Chat' is a `<div>` The entry that opens the New Chat form renders as `<div class="new-chat-row">` with an onclick handler. No `role="button"`, no `tabindex`, not keyboard-activatable. Screen readers see it as plain text. File: `archipelagos/messaging/src/islands/chat_list.rs` Fix: render a `<button>` (or at minimum add `role="button" tabindex="0"` + Enter/Space key handler). ### call — action buttons have no `aria-label` / `title` The three controls (mic / cam / end) in the Call island are icon-only buttons rendered with empty `text`, `title`, `class`, `aria-label`. Screen readers see them as unlabelled. (See sibling Call-stub ticket — these may be removed entirely if Call gets pulled.) File: `archipelagos/communication/call/src/island.rs` Found via QA session 2026-04-29.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos#190
No description provided.