diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs
index ec71502bf42..0c429c29527 100644
--- a/components/script/dom/htmlcollection.rs
+++ b/components/script/dom/htmlcollection.rs
@@ -337,8 +337,8 @@ impl HTMLCollectionMethods for HTMLCollection {
// Step 2.
self.elements_iter().find(|elem| {
- elem.get_string_attribute(&atom!("name")) == key ||
- elem.get_string_attribute(&atom!("id")) == key
+ elem.get_string_attribute(&atom!("id")) == key ||
+ (elem.namespace() == &ns!(html) && elem.get_string_attribute(&atom!("name")) == key)
})
}
diff --git a/tests/wpt/metadata/dom/nodes/Document-getElementsByTagName.html.ini b/tests/wpt/metadata/dom/nodes/Document-getElementsByTagName.html.ini
index e867ec0267f..849409e0fe6 100644
--- a/tests/wpt/metadata/dom/nodes/Document-getElementsByTagName.html.ini
+++ b/tests/wpt/metadata/dom/nodes/Document-getElementsByTagName.html.ini
@@ -3,6 +3,3 @@
[Shouldn't be able to set unsigned properties on a HTMLCollection (strict mode)]
expected: FAIL
- [hasOwnProperty, getOwnPropertyDescriptor, getOwnPropertyNames]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/dom/nodes/Element-children.html.ini b/tests/wpt/metadata/dom/nodes/Element-children.html.ini
deleted file mode 100644
index 5cab09c0321..00000000000
--- a/tests/wpt/metadata/dom/nodes/Element-children.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[Element-children.html]
- type: testharness
- [HTMLCollection edge cases 1]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini b/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini
index f07faeff5df..5cda7ac70ed 100644
--- a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini
+++ b/tests/wpt/metadata/dom/nodes/Element-getElementsByTagName.html.ini
@@ -3,6 +3,3 @@
[Shouldn't be able to set unsigned properties on a HTMLCollection (strict mode)]
expected: FAIL
- [hasOwnProperty, getOwnPropertyDescriptor, getOwnPropertyNames]
- expected: FAIL
-