What 400% Zoom Leaves Behind: An 82px Fixed Pixel Toll
A 320px reflow pass did not prevent severe vertical reading-space loss at short viewports. The loss was a fixed pixel cost, largely outside the application CSS.
Tags
14 posts
A 320px reflow pass did not prevent severe vertical reading-space loss at short viewports. The loss was a fixed pixel cost, largely outside the application CSS.
Seven tooltips, each measured against Dismissible, Hoverable and Persistent separately. Every CSS-only build fails Dismissible; popover="hint" fails Hoverable.
I counted the 138 guides in Chrome's Modern Web Guidance 0.0.180 and probed its search with 22 queries: UI 0.643, accessibility 0.508, structured data 0.267.
WCAG 1.4.10 Reflow at three viewport heights: horizontal verdicts were identical. What 400% zoom changes is height. An 82px sticky header ate 41% of it.
axe-core found zero WCAG 1.4.12 violations. Then I applied the four declarations the criterion asks for and 570 elements clipped. Which one does the damage.
W3C's ACT suite labels 1,213 HTML examples. axe-core caught only 145 of 387 failing ones under the matching criterion, and 22 of 36 criteria scored zero.
Tabbing down six pages found zero WCAG 2.4.11 failures. Shift-Tabbing up the same pages found 16, because browsers align focus targets to the nearer edge.
A post untouched since October reports Last-Modified as yesterday. Its ETag is just file mtime and size in hex, so one deploy voids every 304 you could earn.
W3C shipped WCAG-EM 2.0 in July 2026. I sampled 26 pages by its procedure, then swept the whole 1,342-page build. The sample caught one of four defect types.
Six title channels agreed across 1,296 pages. The seventh, inbound anchor text, matched the target heading on 0.7% of 18,296 links. One wrapper caused it.
Across 1,334 pages, 24,948 of 46,382 internal links pointed at a slash-less URL that 301-redirects. The root cause, a four-stage fix, and the audit that hit zero.
I built one opening-hours table four ways, then ran axe-core and five extractors over it. axe passed all four, yet three lost all 7 rows once HTML became text.
Ship priority 1.0 with changefreq always and Google drops both. The only field it uses is lastmod, and only when verifiably accurate. I ran three sitemaps through the official XSD to see what really counts.
My JSON-LD validated as three disconnected islands. Here's how @id references stitch Organization, WebSite, and Article into one @graph, measured with jsonld.