← Main demo

Diagnostic page

Position modes

The coordinateSpace option controls how the popup is positioned. Viewport (default): viewport coordinates + fixed, so the picker stays attached while the browser scrolls. Document (opt-in): document coordinates + absolute, an explicit optimization for references known to move with root-page scrolling — a stuck sticky anchor does not, so the picker visibly trails until JavaScript repositions it. No layout inference is performed. The value is read once per opening; a change while open applies to the next opening.

Viewport — default
Document — opt-in
Scrolls +300px with each picker open and measures the gap.

Viewport: not measured yet.

Document: not measured yet.

Only one picker is ever open at a time: the comparison runs sequentially (open → scroll → measure → settle → close, then the other widget at the exact same scroll position), respecting the single-open-picker rule. The immediate reading happens deliberately before the next animation frame to expose the coordinate mismatch; both modes converge afterwards. Mouse-wheel scrolling may make the trailing barely noticeable; asynchronous touch scrolling is where the problem becomes visible.

Fallback: positioning is enhanced-mode only. Without enhancement both widgets degrade to plain native selects.