demo · v140
Pull-to-refresh gate
The chromestatus story is interop: Firefox and Safari already propagate overscroll-behavior from the root element, Chrome was the outlier propagating from body. Pick where the property is set, and see whether pull-to-refresh / back-swipe gets blocked in each browser today.
overscroll-behavior set on:
| where set | Chrome 139 | Chrome 140+ | Firefox | Safari |
|---|
mobile pull-to-refresh
—
desktop back-swipe
—
/* Chrome 140 — works everywhere */
html {
overscroll-behavior-y: contain; /* no pull-to-refresh */
overscroll-behavior-x: contain; /* no back-swipe */
}
/* Pre-140 — Chrome required this on body, FF/Safari needed it on html.
Many sites shipped both. Now you can drop the body one. */