What the person is doing
The surface is a feed, inbox, notification center, activity list, dashboard, timeline, or status list where users expect newer server data.
Application · lesson 10 of 15 · Cross-Device And Physical Interaction
Underlying principle: The same outcome may cross touch, camera, voice, keyboard, sensors, and offline moments. Design each transition as part of the task rather than a separate surface.
Constrain pull-to-refresh to the top of the relevant scroll container, show pull progress and release threshold, run one scoped refresh request at a time, preserve existing content and position, expose status messages and last-updated copy, and provide an equivalent manual refresh control.
The same outcome may cross touch, camera, voice, keyboard, sensors, and offline moments. Design each transition as part of the task rather than a separate surface.
The surface is a feed, inbox, notification center, activity list, dashboard, timeline, or status list where users expect newer server data.
Constrain pull-to-refresh to the top of the relevant scroll container, show pull progress and release threshold, run one scoped refresh request at a time, preserve existing content and position, expose status messages and last-updated copy, and provide an equivalent manual refresh control.
Idle state with current content visible and last updated timestamp when freshness matters.
Which exact scroll container owns the pull, and how do you know it is at the top?
Pull-to-refresh begins only when the intended scroll container is at its top boundary and the user drags downward beyond normal scroll tolerance.
The surface is a feed, inbox, notification center, activity list, dashboard, timeline, or status list where users expect newer server data.
The full lab is intentionally loaded on request. That keeps this reading page fast while preserving the strong and weak states, keyboard checks, and failure scenarios.
The surface is a feed, inbox, notification center, activity list, dashboard, timeline, or status list where users expect newer server data.
Constrain pull-to-refresh to the top of the relevant scroll container, show pull progress and release threshold, run one scoped refresh request at a time, preserve existing content and position, expose status messages and last-updated copy, and provide an equivalent manual refresh control.
Idle state with current content visible and last updated timestamp when freshness matters.
A feed refreshes while the user is reading older content in the middle of the list.
Keep refresh controls reachable by keyboard, switch, screen reader, external keyboard, and assistive pointer devices.
Android Developers - checked
Supports using swipe-to-refresh with scrollable content and providing a manual refresh menu action for users who cannot perform the gesture.
Android Developers - checked
Supports the beginning-of-content pull gesture, refresh state, refresh callback, indicator, and threshold behavior.
W3C WAI - checked
Supports alternatives for path-based gestures.
W3C WAI - checked
Supports programmatically determinable refresh status updates without moving focus.
W3C WAI - checked
Supports target size and spacing expectations for the manual refresh control and adjacent actions.
Source trail checked: