diff --git a/Tests/LibWeb/Text/expected/UIEvents/auxevent.txt b/Tests/LibWeb/Text/expected/UIEvents/auxevent.txt
new file mode 100644
index 00000000000..9d7c2ddb982
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/UIEvents/auxevent.txt
@@ -0,0 +1 @@
+auxclick event fired
\ No newline at end of file
diff --git a/Tests/LibWeb/Text/input/UIEvents/auxevent.html b/Tests/LibWeb/Text/input/UIEvents/auxevent.html
new file mode 100644
index 00000000000..8309f8de690
--- /dev/null
+++ b/Tests/LibWeb/Text/input/UIEvents/auxevent.html
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/Userland/Libraries/LibWeb/Page/EventHandler.cpp b/Userland/Libraries/LibWeb/Page/EventHandler.cpp
index ce7ac244471..0bebc268313 100644
--- a/Userland/Libraries/LibWeb/Page/EventHandler.cpp
+++ b/Userland/Libraries/LibWeb/Page/EventHandler.cpp
@@ -278,6 +278,8 @@ bool EventHandler::handle_mouseup(CSSPixelPoint viewport_position, CSSPixelPoint
if (node.ptr() == m_mousedown_target) {
if (button == UIEvents::MouseButton::Primary) {
run_activation_behavior = node->dispatch_event(UIEvents::MouseEvent::create_from_platform_event(node->realm(), UIEvents::EventNames::click, screen_position, page_offset, client_offset, offset, {}, 1, button, modifiers).release_value_but_fixme_should_propagate_errors());
+ } else if (button == UIEvents::MouseButton::Middle) {
+ run_activation_behavior = node->dispatch_event(UIEvents::MouseEvent::create_from_platform_event(node->realm(), UIEvents::EventNames::auxclick, screen_position, page_offset, client_offset, offset, {}, 1, button, modifiers).release_value_but_fixme_should_propagate_errors());
} else if (button == UIEvents::MouseButton::Secondary) {
// Allow the user to bypass custom context menus by holding shift, like Firefox.
if ((modifiers & UIEvents::Mod_Shift) == 0)