What the Web Dev Community Thinks About Scrolling

Earlier this year, the Chrome team published a survey on scrolling and touch interactions, based on pain points identified in the 2019 MDN Web DNA Report. With the full report now available, the team has shared key findings and outlined priorities that could shape how browsers and standards groups approach scroll APIs and features.

High-Level Sentiment: Room for Improvement

Scrolling may be one line of CSS to initiate, but the full API surface spans CSS and JavaScript and covers a broad range of implementations, from carousels to virtualized lists. The survey collected 880 submissions, with 366 respondents, and the results clearly show where the friction lies.

Placed deliberately near the end of the survey, one question asked about overall satisfaction after respondents had worked through 26 scroll-specific questions. Nearly half, 45%, said they were somewhat or extremely dissatisfied overall with web scrolling. Difficulties go beyond a single use case; scroll supports drag interactions, lazy loading, linked animations, and many other patterns that require accounting for touch, keyboard, and gamepad input.

Touch Matters

With mobile traffic continuing to grow, it is no surprise that over half of respondents (51%) said touch interactions are very or extremely important to their work. This emphasizes a need for features such as CSS scroll snap and the touch-action property to be robust and well documented.

Input Methods: A Missing Piece

Custom scrolling must accommodate more than a pointer, and 44% of respondents find it somewhat or extremely difficult to include gamepad and tab navigation in their scroll implementations. Supporting keyboard arrows, spacebar, and other input modes is a clear pain point.

Education Gaps

One of the more striking findings regarded the touch-action: manipulation value: 50% of respondents reported learning about it from the survey itself. The property is essential for custom touch gestures, marking it as an area where the platform fails to communicate its capabilities.

Patterns With High Usage and High Pain

The report draws a clear line between the features developers use most and the ones they struggle to implement well. For instance, 58% of respondents use cyclical scrolling at least sometimes across projects. Basic examples such as product carousels or time pickers often rely on JavaScript or duplicated markup, since the platform itself lacks a native primitive.

The same is true for carousels. Nearly all respondents, 87%, have used them, but only about a quarter said they are easy to manage. The high adoption despite low satisfaction suggests that plugins are the norm rather than a satisfactory solution.

Infinite scroll is another focus area. Two-thirds of respondents deliver it across projects, and 60% report it is difficult to get right. The problem appears to be rooted in the user experience of "load more" patterns, which a developer-focused solution like combining content-visibility and contain-intrinsic-size does not address.

Scroll-linked and scroll-triggered animations are nearly as common: 47% report using them in some or every project, with 56% saying they are difficult to achieve. The challenge of orchestrating effects with a scroll position proves to be considerable.

Matching Native Experiences

A key measure of web quality is how well it can compete with installed applications. On this front, only 32% of respondents said they could always or most of the time match the built-in scroll and touch interactions of mobile apps. Half said they could do so sometimes, suggesting that native-level polish in scrolling remains elusive for many developers.

Based on the data, the Chrome team has organized its focus into four action areas:

Compatibility

Compatibility issues in scrolling are a clear target. The team has committed to addressing three challenges first: improving horizontal scroll compatibility across browsers, making overscroll-behavior consistent among engines, and removing the need for the -webkit-scrollbar prefix.

Education

touch-action has proven to be under-documented, as has the use of logical properties. Both are relevant to international layout and custom gesture support, so the team sees a need for more dedicated guidance on these features.

APIs

Use of CSS scroll snap is expanding, but many developers want to use standard APIs with popular libraries and plugins. Closing the gap between CSS and JavaScript libraries is a priority. The team has identified work on API availability and interoperability across browsers, as well as exploring new primitives such as a scroll-start API and a snapChanged() event.

Features

The platform still lacks primitives for certain components that developers must hand-build. Three patterns with notable friction appear in the report: carousels, virtual scroll, and infinite scroll. These are areas in which respondents currently rely heavily on plugins or substantial custom code, and where the Chrome team says it hopes to investigate native solutions further.