Click here to download the Blitz Browser!

WPT

This page compares scores on the Web Platform Tests across web engines, using the latest master runs from wpt.fyi and Blitz's own test runner.


wpt / dom / nodes

Spec: DOM ↗

Runs: Chrome 155.0.8039.0 (wpt@752608e1a, 2026-09-03) | Firefox 157.0a1 (wpt@752608e1a, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a9df8 (wpt@9b4cabf6d, 2026-09-03) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

Sort areas: alphabetical | by subtest count

AreaChromeFirefoxSafariLadybirdServoBlitz
Total99.8%15105/1513498.7%14937/1513498.1%14842/1513498.7%14931/1513498.0%14833/151340.0%0/15134
Document-contentType100.0%15/15100.0%15/15100.0%15/15100.0%15/1593.3%14/150.0%0/15
crashtests100.0%6/683.3%5/683.3%5/633.3%2/683.3%5/60.0%0/6
insertion-removing-steps84.4%27/3246.9%15/3271.9%23/3281.2%26/3275.0%24/320.0%0/32
moveBefore99.3%136/13793.4%128/1374.4%6/13779.6%109/13777.4%106/1370.0%0/137
TestChromeFirefoxSafariLadybirdServoBlitz
Attr-prefix-xhtml.xhtml2/22/22/22/22/2NOT RUN
Attr-prefix.html6/66/66/66/66/6NOT RUN
CharacterData-appendChild.html9/99/99/99/99/9NOT RUN
CharacterData-appendData.html14/1414/1414/1414/1414/14NOT RUN
CharacterData-data.html16/1616/1616/1616/1616/16NOT RUN
CharacterData-deleteData.html18/1818/1818/1818/1818/18NOT RUN
CharacterData-insertData.html18/1818/1818/1818/1818/18NOT RUN
CharacterData-remove.html12/1212/1212/1212/1212/12NOT RUN
CharacterData-replaceData.html34/3434/3434/3434/3434/34NOT RUN
CharacterData-substringData.html28/2828/2828/2828/2828/28NOT RUN
CharacterData-surrogates.html8/88/88/88/80/8NOT RUN
ChildNode-after.html45/4545/4545/4545/4545/45NOT RUN
ChildNode-before.html45/4545/4545/4545/4545/45NOT RUN
ChildNode-replaceWith.html33/3333/3333/3333/3333/33NOT RUN
Comment-constructor.html16/1616/1616/1616/1616/16NOT RUN
Comment-in-doctype.xhtmlFAILPASSFAILFAILPASSNOT RUN
DOMImplementation-createDocument-with-null-browsing-context-crash.htmlPASSPASSPASSPASSPASSNOT RUN
DOMImplementation-createDocument.html434/434434/434434/434434/434434/434NOT RUN
DOMImplementation-createDocumentType.html82/8282/8282/8282/8282/82NOT RUN
DOMImplementation-createHTMLDocument-with-null-browsing-context-crash.htmlPASSPASSPASSPASSPASSNOT RUN
DOMImplementation-createHTMLDocument-with-saved-implementation.htmlPASSPASSPASSPASSPASSNOT RUN
DOMImplementation-createHTMLDocument.html13/1313/1313/1313/1313/13NOT RUN
DOMImplementation-hasFeature.html137/137137/137137/137137/137137/137NOT RUN
Document-URL.htmlPASSPASSPASSPASSPASSNOT RUN
Document-adoptNode-DocumentFragment-with-host.window.html7/76/77/77/77/7NOT RUN
Document-adoptNode.html4/44/44/44/44/4NOT RUN
Document-characterSet-normalization-1.html315/315315/315315/315315/315315/315NOT RUN
Document-characterSet-normalization-2.html339/339339/339339/339339/339339/339NOT RUN
Document-constructor-svg.svg4/44/44/44/40/4NOT RUN
Document-constructor-xml.xml4/44/44/44/44/4NOT RUN
Document-constructor.html5/55/55/55/55/5NOT RUN
Document-createAttribute.html36/3636/3636/3636/3636/36NOT RUN
Document-createCDATASection-xhtml.xhtml7/77/77/77/77/7NOT RUN
Document-createCDATASection.htmlPASSPASSPASSPASSPASSNOT RUN
Document-createComment.html6/66/66/66/66/6NOT RUN
Document-createElement-namespace.html51/5151/5151/5151/5141/51NOT RUN
Document-createElement.html147/147147/147147/147147/147147/147NOT RUN
Document-createElementNS.html596/596596/596596/596596/596596/596NOT RUN
Document-createEvent-touchevent.window.html3/33/33/30/30/3NOT RUN
Document-createEvent.https.html271/279273/279272/279267/279255/279NOT RUN
Document-createProcessingInstruction-xhtml.xhtml12/1212/1212/1212/1212/12NOT RUN
Document-createProcessingInstruction.html12/1212/1212/1212/1212/12NOT RUN
Document-createTextNode.html6/66/66/66/66/6NOT RUN
Document-createTreeWalker.html5/55/55/55/55/5NOT RUN
Document-doctype.html2/22/22/22/22/2NOT RUN
Document-getElementById.html18/1818/1818/1818/1818/18NOT RUN
Document-getElementsByClassName.htmlPASSPASSPASSPASSPASSNOT RUN
Document-getElementsByTagName-xhtml.xhtml10/1010/1010/1010/1010/10NOT RUN
Document-getElementsByTagName.html18/1818/1818/1818/1817/18NOT RUN
Document-getElementsByTagNameNS.html14/1414/1414/1414/1414/14NOT RUN
Document-implementation.html2/22/22/22/22/2NOT RUN
Document-importNode.html5/55/55/55/55/5NOT RUN
DocumentFragment-constructor.html2/22/22/22/22/2NOT RUN
DocumentFragment-getElementById.html5/55/55/55/53/5NOT RUN
DocumentFragment-querySelectorAll-after-modification.htmlPASSPASSPASSPASSPASSNOT RUN
DocumentType-literal-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
DocumentType-literal.htmlPASSPASSPASSPASSPASSNOT RUN
DocumentType-remove.html4/44/44/44/44/4NOT RUN
Element-childElement-null-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-childElement-null-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-childElement-null.htmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount-dynamic-add-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-childElementCount-dynamic-add-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount-dynamic-add.htmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount-dynamic-remove-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-childElementCount-dynamic-remove-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount-dynamic-remove.htmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount-nochild-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-childElementCount-nochild-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount-nochild.htmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-childElementCount-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-childElementCount.htmlPASSPASSPASSPASSPASSNOT RUN
Element-children.html2/22/22/22/22/2NOT RUN
Element-classlist.html1420/14201420/14201420/14201420/14201420/1420NOT RUN
Element-closest.html29/2929/2929/2929/2928/29NOT RUN
Element-firstElementChild-entity-xhtml.xhtmlPASSPASSPASSPASSFAILNOT RUN
Element-firstElementChild-entity.svgPASSPASSPASSPASSERRORNOT RUN
Element-firstElementChild-namespace-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-firstElementChild-namespace-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-firstElementChild-namespace.htmlPASSPASSPASSPASSPASSNOT RUN
Element-firstElementChild-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-firstElementChild-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-firstElementChild.htmlPASSPASSPASSPASSPASSNOT RUN
Element-getElementsByClassName.html3/33/33/33/33/3NOT RUN
Element-getElementsByTagName-change-document-HTMLNess.htmlPASSPASSPASSPASSFAILNOT RUN
Element-getElementsByTagName.html19/1919/1919/1919/1918/19NOT RUN
Element-getElementsByTagNameNS.html16/1616/1616/1616/1616/16NOT RUN
Element-hasAttribute.html2/22/22/22/22/2NOT RUN
Element-hasAttributes.html2/22/22/22/22/2NOT RUN
Element-insertAdjacentElement.html6/66/66/66/66/6NOT RUN
Element-insertAdjacentText.html6/66/66/66/66/6NOT RUN
Element-lastElementChild-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-lastElementChild-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-lastElementChild.htmlPASSPASSPASSPASSPASSNOT RUN
Element-matches-namespaced-elements.html6/66/66/66/66/6NOT RUN
Element-matches.html669/669669/669669/669669/669669/669NOT RUN
Element-nextElementSibling-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-nextElementSibling-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-nextElementSibling.htmlPASSPASSPASSPASSPASSNOT RUN
Element-previousElementSibling-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-previousElementSibling-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-previousElementSibling.htmlPASSPASSPASSPASSPASSNOT RUN
Element-remove.html4/44/44/44/44/4NOT RUN
Element-removeAttribute.html2/22/22/22/22/2NOT RUN
Element-removeAttributeNS.htmlPASSPASSPASSPASSPASSNOT RUN
Element-setAttribute-crbug-1138487.htmlPASSPASSPASSPASSPASSNOT RUN
Element-setAttribute.html2/22/22/22/22/2NOT RUN
Element-siblingElement-null-svg.svgPASSPASSPASSPASSERRORNOT RUN
Element-siblingElement-null-xhtml.xhtmlPASSPASSPASSPASSPASSNOT RUN
Element-siblingElement-null.htmlPASSPASSPASSPASSPASSNOT RUN
Element-tagName.html6/66/66/66/66/6NOT RUN
Element-webkitMatchesSelector.html669/669669/669669/669669/669669/669NOT RUN
MutationObserver-attributes.html42/4242/4242/4242/4242/42NOT RUN
MutationObserver-callback-arguments.htmlPASSPASSPASSPASSPASSNOT RUN
MutationObserver-characterData.html22/2323/2323/2323/2323/23NOT RUN
MutationObserver-childList.html40/4040/4040/4038/4040/40NOT RUN
MutationObserver-cross-realm-callback-report-exception.htmlPASSPASSPASSPASSPASSNOT RUN
MutationObserver-disconnect.html2/22/22/22/22/2NOT RUN
MutationObserver-document.html4/44/44/44/44/4NOT RUN
MutationObserver-inner-outer.html3/33/33/33/33/3NOT RUN
MutationObserver-nested-crash.htmlPASSPASSPASSPASSPASSNOT RUN
MutationObserver-sanity.html16/1616/1616/1616/1616/16NOT RUN
MutationObserver-takeRecords.html3/33/33/33/33/3NOT RUN
MutationObserver-textContent.html4/44/44/44/44/4NOT RUN
Node-appendChild-cereactions-vs-script.window.htmlPASSPASSFAILPASSPASSNOT RUN
Node-appendChild.html11/1111/1111/1111/1111/11NOT RUN
Node-baseURI.html9/99/99/99/99/9NOT RUN
Node-childNodes-cache-2.htmlPASSPASSPASSPASSPASSNOT RUN
Node-childNodes-cache.htmlPASSPASSPASSPASSPASSNOT RUN
Node-childNodes.html6/66/66/66/66/6NOT RUN
Node-cloneNode-XMLDocument.htmlPASSPASSPASSPASSFAILNOT RUN
Node-cloneNode-document-allow-declarative-shadow-roots.window.htmlPASSPASSPASSPASSPASSNOT RUN
Node-cloneNode-document-with-doctype.html3/33/33/33/33/3NOT RUN
Node-cloneNode-external-stylesheet-no-bc.sub.htmlPASSPASSPASSPASSPASSNOT RUN
Node-cloneNode-on-inactive-document-crash.htmlPASSPASSPASSPASSPASSNOT RUN
Node-cloneNode-svg.html4/44/44/44/44/4NOT RUN
Node-cloneNode.html135/135135/135135/135135/135135/135NOT RUN
Node-compareDocumentPosition.html1444/14441444/14441444/14441444/14441444/1444NOT RUN
Node-constants.html8/88/88/88/88/8NOT RUN
Node-contains-xml.xml8/88/88/88/88/8NOT RUN
Node-contains.html1482/14821482/14821482/14821482/14821482/1482NOT RUN
Node-insertBefore.html40/4040/4040/4040/4040/40NOT RUN
Node-isConnected-shadow-dom.html2/22/22/22/22/2NOT RUN
Node-isConnected.html2/22/22/22/22/2NOT RUN
Node-isEqualNode-xhtml.xhtml14/1414/1414/1414/1414/14NOT RUN
Node-isEqualNode.html9/99/99/99/99/9NOT RUN
Node-isSameNode.html9/99/99/99/99/9NOT RUN
Node-lookupNamespaceURI.html75/7564/7575/7575/7575/75NOT RUN
Node-lookupPrefix.xhtml11/1111/1111/1111/114/11NOT RUN
Node-mutation-adoptNode.html2/21/22/22/22/2NOT RUN
Node-nodeName-xhtml.xhtml7/77/77/77/77/7NOT RUN
Node-nodeName.html6/66/66/66/66/6NOT RUN
Node-nodeValue.html7/77/77/77/77/7NOT RUN
Node-normalize.html4/44/44/44/44/4NOT RUN
Node-parentElement.html12/1212/1212/1212/1212/12NOT RUN
Node-parentNode.html5/55/55/55/55/5NOT RUN
Node-properties.html726/726726/726726/726726/726726/726NOT RUN
Node-removeChild.html28/2828/2828/2828/2828/28NOT RUN
Node-replaceChild.html29/2929/2929/2929/2929/29NOT RUN
Node-textContent.html81/8181/8181/8181/8181/81NOT RUN
NodeList-Iterable.html8/88/88/88/88/8NOT RUN
NodeList-live-mutations.window.html4/44/44/44/44/4NOT RUN
NodeList-static-length-getter-tampered-1.htmlPASSPASSPASSPASSPASSNOT RUN
NodeList-static-length-getter-tampered-2.htmlPASSPASSPASSPASSPASSNOT RUN
NodeList-static-length-getter-tampered-3.htmlPASSPASSPASSPASSPASSNOT RUN
NodeList-static-length-getter-tampered-indexOf-1.htmlPASSPASSPASSPASSPASSNOT RUN
NodeList-static-length-getter-tampered-indexOf-2.htmlPASSPASSPASSPASSPASSNOT RUN
NodeList-static-length-getter-tampered-indexOf-3.htmlPASSPASSPASSPASSPASSNOT RUN
ParentNode-append.html25/2525/2525/2525/2525/25NOT RUN
ParentNode-children.htmlPASSPASSPASSPASSPASSNOT RUN
ParentNode-prepend.html22/2222/2222/2222/2222/22NOT RUN
ParentNode-querySelector-All-xht.xht1975/19751975/19751975/19751971/19751957/1975NOT RUN
ParentNode-querySelector-All.html1975/19751975/19751975/19751975/19751957/1975NOT RUN
ParentNode-querySelector-case-insensitive.html2/22/22/22/22/2NOT RUN
ParentNode-querySelector-escapes.html68/6868/6868/6868/6866/68NOT RUN
ParentNode-querySelector-scope.html4/44/44/44/44/4NOT RUN
ParentNode-querySelectorAll-removed-elements.htmlPASSPASSPASSPASSPASSNOT RUN
ParentNode-querySelectors-exclusive.htmlPASSPASSPASSPASSPASSNOT RUN
ParentNode-querySelectors-namespaces.htmlPASSPASSPASSPASSPASSNOT RUN
ParentNode-querySelectors-space-and-dash-attribute-value.html2/22/22/22/22/2NOT RUN
ParentNode-replaceChildren.html28/3128/3131/3131/3128/31NOT RUN
ProcessingInstruction-escapes-1.xhtmlPASSPASSPASSFAILFAILNOT RUN
ProcessingInstruction-in-doctype.xhtmlFAILPASSFAILPASSPASSNOT RUN
ProcessingInstruction-literal-1.xhtmlPASSPASSPASSPASSFAILNOT RUN
ProcessingInstruction-literal-2.xhtmlPASSPASSPASSPASSPASSNOT RUN
Text-constructor.html16/1616/1616/1616/1616/16NOT RUN
Text-splitText.html6/66/66/66/66/6NOT RUN
Text-wholeText.htmlPASSPASSPASSPASSPASSNOT RUN
adoption.window.html6/66/66/66/66/6NOT RUN
append-on-Document.html5/55/55/55/55/5NOT RUN
attach-shadow-realm-after-adoption.html3/55/55/55/55/5NOT RUN
attributes-namednodemap-cross-document.window.html2/22/22/22/22/2NOT RUN
attributes-namednodemap.html8/88/88/88/88/8NOT RUN
attributes.html67/6767/6767/6767/6767/67NOT RUN
case.html285/285285/285285/285285/285285/285NOT RUN
create-element-realm-after-adoption.html3/55/55/55/55/5NOT RUN
getElementsByClassName-01.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-02.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-03.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-04.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-05.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-06.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-07.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-08.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-09.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-10.xmlPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-11.xmlPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-12.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-13.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-14.htm2/22/22/22/22/2NOT RUN
getElementsByClassName-15.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-16.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-17.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-18.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-19.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-20.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-21.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-22.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-23.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-24.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-25.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-26.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-27.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-28.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-29.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-30.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-31.htmPASSPASSPASSPASSPASSNOT RUN
getElementsByClassName-32.html4/44/44/44/44/4NOT RUN
getElementsByClassName-empty-set.html3/33/33/33/33/3NOT RUN
getElementsByClassName-whitespace-class-names.html26/2626/2626/2626/2626/26NOT RUN
insert-adjacent.html14/1414/1414/1414/1414/14NOT RUN
insertBefore-iframe-crash.htmlPASSPASSPASSPASSPASSNOT RUN
name-validation.html5/55/55/55/55/5NOT RUN
node-appendchild-crash.htmlPASSPASSPASSCRASHPASSNOT RUN
node-creation-realm.html12/1313/1313/1313/1313/13NOT RUN
node-realm-adoption-after-frame-removal.html2/30/33/30/33/3NOT RUN
node-realm-mixed-across-adoption.html2/41/44/41/44/4NOT RUN
node-realm-preserved-across-adoption.html5/54/55/54/55/5NOT RUN
node-realm-preserved-across-frameless-adoption.html4/40/44/40/44/4NOT RUN
prepend-on-Document.html5/55/55/55/55/5NOT RUN
processing-instruction-attributes.html140/1403/1400/14010/1400/140NOT RUN
query-target-in-load-event.htmlPASSPASSPASSPASSFAILNOT RUN
querySelector-empty-id.htmlPASSPASSFAILPASSPASSNOT RUN
querySelector-id-nth-child.html2/22/22/22/22/2NOT RUN
querySelector-mixed-case.htmlFAILPASSPASSPASSPASSNOT RUN
remove-and-adopt-thcrash.htmlPASSPASSPASSPASSPASSNOT RUN
remove-from-shadow-host-and-adopt-into-iframe.htmlPASSPASSPASSPASSPASSNOT RUN
remove-next-sibling-during-replace-with.htmlPASSPASSPASSPASSPASSNOT RUN
remove-unscopable.html6/66/66/66/66/6NOT RUN
replaceWith-document-element-crash.htmlPASSPASSPASSPASSPASSNOT RUN
rootNode.html5/55/55/55/55/5NOT RUN
svg-template-querySelector.html3/33/33/33/33/3NOT RUN