diff --git a/testing/web-platform/tests/event-timing/orphan-keydown.html b/testing/web-platform/tests/event-timing/orphan-keydown.html
new file mode 100644
index 000000000000..0ab105d4d728
--- /dev/null
+++ b/testing/web-platform/tests/event-timing/orphan-keydown.html
@@ -0,0 +1,34 @@
+
+
+
+
Event Timing: orphan keydown.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/event-timing/resources/event-timing-test-utils.js b/testing/web-platform/tests/event-timing/resources/event-timing-test-utils.js
index 59c78ebf39c8..afad67bb6fc2 100644
--- a/testing/web-platform/tests/event-timing/resources/event-timing-test-utils.js
+++ b/testing/web-platform/tests/event-timing/resources/event-timing-test-utils.js
@@ -554,6 +554,17 @@ async function interactAndObserve(interactionType, target, observerPromise, key
interactionPromise = textSelectionAndBlockMain(target, 30);
break;
}
+ case 'orphan-keydown': {
+ addListeners(target, ['keydown']);
+ interactionPromise = new test_driver.Actions()
+ .pointerMove(0, 0, {origin: target})
+ .pointerDown()
+ .pointerUp()
+ .addTick()
+ .keyDown('a')
+ .send();
+ break;
+ }
}
return Promise.all([interactionPromise, observerPromise]);
}