Skip to content

PROG-81 — mobile audit: collapse board filters + 44px touch targets#52

Merged
bryankennedy merged 5 commits into
mainfrom
iss/PROG-81
Jul 4, 2026
Merged

PROG-81 — mobile audit: collapse board filters + 44px touch targets#52
bryankennedy merged 5 commits into
mainfrom
iss/PROG-81

Conversation

@exe-dev-github-integration

Copy link
Copy Markdown
Contributor

Addresses PROG-81 — an overall audit of the phone experience using the mobile-first-audit skill (rendered WebKit at 360/390/430/768 with touch emulation + the skill's probe script, not just code reading).

Verdict

The app is broadly solid on a phone — correct viewport-fit=cover meta, zoom enabled, 19px body text, pb-24 clears the bottom tab bar, no page-level horizontal overflow. Recent PROG-45/PROG-79 work holds up. Three things were worth fixing.

Fixes (each grounded in a rendered screenshot / measurement)

[H1] Board filters buried the board below the fold

The 6 filter dropdowns + New-issue + 2 toggles filled the entire first viewport; you scrolled past all of it before seeing a single card. → On phones (< sm) the filter row collapses behind a "Filters" disclosure (collapsed by default, badge = active filter count). Three cards now sit above the fold. Desktop is byte-identical (row always inline at sm+; verified toggle hidden + 6 selects inline at 1440px).

[H2] Issue field-edit links were 19px

Move… / Change… / Edit… / Copy as prompt / Copy CLI — on a phone, tapping these is the only way to fire them (the M/A/T/W shortcuts don't exist on touch). → Shared FIELD_ACTION_CLS gives each a ≥44px flex row on mobile, compact block layout at sm+ (measured 53px after).

[M1] Header touch targets under 44px

New button (~34px), avatar (32px), dropdown rows (~31px), board New-issue/toggle buttons (~31px) → all bumped to ≥44px on mobile via min-h-11, reverting at sm+.

Deferred (noted, low severity, kept out to stay focused)

  • Tablet-range (640–767px) filter <select>s render at 14.4px → possible iOS zoom-on-focus (the global 16px rule stops at 639px).
  • The bottom tab bar's translucency lets card content bleed through faintly on scroll.

Verification

Re-ran the audit harness before/after: board mobile small-targets 6→1, issue 12→5, desktop unchanged. tsc -b clean, 84 unit tests pass. Documented in docs/REFERENCE.md (board) and docs/DECISIONS.md (### PROG-81).

…bile

A rendered phone audit (WebKit @360/390/430, touch emulation) found the
board's six filter dropdowns + New-issue button + two toggles filled the
entire first viewport, pushing the cards — the point of the page — below
the fold. On a 844px phone you saw zero board content before scrolling.

On phones (< sm) the filter row now collapses behind a "Filters" disclosure,
collapsed by default with a badge counting active filters/toggles, so three
cards sit above the fold. At sm+ the row stays inline and desktop is
byte-identical (verified: toggle hidden, six selects inline at 1440px).

Also bump the board's own New-issue and Show-backlog/Show-sub-issues buttons
to a >=44px row on mobile (min-h-11, reverting at sm) — they were ~31px,
under the touch floor.
The audit measured the header New button at ~34px, the account avatar at
32px, and both dropdown menus' rows (New menu, Admin, Sign out) at ~31px —
all under the 44px touch floor, in the hardest-to-reach top chrome.

Give each a >=44px target on mobile (min-h-11 / h-11 w-11 on the avatar),
reverting to the compact desktop sizing at sm+. Restore the space before the
(C)/dropdown caret that the new inline-flex would otherwise collapse.
…obile

The Move… / Change… / Edit… / Copy-as-prompt / Copy-CLI links in the issue
aside rendered ~19px tall. They carry keyboard shortcuts (M/A/T/W) on
desktop, but on a phone tapping the link is the ONLY way to fire them — so a
19px target is a real miss.

Factor the shared styling into FIELD_ACTION_CLS: a >=44px flex row on mobile
(flex is block-level, so each link keeps its own line as block did),
reverting to the compact block layout at sm+. Add ml-1 to the (M)/(A)/(T)/(W)
shortcut hints so the flex row keeps the space.
Append the PROG-81 decision entry summarizing the rendered phone audit: the
three fixes made (board filter collapse, header targets, issue field links)
and the two low-severity items deliberately deferred (tablet-range select
font-size, tab-bar translucency bleed).
@bryankennedy bryankennedy merged commit 3f989fa into main Jul 4, 2026
2 checks passed
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