diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp
index 9a00f75c94c..bc8f4f3971a 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp
@@ -1914,8 +1914,11 @@ void HTMLMediaElement::reject_pending_play_promises(ReadonlySpan HTMLMediaElement::handle_keydown(Badge, UIEvents::KeyCode key)
+WebIDL::ExceptionOr HTMLMediaElement::handle_keydown(Badge, UIEvents::KeyCode key, u32 modifiers)
{
+ if (modifiers != UIEvents::KeyModifier::Mod_None)
+ return false;
+
switch (key) {
case UIEvents::KeyCode::Key_Space:
TRY(toggle_playback());
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h
index b45a6eb43cd..932349ec99c 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h
+++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h
@@ -109,7 +109,7 @@ public:
JS::NonnullGCPtr add_text_track(Bindings::TextTrackKind kind, String const& label, String const& language);
- WebIDL::ExceptionOr handle_keydown(Badge, UIEvents::KeyCode);
+ WebIDL::ExceptionOr handle_keydown(Badge, UIEvents::KeyCode, u32 modifiers);
enum class MouseTrackingComponent {
Timeline,
diff --git a/Userland/Libraries/LibWeb/Page/EventHandler.cpp b/Userland/Libraries/LibWeb/Page/EventHandler.cpp
index 33b6af3856c..2ba6c5cb6c3 100644
--- a/Userland/Libraries/LibWeb/Page/EventHandler.cpp
+++ b/Userland/Libraries/LibWeb/Page/EventHandler.cpp
@@ -890,7 +890,7 @@ bool EventHandler::handle_keydown(UIEvents::KeyCode key, u32 modifiers, u32 code
if (auto* element = m_navigable->active_document()->focused_element(); is(element)) {
auto& media_element = static_cast(*element);
- if (media_element.handle_keydown({}, key).release_value_but_fixme_should_propagate_errors())
+ if (media_element.handle_keydown({}, key, modifiers).release_value_but_fixme_should_propagate_errors())
return true;
}