NEW314946
IntersectionObserver is broken at zooms outside 100%
https://bugs.webkit.org/show_bug.cgi?id=314946
Summary IntersectionObserver is broken at zooms outside 100%
Alex
Reported 2026-05-16 05:19:49 PDT
Steps to reproduce: 1. Have a container with children that are 100% in both height and width, i.e. match parents size EXACTLTY. 2. Add CSS scroll snap so that each child is not just the same size as parent, but also is match EXACTLY into frame regardless of scroll position. 3. Have IntersectionObserver at 1.0 threshold to monitor the current active slide. 4. Change zoom to something other than 100%. Actual results: IntersectionObserver stops triggering properly, you can see it in this super minimalistic carousel demo: https://codepen.io/waterplea/pen/XJjzrQW At, say 90% or 110% it stops working when swiping to the right, only to the left. Expected results: IntersectionObserver is triggered whenever a frame is snapped into place fully.
Attachments
Simon Fraser (smfr)
Comment 1 2026-05-18 09:33:54 PDT
Alex, what OS/Safari version are you testing on?
Alex
Comment 2 2026-05-18 10:24:16 PDT
macOS 26.4.1 Safari Version 26.4 (21624.1.16.11.4) This actually happens for all browsers and OSes, it seems, I have filed an issue for FF and for Chrome it is already there for a few years. Not sure about Safari, but in Chrome those 90%/110% zoom causes elements to have subpixel sizes which causes IntersectionObserver to stop firing.
Kiet Ho
Comment 3 2026-05-19 17:10:59 PDT
Alex, thank you for the bug report. When you say zoom, is this zooming by Cmd+/- or pinch zoom?
Alex
Comment 4 2026-05-19 23:23:23 PDT
By Cmd+/-, yes.
Note You need to log in before you can comment on or make changes to this bug.