diff --git a/Tests/LibWeb/Text/expected/HTML/HTMLElement-click.txt b/Tests/LibWeb/Text/expected/HTML/HTMLElement-click.txt
new file mode 100644
index 00000000000..2b669cb07b4
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/HTML/HTMLElement-click.txt
@@ -0,0 +1 @@
+ Event: PointerEvent
diff --git a/Tests/LibWeb/Text/input/HTML/HTMLElement-click.html b/Tests/LibWeb/Text/input/HTML/HTMLElement-click.html
new file mode 100644
index 00000000000..1258c11d400
--- /dev/null
+++ b/Tests/LibWeb/Text/input/HTML/HTMLElement-click.html
@@ -0,0 +1,15 @@
+
+
+
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp
index 72db0e0e96e..617005531ea 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLElement.cpp
@@ -381,8 +381,7 @@ bool HTMLElement::fire_a_synthetic_pointer_event(FlyString const& type, DOM::Ele
{
// 1. Let event be the result of creating an event using PointerEvent.
// 2. Initialize event's type attribute to e.
- // FIXME: Actually create a PointerEvent!
- auto event = UIEvents::MouseEvent::create(realm(), type);
+ auto event = UIEvents::PointerEvent::create(realm(), type);
// 3. Initialize event's bubbles and cancelable attributes to true.
event->set_bubbles(true);
@@ -419,7 +418,7 @@ void HTMLElement::click()
// 3. Set this element's click in progress flag.
m_click_in_progress = true;
- // FIXME: 4. Fire a synthetic pointer event named click at this element, with the not trusted flag set.
+ // 4. Fire a synthetic pointer event named click at this element, with the not trusted flag set.
fire_a_synthetic_pointer_event(HTML::EventNames::click, *this, true);
// 5. Unset this element's click in progress flag.