diff --git a/Tests/LibWeb/Text/expected/HTML/HTMLTrackElement-kind-attribute.txt b/Tests/LibWeb/Text/expected/HTML/HTMLTrackElement-kind-attribute.txt
new file mode 100644
index 00000000000..53c30d9882e
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/HTML/HTMLTrackElement-kind-attribute.txt
@@ -0,0 +1,7 @@
+kind initial value: 'subtitles'
+kind value after setting to "invalid": 'metadata'
+kind value after setting to "captions": 'captions'
+kind value after setting to null: 'metadata'
+kind value after setting to "CHAPTERS": 'chapters'
+kind value after setting to "": 'metadata'
+kind value after calling removeAttribute: 'subtitles'
\ No newline at end of file
diff --git a/Tests/LibWeb/Text/input/HTML/HTMLTrackElement-kind-attribute.html b/Tests/LibWeb/Text/input/HTML/HTMLTrackElement-kind-attribute.html
new file mode 100644
index 00000000000..f1bde43a498
--- /dev/null
+++ b/Tests/LibWeb/Text/input/HTML/HTMLTrackElement-kind-attribute.html
@@ -0,0 +1,20 @@
+
+
+
diff --git a/Userland/Libraries/LibWeb/HTML/AttributeNames.h b/Userland/Libraries/LibWeb/HTML/AttributeNames.h
index 39e6d060d90..01ccfde4920 100644
--- a/Userland/Libraries/LibWeb/HTML/AttributeNames.h
+++ b/Userland/Libraries/LibWeb/HTML/AttributeNames.h
@@ -94,6 +94,7 @@ namespace AttributeNames {
__ENUMERATE_HTML_ATTRIBUTE(is) \
__ENUMERATE_HTML_ATTRIBUTE(ismap) \
__ENUMERATE_HTML_ATTRIBUTE(itemscope) \
+ __ENUMERATE_HTML_ATTRIBUTE(kind) \
__ENUMERATE_HTML_ATTRIBUTE(label) \
__ENUMERATE_HTML_ATTRIBUTE(lang) \
__ENUMERATE_HTML_ATTRIBUTE(language) \
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl
index 6d800e28c44..b9e1155d610 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl
+++ b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl
@@ -1,12 +1,22 @@
#import
+// https://html.spec.whatwg.org/multipage/media.html#attr-track-kind
+[MissingValueDefault=subtitles, InvalidValueDefault=metadata]
+enum TrackKindAttribute {
+ "subtitles",
+ "captions",
+ "descriptions",
+ "chapters",
+ "metadata"
+};
+
// https://html.spec.whatwg.org/multipage/media.html#htmltrackelement
[Exposed=Window]
interface HTMLTrackElement : HTMLElement {
[HTMLConstructor] constructor();
- [FIXME, CEReactions] attribute DOMString kind;
+ [CEReactions, Enumerated=TrackKindAttribute, Reflect] attribute DOMString kind;
[CEReactions, Reflect] attribute DOMString src;
[CEReactions, Reflect] attribute DOMString srclang;
[CEReactions, Reflect] attribute DOMString label;