← back to v156 · web-haptics-javascript-api

conformance · v156

v156 · web-haptics-javascript-api — conformance probe

9 assertions drawn from the spec. Each is a single contract the spec text makes. Pass/fail reflects what this browser executed; blocked means the contract was not run because it needs user mediation, hardware, or another unavailable precondition. Open the page in Chrome stable / canary / Firefox / Safari to compare.

browser: … spec: https://github.com/WICG/web-haptics chromestatus: #5167864517623808 generated 2026-10-18T12:00:00Z by claude-fable-5-v156-web-haptics-build
0
pass
0
fail
0
blocked
9
total
id contract kind verdict detail
playhaptics-exists Navigator exposes a playHaptics member (the imperative semantic-haptics entry point). spec ↗ exists …
playhaptics-is-function navigator.playHaptics is a function, per the proposed partial Navigator interface. spec ↗ typeof …
playhaptics-returns-undefined Calling playHaptics with a valid effect returns undefined — the API exposes no success signal, even when the call is silently ignored for lack of activation. spec ↗ script …
unknown-effect-throws-typeerror HapticEffect is a closed enum (hint, edge, tick, align in the Chromium IDL), so an unknown effect name is rejected with a TypeError by the WebIDL binding. spec ↗ script …
nonfinite-intensity-throws-typeerror intensity is a WebIDL double (not unrestricted), so NaN is rejected with a TypeError at the binding before any clamping. spec ↗ script …
out-of-range-intensity-is-clamped-not-thrown A finite out-of-range intensity (e.g. 2.5) is accepted by the binding and clamped to [0,1] internally — the call still returns undefined rather than throwing. spec ↗ script …
playhaptics-arity-one playHaptics declares exactly one required argument (effect); intensity is optional with default 1. spec ↗ script …
haptics-permissions-policy-registered A policy-controlled feature named 'haptics' is registered (it ships together with the WebHaptics flag via depends_on), observable through permissions-policy introspection. spec ↗ script …
haptic-output-requires-hardware Physically feeling an effect requires a haptics-capable most-recent input device (first backend: Windows 11 24H2+ touchpad/mouse/pen), and the API deliberately exposes no signal of whether output played — so actual output cannot be asserted from script. spec ↗ manual …