Android: no hover play button on album cards on touch #68

Closed
opened 2026-08-18 06:00:07 +00:00 by logan · 1 comment
Collaborator

Report

Long-pressing an album on the home page briefly shows the play button that desktop shows on hover. It should not be there on mobile — a phone user taps the album to open it and plays from the detail view.

Findings

The card's play affordance is :hover-gated CSS, and a touch long-press synthesises a hover state in the WebView, so it flashes. Related pattern: utils/long-press.ts already dispatches a synthetic contextmenu on a 500ms hold, so a long press on a card is meant to open a menu, not reveal a hover control.

Direction

Gate the hover play button on @media (hover: hover) and (pointer: fine) rather than on width, so it is absent on any touch device and present on a desktop with a small window. Apply the same rule to every other hover-revealed affordance — the per-track request badge in the album tracklist is one (though that one is becoming always-visible on desktop too).

**Report** Long-pressing an album on the home page briefly shows the play button that desktop shows on hover. It should not be there on mobile — a phone user taps the album to open it and plays from the detail view. **Findings** The card's play affordance is `:hover`-gated CSS, and a touch long-press synthesises a hover state in the WebView, so it flashes. Related pattern: `utils/long-press.ts` already dispatches a synthetic `contextmenu` on a 500ms hold, so a long press on a card is meant to open a menu, not reveal a hover control. **Direction** Gate the hover play button on `@media (hover: hover) and (pointer: fine)` rather than on width, so it is absent on any touch device and present on a desktop with a small window. Apply the same rule to every other hover-revealed affordance — the per-track request badge in the album tracklist is one (though that one is becoming always-visible on desktop too).
logan added the Area/Library-UIKind/BugPlatform/Android
Priority
Low
4
labels 2026-08-18 14:36:16 +00:00
yonlu self-assigned this 2026-08-19 17:18:28 +00:00
yonlu added the
Status
In Progress
label 2026-08-19 17:18:28 +00:00
Owner

Gating hover-revealed affordances on @media (hover: hover) and (pointer: fine) rather than on width, and sweeping the other hover-only controls for the same rule.

Gating hover-revealed affordances on `@media (hover: hover) and (pointer: fine)` rather than on width, and sweeping the other hover-only controls for the same rule.
logan closed this issue 2026-08-19 19:08:46 +00:00
gitea-actions bot removed the
Status
In Progress
label 2026-08-19 19:09:27 +00:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yonlu/yellowjacket#68