diff --git a/Libraries/LibWeb/HTML/AttributeNames.h b/Libraries/LibWeb/HTML/AttributeNames.h
index 9db2b197f3f..df2577cea88 100644
--- a/Libraries/LibWeb/HTML/AttributeNames.h
+++ b/Libraries/LibWeb/HTML/AttributeNames.h
@@ -71,6 +71,7 @@ namespace AttributeNames {
__ENUMERATE_HTML_ATTRIBUTE(download) \
__ENUMERATE_HTML_ATTRIBUTE(enctype) \
__ENUMERATE_HTML_ATTRIBUTE(ended) \
+ __ENUMERATE_HTML_ATTRIBUTE(enterkeyhint) \
__ENUMERATE_HTML_ATTRIBUTE(event) \
__ENUMERATE_HTML_ATTRIBUTE(face) \
__ENUMERATE_HTML_ATTRIBUTE(fetchpriority) \
diff --git a/Libraries/LibWeb/HTML/HTMLElement.idl b/Libraries/LibWeb/HTML/HTMLElement.idl
index 4d0b8140fbd..71c0a47984f 100644
--- a/Libraries/LibWeb/HTML/HTMLElement.idl
+++ b/Libraries/LibWeb/HTML/HTMLElement.idl
@@ -52,6 +52,17 @@ HTMLElement includes GlobalEventHandlers;
HTMLElement includes ElementContentEditable;
HTMLElement includes HTMLOrSVGElement;
+// https://html.spec.whatwg.org/multipage/interaction.html#attr-enterkeyhint
+enum EnterKeyHint {
+ "enter",
+ "done",
+ "go",
+ "next",
+ "previous",
+ "search",
+ "send"
+};
+
// https://html.spec.whatwg.org/#attr-inputmode
enum InputMode {
"none",
@@ -67,7 +78,7 @@ enum InputMode {
// https://html.spec.whatwg.org/#elementcontenteditable
interface mixin ElementContentEditable {
[CEReactions] attribute DOMString contentEditable;
- [FIXME, CEReactions] attribute DOMString enterKeyHint;
+ [Reflect=enterkeyhint, Enumerated=EnterKeyHint, CEReactions] attribute DOMString enterKeyHint;
readonly attribute boolean isContentEditable;
[Reflect=inputmode, Enumerated=InputMode, CEReactions] attribute DOMString inputMode;
};