fix: lock mobile board to viewport by pinning .visually-hidden
Screen-reader-only spans were position:absolute with no offsets, so inside the horizontally-scrolled kanban columns they rendered off-screen-right and ballooned documentElement.scrollWidth to ~1388px on a 390px viewport. That triggered iOS Safari shrink-to-fit zoom-out (the "cut off, zoomed out" view, which persisted into list view) and let the whole page pan, dragging columns off-screen. Pinning the utility to its containing block origin (top/left: 0) keeps the document locked to the viewport; the span stays 1px and clipped. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
5
.changeset/mobile-board-sr-only-overflow.md
Normal file
5
.changeset/mobile-board-sr-only-overflow.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@runfusion/fusion": patch
|
||||
---
|
||||
|
||||
Fix mobile board horizontal overflow that caused iOS Safari to zoom-out/cut-off the board and let the whole page pan off-screen. Screen-reader-only `.visually-hidden` spans were `position: absolute` with no offsets, so inside the horizontally-scrolled kanban columns they rendered off-screen-right and ballooned the document's scroll width. Pinning the utility to its containing block's origin keeps the document locked to the viewport on mobile.
|
||||
@@ -48,6 +48,14 @@ html {
|
||||
/* === Utility Classes === */
|
||||
.visually-hidden {
|
||||
position: absolute;
|
||||
/* Pin to the containing block's origin. Without offsets an absolute box
|
||||
renders at its static-flow position; inside a horizontal scroller (e.g.
|
||||
the kanban board) that position is off-screen-right, and because the
|
||||
scroll container isn't a positioned containing block its overflow can't
|
||||
clip the span — so it balloons documentElement.scrollWidth and triggers
|
||||
iOS shrink-to-fit zoom-out + whole-page panning on mobile. */
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
|
||||
Reference in New Issue
Block a user