Header CTA is still 25px past the right edge at iPad portrait #238
Labels
No Label
P0
P1
P2
P3
accessibility
backend
bug
content
data-integrity
enhancement
frontend
infra
integration
owner
owner-input
performance
phase-7
phase-8
release-blocker
security
seo
ui
ux
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/Queue-North-Website#238
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found at build
a25077d, on the working tree carrying Batch 17 and 18.A regression of #214, which was fixed and released without ever being exercised. v0.9.5 tightened the nav from
gap-6togap-4atmdand was checked in a desktop browser window sized to 768. A desktop window at 768 has a scrollbar, so the layout viewport was about 753px, themdbreakpoint never engaged, and the desktop header the fix was about was never on screen. On a real 768px device it was unchanged:Request Consultationsat 25px past the right edge on all 19 routes, andbody{overflow-x:hidden}sliced it off with no scrollbar to hint that anything was missing.Measured at a true 768 (iPad Mini profile): brand 262px, nav 401px, CTA 114px, container padding 16px each side. The CTA's natural width is 176px, so flex had already shrunk it by 62px and wrapped its label inside a 36px-tall box, and it still did not fit. The three items want 787px of natural width against 736px of container. No amount of gap tightening fits them, which is why the previous approach could not have worked.
Fix: the desktop row starts at
lg. 768 to 1023 gets theSheetmenu, which is the better tablet experience anyway: 44px rows instead of 17px ones, and the Services and Industries submenus are reachable, where the desktop dropdowns open on hover and a touch device has no hover. The wordmark holds attext-xluntilxl, because at exactly 1024 the desktop row had four pixels of room.Trap: the CTA now carries
shrink-0 whitespace-nowrap. Without it, flex answers a row that does not fit by squeezing the button and wrapping its label, which keeps the total inside the viewport while the button itself is already past it. That is the failure mode that made this survive a release.Verify:
node scripts/device-sweep.mjs --devices "iPad Mini"reports zero findings, and reverting the header tomd:flex/md:block/md:hiddenmakes it reportpast_viewporton all 19 routes.