Click here to download the Blitz Browser!

WPT

wpt / web-animations / interfaces / KeyframeEffect / setKeyframes.html

Spec: Web Animations ↗

Runs: Chrome 155.0.8041.0 (wpt@18be93235, 2026-09-04) | Firefox 157.0a1 (wpt@1b4bc17cf, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-17043 (wpt@25681acff, 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

ChromeFirefoxSafariLadybirdServoBlitz
Total80/8080/8079/8069/800/80NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
Keyframes can be replaced with an empty keyframePASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property two value property-indexed keyframes specificationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a one shorthand property two value property-indexed keyframes specificationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specificationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property (one shorthand and one of its shorthand components) two value property-indexed keyframes specificationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property two value property-indexed keyframes specificationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property property-indexed keyframes specification with different numbers of valuesPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframes specification with an invalid valuePASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property two value property-indexed keyframes specification that needs to stringify its valuesPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframes specification with a CSS variable referencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframes specification with a CSS variable reference in a shorthand propertyPASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property one value property-indexed keyframes specificationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property one non-array value property-indexed keyframes specificationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property two value property-indexed keyframes specification where the first value is invalidPASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property two value property-indexed keyframes specification where the second value is invalidPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframes specification with a CSS variable as the propertyPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a single offsetPASSPASSPASSFAILFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsetsPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets that is too shortPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets that is too longPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an empty array of offsetsPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets with an embedded null valuePASSPASSPASSFAILFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets with a trailing null valuePASSPASSPASSFAILFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets with leading and trailing null valuesPASSPASSPASSFAILFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets with adjacent null valuesPASSPASSPASSFAILFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets with all null values (and too many at that)PASSPASSPASSFAILFAIL
Keyframes can be replaced with a property-indexed keyframe with a single null offsetPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of offsets that is not strictly ascending in the unused part of the arrayPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe without any specified easingPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a single easingPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of easingsPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of easings that is too shortPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a single-element array of easingsPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an empty array of easingsPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with an array of easings that is too longPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a single composite operationPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a composite arrayPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a composite array that is too shortPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a composite array that is too longPASSPASSPASSPASSFAIL
Keyframes can be replaced with a property-indexed keyframe with a single-element composite arrayPASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property one keyframe sequencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property two keyframe sequencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property two keyframe sequencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a one shorthand property two keyframe sequencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property (a shorthand and one of its component longhands) two keyframe sequencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property keyframe sequence where one property is missing from the first keyframePASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property keyframe sequence where one property is missing from the last keyframePASSPASSPASSPASSFAIL
Keyframes can be replaced with a one property two keyframe sequence that needs to stringify its valuesPASSPASSPASSPASSFAIL
Keyframes can be replaced with a keyframe sequence with a CSS variable referencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a keyframe sequence with a CSS variable reference in a shorthand propertyPASSPASSPASSPASSFAIL
Keyframes can be replaced with a keyframe sequence with a CSS variable as its propertyPASSPASSPASSPASSFAIL
Keyframes can be replaced with a keyframe sequence with duplicate values for a given interior offsetPASSPASSPASSPASSFAIL
Keyframes can be replaced with a keyframe sequence with duplicate values for offsets 0 and 1PASSPASSPASSPASSFAIL
Keyframes can be replaced with a two property four keyframe sequencePASSPASSPASSPASSFAIL
Keyframes can be replaced with a single keyframe sequence with omitted offsetPASSPASSPASSPASSFAIL
Keyframes can be replaced with a single keyframe sequence with null offsetPASSPASSPASSFAILFAIL
Keyframes can be replaced with a single keyframe sequence with string offsetPASSPASSPASSPASSFAIL
Keyframes can be replaced with a single keyframe sequence with a single calc() offsetPASSPASSFAILFAILFAIL
Keyframes can be replaced with a one property keyframe sequence with some omitted offsetsPASSPASSPASSFAILFAIL
Keyframes can be replaced with a one property keyframe sequence with some null offsetsPASSPASSPASSFAILFAIL
Keyframes can be replaced with a two property keyframe sequence with some omitted offsetsPASSPASSPASSFAILFAIL
Keyframes can be replaced with a one property keyframe sequence with all omitted offsetsPASSPASSPASSPASSFAIL
Keyframes can be replaced with a keyframe sequence with different easing values, but the same easing value for a given offsetPASSPASSPASSPASSFAIL
Keyframes can be replaced with a keyframe sequence with different composite values, but the same composite value for a given offsetPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with keyframes with an out-of-bounded positive offsetPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with keyframes with an out-of-bounded negative offsetPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframes not loosely sorted by offsetPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframes not loosely sorted by offset even though not all offsets are specifiedPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframes with offsets out of rangePASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with keyframes not loosely sorted by offsetPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframes with an invalid easing valuePASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframes with an invalid easing value as one of the array valuesPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframe with an invalid easing in the unused part of the array of easingsPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with empty property-indexed keyframe with an invalid easingPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with empty property-indexed keyframe with an invalid easings arrayPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with a keyframe sequence with an invalid easing valuePASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframes with an invalid composite valuePASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with property-indexed keyframes with an invalid composite value as one of the array valuesPASSPASSPASSPASSFAIL
KeyframeEffect constructor throws with keyframes with an invalid composite valuePASSPASSPASSPASSFAIL
Changes made via setKeyframes should be immediately visible in stylePASSPASSPASSPASSFAIL