Click here to download the Blitz Browser!

WPT

wpt / dom / ranges / Range-attribute-nodes.html

Spec: DOM ↗

Runs: Chrome 155.0.8040.0 (wpt@105b6a3a5, 2026-09-03) | Firefox 157.0a1 (wpt@9b4cabf6d, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-f436a (wpt@476394464, 2026-09-03) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total26/2626/2626/2626/2626/26NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
setStart() to an Attr node at offset 0 is allowedPASSPASSPASSPASSPASS
setEnd() to an Attr node at offset 0 is allowedPASSPASSPASSPASSPASS
setStart() to an Attr node past its length (0) throws IndexSizeErrorPASSPASSPASSPASSPASS
setEnd() to an Attr node past its length (0) throws IndexSizeErrorPASSPASSPASSPASSPASS
setStartBefore() with an Attr node throws InvalidNodeTypeError (null parent)PASSPASSPASSPASSPASS
setStartAfter() with an Attr node throws InvalidNodeTypeError (null parent)PASSPASSPASSPASSPASS
setEndBefore() with an Attr node throws InvalidNodeTypeError (null parent)PASSPASSPASSPASSPASS
setEndAfter() with an Attr node throws InvalidNodeTypeError (null parent)PASSPASSPASSPASSPASS
selectNode() with an Attr node throws InvalidNodeTypeError (null parent)PASSPASSPASSPASSPASS
selectNodeContents() on an Attr node selects an empty range rooted at the AttrPASSPASSPASSPASSPASS
comparePoint() with an Attr node not sharing the range's root throws WrongDocumentErrorPASSPASSPASSPASSPASS
isPointInRange() with an Attr node not sharing the range's root returns falsePASSPASSPASSPASSPASS
intersectsNode() with an Attr node not sharing the range's root returns falsePASSPASSPASSPASSPASS
comparePoint() with an Attr node sharing the range's rootPASSPASSPASSPASSPASS
isPointInRange() with an Attr node sharing the range's rootPASSPASSPASSPASSPASS
intersectsNode() with an Attr node sharing the range's root returns truePASSPASSPASSPASSPASS
compareBoundaryPoints() across an Attr-rooted range and a document-rooted range throws WrongDocumentErrorPASSPASSPASSPASSPASS
compareBoundaryPoints() between two ranges rooted at the same Attr node returns 0PASSPASSPASSPASSPASS
deleteContents() on an Attr-rooted range is a no-opPASSPASSPASSPASSPASS
extractContents() on an Attr-rooted range returns an empty fragmentPASSPASSPASSPASSPASS
cloneContents() on an Attr-rooted range returns an empty fragmentPASSPASSPASSPASSPASS
insertNode() into an Attr-rooted range throws HierarchyRequestErrorPASSPASSPASSPASSPASS
surroundContents() on an Attr-rooted range throws HierarchyRequestErrorPASSPASSPASSPASSPASS
insertNode() with an Attr node argument throws HierarchyRequestErrorPASSPASSPASSPASSPASS
cloneRange() preserves an Attr-rooted rangePASSPASSPASSPASSPASS
stringifying an Attr-rooted range returns the empty stringPASSPASSPASSPASSPASS