Skip to content

Player: speed button's accessible name doesn't include its visible text #6021

Closed

Description

@wasifnaeem

In @hyperframes/player (checked in 0.8.107, 0.8.181 and 0.8.183), the playback speed button shows "1x" but has aria-label="Playback speed". Because the aria-label replaces the visible text, its accessible name doesn't contain "1x". That fails WCAG 2.5.3 Label in Name, and axe-core reports it as label-content-name-mismatch (serious). A voice-control user who says "click 1x" can't press it.

Suggested fix: include the shown rate in the name and keep it updated when the rate changes, e.g. aria-label="Playback speed: 1x". Or drop the aria-label and add the words with visually hidden text.

Activity

  1. Dante-dan commented on Oct 21, 2026

    @Dante-dan
    Contributor

    The speed button initializes its accessible name to Playback speed, while its visible text is 1x. Selecting a preset only changes textContent, so the mismatch persists at other rates. I plan to include formatSpeed(...) in the accessible name both at initialization and when selecting a preset, keeping the existing control behavior. I will add a regression in the existing player controls tests for the initial 1x name and the updated name after changing speed.

  2. added
    triage/readyAccepted scope, current evidence, acceptance criteria, and validation path are recorded.
    on Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    triage/readyAccepted scope, current evidence, acceptance criteria, and validation path are recorded.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions