WPT
wpt / custom-elements / reactions / Element.html
Spec: https://html.spec.whatwg.org/multipage/custom-elements.html ↗
Runs: Chrome 155.0.8042.0 (wpt@4eb09bcd9, 2026-09-04) | Firefox 157.0a1 (wpt@c3fcbf4ba, 2026-09-04) | Safari 251 preview (wpt@e7122b73f, 2026-09-04) | Ladybird 1.0-52f0f (wpt@a1ecd0c09, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 47/47 | 47/47 | 47/47 | 46/47 | 47/47 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| id on Element must enqueue an attributeChanged reaction when adding id content attribute | PASS | PASS | PASS | PASS | PASS | — |
| id on Element must enqueue an attributeChanged reaction when replacing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| className on Element must enqueue an attributeChanged reaction when adding class content attribute | PASS | PASS | PASS | PASS | PASS | — |
| className on Element must enqueue an attributeChanged reaction when replacing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| slot on Element must enqueue an attributeChanged reaction when adding slot content attribute | PASS | PASS | PASS | PASS | PASS | — |
| slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttribute on Element must enqueue an attributeChanged reaction when adding an attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttribute on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNS on Element must enqueue an attributeChanged reaction when adding an attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttribute on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttribute on Element must enqueue an attributeChanged reaction when removing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttribute on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttributeNS on Element must enqueue an attributeChanged reaction when removing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| toggleAttribute (only removes) on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| toggleAttribute (only removes) on Element must enqueue an attributeChanged reaction when removing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| toggleAttribute (only removes) on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| toggleAttribute (force false) on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| toggleAttribute (force false) on Element must enqueue an attributeChanged reaction when removing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| toggleAttribute (force false) on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNode on Element must enqueue an attributeChanged reaction when adding an attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNode on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNodeNS on Element must enqueue an attributeChanged reaction when adding an attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNodeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttributeNode on Element must enqueue an attributeChanged reaction when removing an existing attribute | PASS | PASS | PASS | PASS | PASS | — |
| removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute | PASS | PASS | PASS | PASS | PASS | — |
| insertAdjacentElement on Element must enqueue a connected reaction | PASS | PASS | PASS | PASS | PASS | — |
| insertAdjacentElement on Element must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document | PASS | PASS | PASS | FAIL | PASS | — |
| innerHTML on Element must enqueue a connected reaction for a newly constructed custom element | PASS | PASS | PASS | PASS | PASS | — |
| innerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element | PASS | PASS | PASS | PASS | PASS | — |
| innerHTML on Element must enqueue a disconnected reaction | PASS | PASS | PASS | PASS | PASS | — |
| outerHTML on Element must enqueue a connected reaction for a newly constructed custom element | PASS | PASS | PASS | PASS | PASS | — |
| outerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element | PASS | PASS | PASS | PASS | PASS | — |
| outerHTML on Element must enqueue a disconnected reaction | PASS | PASS | PASS | PASS | PASS | — |
| insertAdjacentHTML on Element must enqueue a connected reaction for a newly constructed custom element | PASS | PASS | PASS | PASS | PASS | — |
| insertAdjacentHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element | PASS | PASS | PASS | PASS | PASS | — |