demo · v144

Input Modes Lab

Three input modes — wheel, touch, keyboard — sharing one nested scroll container. Set overscroll-behavior once on the inner scroller and confirm every input mode respects it. Pre-144 keyboard alone leaked past the boundary; v144 closes the gap.

overscroll-behavior: checking…

focus the inner area, then try PageDown, mouse wheel, or touch — the stats track which input fired and whether scroll chained.

outer content above

inner scroller — click here to focus, then try every input mode.

Line 1

Line 2

Line 3

Line 4

Line 5

Line 6

Line 7

Line 8

Line 9

Line 10

Line 11

Line 12

Line 13

Line 14

Line 15

(scroll all the way down)

outer content below

last input
inner pos
0px
outer pos
0px
chained?
no

the API

.scroller {
  overscroll-behavior: contain;  /* now applies to KEYBOARD scrolls too */
}

/* before Chrome 144: arrow / PageDown at the inner scroller's bottom
   chained scroll to the parent. wheel + touch already obeyed. */

see also