← 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.
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 | … |