diff --git a/components/script/dom/htmllabelelement.rs b/components/script/dom/htmllabelelement.rs
index e3328648c4d..bcda8df24cc 100644
--- a/components/script/dom/htmllabelelement.rs
+++ b/components/script/dom/htmllabelelement.rs
@@ -46,6 +46,12 @@ impl HTMLLabelElementMethods for HTMLLabelElement {
self.form_owner()
}
+ // https://html.spec.whatwg.org/multipage/#dom-label-htmlfor
+ make_getter!(HtmlFor, "for");
+
+ // https://html.spec.whatwg.org/multipage/#dom-label-htmlfor
+ make_atomic_setter!(SetHtmlFor, "for");
+
// https://html.spec.whatwg.org/multipage/#dom-label-control
fn GetControl(&self) -> Option> {
if !self.upcast::().is_in_doc() {
diff --git a/components/script/dom/webidls/HTMLLabelElement.webidl b/components/script/dom/webidls/HTMLLabelElement.webidl
index 7188f1d2d43..22659c26e76 100644
--- a/components/script/dom/webidls/HTMLLabelElement.webidl
+++ b/components/script/dom/webidls/HTMLLabelElement.webidl
@@ -6,6 +6,6 @@
// https://html.spec.whatwg.org/multipage/#htmllabelelement
interface HTMLLabelElement : HTMLElement {
readonly attribute HTMLFormElement? form;
- // attribute DOMString htmlFor;
+ attribute DOMString htmlFor;
readonly attribute HTMLElement? control;
};
diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini
index 9769e9eab55..7991e41c459 100644
--- a/tests/wpt/metadata/html/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/html/dom/interfaces.html.ini
@@ -4881,12 +4881,6 @@
[HTMLLabelElement interface: existence and properties of interface object]
expected: FAIL
- [HTMLLabelElement interface: attribute htmlFor]
- expected: FAIL
-
- [HTMLLabelElement interface: document.createElement("label") must inherit property "htmlFor" with the proper type (1)]
- expected: FAIL
-
[HTMLInputElement interface: existence and properties of interface object]
expected: FAIL
diff --git a/tests/wpt/metadata/html/dom/reflection-forms.html.ini b/tests/wpt/metadata/html/dom/reflection-forms.html.ini
index 851591ec145..21effce681d 100644
--- a/tests/wpt/metadata/html/dom/reflection-forms.html.ini
+++ b/tests/wpt/metadata/html/dom/reflection-forms.html.ini
@@ -2913,135 +2913,6 @@
[label.tabIndex: IDL set to -2147483648 followed by getAttribute()]
expected: FAIL
- [label.htmlFor (