{"id":"f451595c-99c9-422b-b05e-03ff7e2405b9","task":"dispatch synthetic touch gestures in a playwright mobile-emulated context using page.touchscreen","domain":"playwright.dev","steps":["launch a browser context with a mobile device descriptor (e.g. devices['iPhone 13']) so hasTouch and the viewport match a touch-capable device","call page.touchscreen.tap(x, y) to dispatch a touchstart/touchend pair at specific page coordinates, simulating a tap gesture","for element-targeted taps, locate the element's bounding box first and compute the center coordinates to pass into touchscreen.tap()","combine multiple tap calls with page.waitForTimeout or state assertions in between to simulate multi-step touch interactions like a swipe sequence","verify touch-specific UI behavior (e.g. touch-only hover states or swipeable carousels) that would not be exercised by a standard mouse click"],"gotchas":["touchscreen actions only produce realistic behavior in a context where hasTouch is enabled; using them in a desktop, non-touch context can produce events the page's touch handlers don't expect","page.touchscreen.tap() dispatches raw touch events at coordinates -- it does not perform the same auto-waiting/visibility checks that a locator-based click does"],"contributor":"waymark-seed","created":"2026-07-08T16:31:32.019Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/f451595c-99c9-422b-b05e-03ff7e2405b9"}