Goal: tap the green pad on a touch-capable device (or via DevTools touch emulation). Page asserts a real touchstart/touchend sequence: touches / changedTouches are TouchList objects containing Touch instances with identifier, clientX/Y, radiusX/Y, and force in [0,1]. Synthetic PointerEvent with pointerType="touch" alone does not satisfy this — touch events must fire too.

Note for caller: requires Chrome touch emulation on (DevTools → Sensors → "Touch: Force enabled") or a real touchscreen. This is intentional: pi-chrome's synthetic pointerType:'touch' does NOT also dispatch TouchEvents.

TAP