The queue header's two older actions are named only by title #170
Closed
opened 2026-08-21 02:16:33 +00:00 by logan
·
2 comments
No Branch/Tag Specified
main
fix/146-stub-etxtbsy
fix/175-wizard-follows-the-library
fix/231-setter-rollback
fix/197-duplicate-column-label
docs/225-fixtures-wav-tags
docs/220-skill-check-scope
test/217-fixture-names-in-queue-selection
fix/216-riff-parse-allocation
fix/170-queue-header-action-names
fix/210-nav-sheet-scroll-affordance
docs/50-readme-landing-page
feat/65-art-prefetch-ahead
feat/71-more-as-a-bottom-sheet
feat/54-native-touch-feel
feat/67-entity-links-into-menus
test/196-visual-tier-gates
fix/138-ui-test-storage-leak
fix/104-wav-tags-read
fix/207-sheet-scroll-affordance
fix/204-ui-visual-update-filter
pi-agent-backlog-automation
63-touch-model-phase-2
63-android-touch-model
186-touch-targets-settings
186-touch-targets-page-header
187-seek-bar-hit-area
189-190-explore-correctness
135-android-underrun-instrumentation
51-android-small-screens
fix/171-phone-queue-scrim
fix/137-touch-only-affordances
fix/154-nested-css-check
feat/58-mini-player-progress-line
fix/66-album-page-scrolls-as-one
60-context-menu-action-sheet
64-android-system-volume
59-slim-the-mini-player
55-queue-as-a-screen
feat/57-drop-the-android-top-bar
feat/62-jobs-as-a-notification
fix/53-seek-bar-never-moves
fix/159-android-task-app-id
fix/52-android-activity-recreation-restarts-the-process
fix/150-expand-button-under-the-art
feat/42-inline-volume-and-centred-transport
fix/156-queue-selection-fixture-order
fix/151-fuse-the-scroll-guard-and-the-write
fix/43-queue-panel-selection
fix/143-top-bar-fits-its-window
feat/27-jobs-into-settings
feat/25-configurable-sidebar-tabs
feat/6-global-back-forward
fix/72-active-view-broadcast
fix/69-page-header-action-overflow
fix/quick-wins-batch
fix/118-in-library-clear
fix/61-mini-player-plain-text
fix/68-hover-affordances-pointer
fix/119-dev-headless-port
fix/130-issue-claim-user
fix/131-codegen-check-scope
feat/28-autotag-match-on-album
feat/17-demote-version-selector
feat/38-ownership-visibility
ci/115-manual-release
feat/34-icon-language
feat/7-full-tracklist-toggle
fix/16-tagwriter-totals
fix/unclaim-ca-certs
fix/unclaim-shell
ci/unclaim-on-close
docs/closing-keyword
docs/retire-stale-planning-docs
docs/issue-driven-workflow
integration/small-fixes
fix/small-issue-batch
fix/queue-toggle-state
fix/drag-count-badge
fix/album-card-year
fix/album-tracklist-heading
fix/seek-bar-clock-width
fix/explore-art-scanner-requests
chore/workflow-guardrails
v0.7.0
v0.6.0
v0.5.0
v0.4.0
v0.3.1
v0.3.0
v0.2.3
v0.2.2
v0.2.1
v0.2.0
v0.1.0
v0.0.1
v0.0.0
Labels
Clear labels
Area/Design
Area/Downloads
Area/Explore
Area/Library-UI
Area/Metadata
Area/Packaging
Area/Player
Area/Queue
Area/Settings
Area/Shell-Nav
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Platform/Android
Platform/Desktop
Breaking change that won't be backward compatible
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Medium
3
The priority is medium
Priority
Low
4
The priority is low
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
In Progress
Somebody is actively working on this right now
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: yonlu/yellowjacket#170
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Report
queue-panel's two header actions — Clear queue and Add queue toplaylist — are named by a
titleattribute and nothing else. The closebutton beside them, added by #24, uses
aria-label.Findings
titleis an accname fallback, so these are not nameless andgetFullAXTreereports them clean. This is the weak-name casea11y.26describes: "a sweep for empty names cannot see a weakone", and the same reasoning that made the search box's
placeholderinsufficient.
titleis the last fallback in the accname order, so any contentadded inside the button silently outranks it. It is not exposed at all
on a touch device — there is no hover — which is exactly the surface
#55 just turned into a full screen. And it doubles as a tooltip, so
the name and the tooltip cannot be worded differently even where they
should be.
queue-overlay.spec.tsasserts the closebutton's, by role and name, because #24 added it; the two older
buttons predate that habit.
issue's surface and a rename wants its own assertion.
Direction
aria-labelon both, matching the close button, and agetByRoleassertion for each in
queue-overlay.spec.ts— the file that alreadymakes exactly that assertion about the third button in the same row.
Picking this up on
fix/170-queue-header-action-names.Approach is the issue's own Direction:
aria-labelon both headeractions in
queue-panel, matching the close button #24 added besidethem, plus a
getByRoleassertion for each ine2e/specs/queue-overlay.spec.ts— the file that already makes thatassertion about the third button in the same row.
The
titleattributes stay. They are the desktop tooltip, and removingthem would take away an affordance the issue does not ask about;
aria-labeloutrankstitlein the accname order, so the two cannotdisagree.
One thing I will measure before writing the spec rather than assume:
titleis itself an accname fallback, so a baregetByRole('button', { name: 'Clear queue' })may well be green on the build before thefix. If it is, the spec says so and asserts the mechanism beside it —
a spec named for the behaviour that measures the plumbing is the trap
this repo has been caught by three times.
PR: #223 — CI green
(run 18004,
checkande2e, the WebKit step included).Both header actions carry
aria-labelnow, matching the close button.The
titles stay: on a desktop they are also the tooltip for anicon-only control, which is a different job from naming it and one
aria-labeldoes not do.One finding worth recording on the issue itself, because it changes
what the Direction asks for. A bare
getByRole('button', { name: 'Clear queue' })inqueue-overlay.spec.tsis green on the brokenbuild — measured against the running pre-fix app, before editing
anything:
titleis an accname fallback, so this isa11y.26's "a sweep forempty names cannot see a weak one" one rung lower, now defeating the
spec as well as the sweep. So the spec asserts the property as what
it really is — the name is not the tooltip: it strips the
titleattributes and asks again, which was 0 and 0 on
mainand is 1 and 1on the branch. Both rows were run rather than reasoned about (component
change stashed, frontend rebuilt, app restarted, committed spec run).
Not merging; leaving
Status/In Progresson.