diff --git a/css-animations-2/Overview.bs b/css-animations-2/Overview.bs index 9fa6f64c825..bf6e9dcff69 100644 --- a/css-animations-2/Overview.bs +++ b/css-animations-2/Overview.bs @@ -167,6 +167,8 @@ last) as follows: * element * ::marker * ::before + * any other pseudo-elements not mentioned specifically in this list, + sorted in ascending order by the Unicode codepoints that make up each selector * ::after * element children diff --git a/css-transitions-2/Overview.bs b/css-transitions-2/Overview.bs index f808bd2fb5a..a97b648c3cc 100644 --- a/css-transitions-2/Overview.bs +++ b/css-transitions-2/Overview.bs @@ -137,6 +137,8 @@ are sorted in composite order (first to last) as follows: * element * ::marker * ::before + * any other pseudo-elements not mentioned specifically in this list, + sorted in ascending order by the Unicode codepoints that make up each selector * ::after * element children diff --git a/web-animations-1/Overview.bs b/web-animations-1/Overview.bs index ff02f614d97..cd14f3b7b3b 100644 --- a/web-animations-1/Overview.bs +++ b/web-animations-1/Overview.bs @@ -3201,6 +3201,10 @@ If the [=effect target=] is a [=pseudo-element=], the [=target element=] is its [=originating element=] and the [=target pseudo-selector=] is as required to specify that particular [=pseudo-element=]. +Note that not all [=effect targets=] specified in this manner (such as ''::part()'' +pseudo-elements and unsupported pseudo-elements) have +computed property values defined. + ### Keyframes ### {#keyframes-section} The effect values for a keyframe effect @@ -3351,8 +3355,7 @@ an effect target for which computed property values can be calculated. 1. Return computed keyframes. -

The effect value of - a keyframe effect

+### The effect value of a keyframe effect ### {#the-effect-value-of-a-keyframe-animation-effect} The effect value of a single property referenced by a keyframe effect as one of its target properties, for a @@ -3366,6 +3369,9 @@ given iteration progress, current iteration and 1. If animation type of the target property is not animatable abort this procedure since the effect cannot be applied. +1. If the [=keyframe effect=] does not have an [=effect target=], + or if the [=effect target=] cannot have computed property values + calculated, abort this procedure. 1. Define the neutral value for composition as a value which, when combined with an underlying value using the add composite @@ -4699,6 +4705,22 @@ interface KeyframeEffect : AnimationEffect { 1. Set the target element of effect to target. + 1. Set the [=target pseudo-selector=] to the result corresponding to the first + matching condition from below. + + : If options is a {{KeyframeEffectOptions}} object with a + {{KeyframeEffectOptions/pseudoElement}} property, + :: Set the [=target pseudo-selector=] to the value of the + {{KeyframeEffectOptions/pseudoElement}} property. + + When assigning this property, the error-handling defined for the + {{KeyframeEffect/pseudoElement}} setter on the interface is applied. + If the setter requires an exception to be thrown, this procedure + must throw the same exception and abort all further steps. + + : Otherwise, + :: Set the [=target pseudo-selector=] to `null`. + 1. Let timing input be the result corresponding to the first matching condition from below. @@ -4807,11 +4829,24 @@ interface KeyframeEffect : AnimationEffect { : pseudoElement :: The [=target pseudo-selector=]. - This is `null` if the [=effect target=] is an {{Element}} or is itself `null`. - When not `null`, this must be a [=pseudo-element=] selector with - [[selectors-4#pseudo-element-syntax|valid syntax]]. - This will not accept invalid values and will always return the selector in - its canonical form (i.e. `::before` instead of `:before`). + `null` if this effect has no [=effect target=] or + if the [=effect target=] is an element (i.e. not a pseudo-element). + When the [=effect target=] is a pseudo-element, + this specifies the pseudo-element selector (e.g. `::before`). + + On setting, + sets the [=target pseudo-selector=] of the [=animation effect=] + to the provided value after applying the following exceptions: + + * If the provided value is not `null` or a syntactically valid + the user agent must [=throw=] + a {{DOMException}} with error name {{TypeError}} and leave the + [=target pseudo-selector=] of this [=animation effect=] unchanged. + + * If one of the legacy Selectors Level 2 single-colon selectors + (':before', ':after', ':first-letter', or ':first-line') is + specified, the [=target pseudo-selector=] must be set to the + equivalent two-colon selector (e.g. '::before'). : composite :: The composite operation used to composite this