Skip to content

fix(a11y): the receipt tape had a name nothing could read - #35

Merged
edycutjong merged 1 commit into
mainfrom
fix/tape-role
Sep 9, 2026
Merged

edycutjong merged 1 commit into
mainfrom
fix/tape-role

Conversation

@edycutjong

Copy link
Copy Markdown
Owner

Found by re-running shipcheck against production after the demo restart made the live tab the default hero.

<div class="rt-tape" aria-label="Seen while this page was open"> has no role, so it is generic, and generic prohibits an accessible name — axe: aria-label attribute cannot be used on a div with no valid role attribute. The label was silently dropped.

role="group" permits the name without lying about the element. A list role would require listitem children; the children are anchors.

Verified with axe-core against a local production build: 0 violations (was 1). It only became reachable now because the live tape starts empty — previous shipcheck runs audited the replay hero.

`<div aria-label>` with no role is a `generic`, and generic prohibits an accessible name, so
the label was being dropped and axe flags it (`aria-prohibited-attr`). `role="group"` is the
smallest role that both permits the name and is honest about what the element is — a list
role would require its children to be listitems, and the children are links.

It surfaced only once the live tab became the default: in live mode the tape starts empty,
so the label is the only thing a screen reader would have had to go on. shipcheck audited
the replay hero every previous run and never saw it.
@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
build Ready Ready Preview Sep 9, 2026 5:26pm UTC

@edycutjong
edycutjong merged commit 9b90fc0 into main Sep 9, 2026
9 of 11 checks passed
@edycutjong
edycutjong deleted the fix/tape-role branch September 9, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant