Update Keyboard Lock IDL and tests

This change is extracted from
https://github.com/web-platform-tests/wpt/pull/31151 and done
separately because dom.idl is needed for EventTarget.
diff --git a/interfaces/keyboard-lock.idl b/interfaces/keyboard-lock.idl
index 3aaf9f3..d81e992 100644
--- a/interfaces/keyboard-lock.idl
+++ b/interfaces/keyboard-lock.idl
@@ -7,7 +7,8 @@
   [SecureContext, SameObject] readonly attribute Keyboard keyboard;
 };
 
-[SecureContext, Exposed=Window] interface Keyboard {
+[SecureContext, Exposed=Window]
+interface Keyboard : EventTarget {
   Promise<undefined> lock(optional sequence<DOMString> keyCodes = []);
   undefined unlock();
 };
diff --git a/keyboard-lock/idlharness.https.window.js b/keyboard-lock/idlharness.https.window.js
index 9c94411..66bb7b9 100644
--- a/keyboard-lock/idlharness.https.window.js
+++ b/keyboard-lock/idlharness.https.window.js
@@ -8,7 +8,7 @@
 
 idl_test(
   ['keyboard-lock'],
-  ['html'],
+  ['html', 'dom'],
   idl_array => {
     idl_array.add_objects({
       Navigator: ['navigator'],
diff --git a/keyboard-map/idlharness.https.window.js b/keyboard-map/idlharness.https.window.js
index b14734d..07083f7 100644
--- a/keyboard-map/idlharness.https.window.js
+++ b/keyboard-map/idlharness.https.window.js
@@ -7,7 +7,7 @@
 
 idl_test(
   ['keyboard-map'],
-  ['html', 'keyboard-lock'],
+  ['keyboard-lock', 'html', 'dom'],
   async idl_array => {
     idl_array.add_objects({
       Navigator: ['navigator'],