Skip to content

fix(a11y): bump answer-support sheet footer taps to 48px (min-h-12) - #233

Merged
BigSimmo merged 1 commit into
mainfrom
claude/ui-smoke-tap-target-44
Jul 3, 2026
Merged

fix(a11y): bump answer-support sheet footer taps to 48px (min-h-12)#233
BigSimmo merged 1 commit into
mainfrom
claude/ui-smoke-tap-target-44

Conversation

@BigSimmo

Copy link
Copy Markdown
Owner

What

The two answer-support sheet footer action rows (Source / Copy / Add) — in ClinicalNotesChecklistPanel (evidence-panels.tsx) and MobileEvidenceSheetContent (ClinicalDashboard.tsx) — were min-h-11 (44px). Bumped to min-h-12 (48px).

Why

The required ui-smoke check (chromium) flakily failed expectMinTouchTarget on these controls (e.g. answer support popups adapt at near sheet breakpoint measuring 43.18px, …at tablet 43.93px), intermittently blocking unrelated PRs.

Root cause traced empirically (instrumented the helper + --repeat-each on chromium): the controls are genuinely 44px in CSS (min-height: 44px, height: 44px, transform: none, dpr 1, root font 16px — not an animation artifact; both sheets set motion-safe:animate-none). The shortfall is getBoundingClientRect() sub-pixel rounding: sitting deep in a scrolled sheet at fractional Y (~738–980px), the measured rect rounds down to ~43.85px locally / ~43.18px in CI, straddling the helper's effective 43.5px floor (44 − 0.5 tolerance). Controls near the top of the sheet stay pinned at 44.0 and were never at risk.

min-h-12 (48px) rounds to ~47–48px, clearing the 44px floor deterministically — and is a genuine tap-target improvement.

Scope

  • 8 lines, 2 files, both footer action bars only. The hot ClinicalDashboard monolith is touched solely in those 4 footer lines.
  • No test changes (helper left intact).

Verification

  • Instrumented + --repeat-each=3 on chromium (near-sheet + tablet): footer controls now render 48px and no longer dip below 44.
  • npx playwright test tests/ui-smoke.spec.ts -g "answer support popups": all chromium + firefox cases pass. (WebKit cases fail at waitForDemoDashboardReady — the pre-existing, non-blocking ssr:false dashboard-ready race in release-browser-matrix, unrelated to this change.)

🤖 Generated with Claude Code

Footer Source/Copy/Add controls were min-h-11 (44px) and dipped to
~43.2px via getBoundingClientRect sub-pixel rounding deep in scrolled
sheets, flaking the required ui-smoke touch-target assertion. min-h-12
clears the 44px floor deterministically.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@BigSimmo
BigSimmo merged commit 6d520b1 into mainJul 3, 2026
4 checks passed
@BigSimmo
BigSimmo deleted the claude/ui-smoke-tap-target-44 branch July 3, 2026 09:11
Sign up for freeto 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

@BigSimmo