Background
If page scrolling is detected, pointercancelEvent is fired by default, aborting all panning which was implemented using PointerEvents.
Page Scrolling uses the TouchEvent interface.
If the user performs horizontal panning, contactjs uses event.preventDefault(); on the related TouchMove event preventing scrolling. If the user "pans" vertically to scroll the page, panRecognizer invalidates and does not block the TouchMove event. This enables native page scrolling and horizontal panning on the same element.