WPT
wpt / css / css-animations / idlharness.html
Spec: CSS Animations ↗
Runs: Chrome 155.0.8039.0 (wpt@a8b466b15, 2026-09-03) | Firefox 157.0a1 (wpt@a8b466b15, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-56c61 (wpt@ed1909ed6, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 98/98 | 98/98 | 98/98 | 98/98 | 93/98 | 0/98 |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| idl_test setup | PASS | PASS | PASS | PASS | PASS | — |
| idl_test validation | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface CSSRule: original interface defined | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface CSSRule: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface mixin GlobalEventHandlers: original interface mixin defined | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface mixin GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Document: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Element: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Document[2]: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Partial interface Window: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement includes ElementContentEditable: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement includes HTMLOrSVGOrMathMLElement: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowEventHandlers: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowOrWorkerGlobalScope: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes AnimationFrameProvider: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowSessionStorage: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Window includes WindowLocalStorage: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes NonElementParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes DocumentOrShadowRoot: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes ParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes ParentNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes NonDocumentTypeChildNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes ChildNode: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Element includes Slottable: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| Document includes XPathEvaluatorBase: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement includes ElementCSSInlineStyle: member names are unique | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface object length | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface object name | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: attribute animationName | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: attribute elapsedTime | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: attribute pseudoElement | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent must be primary interface of new AnimationEvent("animationstart") | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of new AnimationEvent("animationstart") | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: new AnimationEvent("animationstart") must inherit property "animationName" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: new AnimationEvent("animationstart") must inherit property "elapsedTime" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| AnimationEvent interface: new AnimationEvent("animationstart") must inherit property "pseudoElement" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface object length | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface object name | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface: attribute keyText | PASS | PASS | PASS | PASS | FAIL | — |
| CSSKeyframeRule interface: attribute style | PASS | PASS | PASS | PASS | FAIL | — |
| CSSKeyframeRule must be primary interface of keyframes.cssRules[0] | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of keyframes.cssRules[0] | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframeRule interface: keyframes.cssRules[0] must inherit property "keyText" with the proper type | PASS | PASS | PASS | PASS | FAIL | — |
| CSSKeyframeRule interface: keyframes.cssRules[0] must inherit property "style" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: keyframes.cssRules[0] must inherit property "KEYFRAMES_RULE" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: keyframes.cssRules[0] must inherit property "KEYFRAME_RULE" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: existence and properties of interface object | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface object length | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface object name | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: attribute name | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: attribute cssRules | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: attribute length | PASS | PASS | PASS | PASS | FAIL | — |
| CSSKeyframesRule interface: operation appendRule(CSSOMString) | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: operation deleteRule(CSSOMString) | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: operation findRule(CSSOMString) | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule must be primary interface of keyframes | PASS | PASS | PASS | PASS | PASS | — |
| Stringification of keyframes | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: keyframes must inherit property "name" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: keyframes must inherit property "cssRules" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: keyframes must inherit property "length" with the proper type | PASS | PASS | PASS | PASS | FAIL | — |
| CSSKeyframesRule interface: keyframes must inherit property "appendRule(CSSOMString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: calling appendRule(CSSOMString) on keyframes with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: keyframes must inherit property "deleteRule(CSSOMString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: calling deleteRule(CSSOMString) on keyframes with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: keyframes must inherit property "findRule(CSSOMString)" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSKeyframesRule interface: calling findRule(CSSOMString) on keyframes with too few arguments must throw TypeError | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: keyframes must inherit property "KEYFRAMES_RULE" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: keyframes must inherit property "KEYFRAME_RULE" with the proper type | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement interface: attribute onanimationstart | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement interface: attribute onanimationiteration | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement interface: attribute onanimationend | PASS | PASS | PASS | PASS | PASS | — |
| HTMLElement interface: attribute onanimationcancel | PASS | PASS | PASS | PASS | PASS | — |
| Window interface: attribute onanimationstart | PASS | PASS | PASS | PASS | PASS | — |
| Window interface: attribute onanimationiteration | PASS | PASS | PASS | PASS | PASS | — |
| Window interface: attribute onanimationend | PASS | PASS | PASS | PASS | PASS | — |
| Window interface: attribute onanimationcancel | PASS | PASS | PASS | PASS | PASS | — |
| Document interface: attribute onanimationstart | PASS | PASS | PASS | PASS | PASS | — |
| Document interface: attribute onanimationiteration | PASS | PASS | PASS | PASS | PASS | — |
| Document interface: attribute onanimationend | PASS | PASS | PASS | PASS | PASS | — |
| Document interface: attribute onanimationcancel | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: constant KEYFRAMES_RULE on interface object | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: constant KEYFRAMES_RULE on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: constant KEYFRAME_RULE on interface object | PASS | PASS | PASS | PASS | PASS | — |
| CSSRule interface: constant KEYFRAME_RULE on interface prototype object | PASS | PASS | PASS | PASS | PASS | — |
| Uncaught JS error | — | — | — | — | — | FAIL |