WPT
wpt / touch-events / idlharness.window.html
Spec: Touch Events ↗
Runs: Chrome 155.0.8039.0 (wpt@a4fcd77aa, 2026-09-03) | Firefox 157.0a1 (wpt@cc4d45aa0, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a9df8 (wpt@47d833bbc, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 91/128 | 91/128 | 29/128 | 29/128 | 73/128 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| idl_test setup | PASS | PASS | PASS | PASS | PASS | — |
| idl_test validation | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface mixin GlobalEventHandlers: original interface mixin defined | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface mixin GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface UIEvent: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface UIEvent[2]: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial dictionary UIEventInit: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Document: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Element: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Document[2]: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Window: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement includes ElementContentEditable: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement includes HTMLOrSVGOrMathMLElement: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowOrWorkerGlobalScope: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes AnimationFrameProvider: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowSessionStorage: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowLocalStorage: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes NonElementParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes DocumentOrShadowRoot: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes ParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes ParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes NonDocumentTypeChildNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes ChildNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes Slottable: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes XPathEvaluatorBase: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Touch interface: existence and properties of interface object | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface object length | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface object name | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: existence and properties of interface prototype object | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute identifier | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute target | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute screenX | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute screenY | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute clientX | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute clientY | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute pageX | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute pageY | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: attribute radiusX | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: attribute radiusY | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: attribute rotationAngle | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: attribute force | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: attribute altitudeAngle | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Touch interface: attribute azimuthAngle | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Touch interface: attribute touchType | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Touch must be primary interface of new Touch({identifier: 1, target: document}) | PASS | PASS | FAIL | FAIL | PASS | — |
| Stringification of new Touch({identifier: 1, target: document}) | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "identifier" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "target" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "screenX" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "screenY" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "clientX" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "clientY" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "pageX" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "pageY" with the proper type | PASS | PASS | FAIL | FAIL | PASS | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "radiusX" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "radiusY" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "rotationAngle" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "force" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "altitudeAngle" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "azimuthAngle" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Touch interface: new Touch({identifier: 1, target: document}) must inherit property "touchType" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| TouchList interface: existence and properties of interface object | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchList interface object length | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchList interface object name | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchList interface: existence and properties of interface prototype object | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchList interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchList interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchList interface: attribute length | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchList interface: operation item(unsigned long) | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: existence and properties of interface object | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface object length | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface object name | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: existence and properties of interface prototype object | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: attribute touches | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: attribute targetTouches | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: attribute changedTouches | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: attribute altKey | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: attribute metaKey | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: attribute ctrlKey | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: attribute shiftKey | PASS | PASS | FAIL | FAIL | PASS | — |
| TouchEvent interface: operation getModifierState(DOMString) | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| TouchEvent must be primary interface of new TouchEvent("name") | PASS | PASS | FAIL | FAIL | FAIL | — |
| Stringification of new TouchEvent("name") | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "touches" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "targetTouches" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "changedTouches" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "altKey" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "metaKey" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "ctrlKey" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "shiftKey" with the proper type | PASS | PASS | FAIL | FAIL | FAIL | — |
| TouchEvent interface: new TouchEvent("name") must inherit property "getModifierState(DOMString)" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| TouchEvent interface: calling getModifierState(DOMString) on new TouchEvent("name") with too few arguments must throw TypeError | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| HTMLElement interface: attribute ontouchstart | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| HTMLElement interface: attribute ontouchend | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| HTMLElement interface: attribute ontouchmove | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| HTMLElement interface: attribute ontouchcancel | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Window interface: attribute ontouchstart | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Window interface: attribute ontouchend | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Window interface: attribute ontouchmove | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Window interface: attribute ontouchcancel | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: window must inherit property "ontouchstart" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: window must inherit property "ontouchend" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: window must inherit property "ontouchmove" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: window must inherit property "ontouchcancel" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document must inherit property "ontouchstart" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document must inherit property "ontouchend" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document must inherit property "ontouchmove" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document must inherit property "ontouchcancel" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document.body must inherit property "ontouchstart" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document.body must inherit property "ontouchend" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document.body must inherit property "ontouchmove" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| GlobalEventHandlers interface: document.body must inherit property "ontouchcancel" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: attribute ontouchstart | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: attribute ontouchend | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: attribute ontouchmove | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: attribute ontouchcancel | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: document must inherit property "ontouchstart" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: document must inherit property "ontouchend" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: document must inherit property "ontouchmove" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Document interface: document must inherit property "ontouchcancel" with the proper type | FAIL | FAIL | FAIL | FAIL | FAIL | — |