fix(web): small-screen defects found by a measured audit #239
Reference in New Issue
Block a user
Delete Branch "fix/small-screen-audit"
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?
Drove the built app through headless Chrome at 320/360/390/414/768/992/1200px across every public route, and in Arabic, Hebrew and German, measuring horizontal overflow and tap-target geometry rather than eyeballing screenshots. Four real defects; all verified fixed by re-running the same sweep — 42 route/width combinations, no horizontal overflow.
Long URLs made the conversation pan sideways. Any message containing an unbreakable token pushed the thread ~200px horizontally at 360px, in both bubble types.
overflow-wrap: anywhererather thanbreak-word: onlyanywherecounts toward the min-content width, and min-content width was what sized the scroll area, sobreak-wordwould have wrapped the text and left the panning intact. 187px → 0./missionslid sideways 8–12px at every width below the container's max-width. A row's horizontal gutter becomes a negative side margin of half its width, and.containeronly cancels that up tog-4— the page's other rows already useg-4, which is why only the twog-5rows leaked. Restricting the wide gutter to large screens still failed at exactly 992px, because a scrollbar narrows the viewport below what the breakpoint assumes, so the horizontal gutter goes entirely; the columns stack belowlgand the vertical gutter does the visible work.The document advertised
lang="en"while rendering Arabic. Direction was already synced on language change; the language itself was not — which is what a screen reader announces from, and what the browser selects a font and hyphenation dictionary with.Sub-24px tap targets on the footer links (21px) and the standalone password-reset link (19px), at the bottom edge of a phone where tapping is least accurate. The one remaining sub-24px link is a mailto inline in a sentence, which the guideline exempts.
Checked and found already correct, so left alone: the chat sidebar's mobile drawer (the rail rules look like they would override the drawer width, but the
max-width: 767.98pxblock at App.css:1685 handles exactly that), and code-block/table containment (both scroll internally; the page never moves).