Skip to content

Make the equalizer's +12/0/-12 dB buttons keyboard operable - #1372

Open
captbaritone wants to merge 1 commit into
masterfrom
a11y-eq-db-buttons
Open

captbaritone wants to merge 1 commit into
masterfrom
a11y-eq-db-buttons

Conversation

@captbaritone

@captbaritone captbaritone commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

Builds on #1365 (merged), which makes WinampButtons with an onClick into focusable role="button" elements.

The equalizer's "+12db", "+0db" and "-12db" labels are part of the background sprite. Clicking one sets every band to that level, through transparent divs with an onClick. Those divs weren't focusable, had no role, and had no name.

This renders them as WinampButtons named "Set all bands to +12 dB", "Set all bands to 0 dB" and "Set all bands to -12 dB".

  • Rendering is unchanged. They're still the same transparent divs with the same ids. While pressed, WinampButton adds a winamp-active class, but no skin CSS targets it for these ids.
  • Tab order: On, Auto, Presets, Preamp, +12, 0, −12, then the bands, which follows the window's layout.

Testing

tsc, eslint, prettier --check and vitest run pass locally.

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Size Change: +80 B (+0.02%)

Total Size: 490 kB

📦 View Changed
Filename Size Change
packages/webamp/built/webamp.bundle.min.js 298 kB +38 B (+0.01%)
packages/webamp/built/webamp.lazy-bundle.min.js 192 kB +42 B (+0.02%)

compressed-size-action

These were plain divs with onClick, so they were mouse-only and unnamed. Render
them as WinampButtons (which become focusable role="button" elements when they
have an onClick) with accessible names.
@captbaritone
captbaritone changed the base branch from a11y-buttons to master October 12, 2026 19:29

This branch has not been deployed

No deployments
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