CSSトランジション レベル2

W3C 初公開作業草案,

この文書の詳細
このバージョン:
https://www.w3.org/TR/2023/WD-css-transitions-2-20230905/
最新公開バージョン:
https://www.w3.org/TR/css-transitions-2/
編集者草案:
https://drafts.csswg.org/css-transitions-2/
履歴:
https://www.w3.org/standards/history/css-transitions-2
フィードバック:
CSSWG イシューレポジトリ
すべてのレベルのBugzillaバグ
仕様内インライン
編集者:
L. David Baron (Google)
(招待専門家)
この仕様の編集提案:
GitHub エディター

概要

CSSトランジションは、CSS値のプロパティ変更を指定した期間にわたって滑らかに行うことを可能にします。

CSSは、構造化文書(HTMLやXMLなど)のレンダリング方法を画面や紙などに記述するための言語です。

この文書のステータス

このセクションは、公開時点でのこの文書のステータスについて説明します。 現在のW3C出版物の一覧やこの技術レポートの最新版は、 W3C技術レポートインデックス https://www.w3.org/TR/ で確認できます。

この文書は、CSS作業グループによって勧告プロセスの下、初公開作業草案として公開されました。 初公開作業草案として公開されたことは、W3Cおよびそのメンバーによる承認を意味するものではありません。

この文書はドラフトであり、随時更新・置換・廃止される可能性があります。 この文書を進行中の作業以外のものとして引用することは不適切です。

フィードバックはGitHubでIssueを提出(推奨)することで送信できます。 タイトルに仕様コード「css-transitions」を含めてください。例:「[css-transitions] …コメントの要約…」。 すべてのIssueとコメントはアーカイブされています。 また、フィードバックはアーカイブ済みの公開メーリングリストwww-style@w3.orgにも送信できます。

この文書は2023年6月12日付W3Cプロセス文書に準拠しています。

この文書はW3C特許ポリシーの下で運用されているグループによって作成されました。 W3Cはグループの成果物に関連する特許開示の公開リストを管理しています。 そのページには特許を開示するための手順も記載されています。 個人が本質的な必須クレームを含むと認識している特許について実際に知っている場合は、W3C特許ポリシー第6節に従って情報を開示する必要があります。

1. デルタ仕様

これはデルタ仕様であり、現在は CSS Transitions Level 1 [CSS-TRANSITIONS-1] からの差分のみを含みます。 Level 1 の仕様が完成に近づいた段階で、ここでの追加内容と統合され、完全な Level 2 仕様となります。

2. トランジション

2.1. transition-property プロパティ

CSS Transitions § 2.1 The transition-property Property からテキストを挿入し、以下の段落をバックポートしてください。

transition-property でショートハンドプロパティや all キーワードを指定できるものの、 個々のトランジションは transitionable な各ロングハンドサブプロパティごとに生成されます。 トランジションの 展開されたトランジションプロパティ名 とは、 そのトランジションが生成されたロングハンドサブプロパティの名前です(例: border-left-width)。

transitionable の定義インスタンスを Level 1 から移植した際に更新してください。

CSS Transitions Level 2 では、あるプロパティの before-change styleafter-change style を比較する際、 そのプロパティ値が以下の場合 transitionable となります:

  1. animation typenot animatable でも discrete でもない場合、または
  2. transition-behaviorallow-discrete であり、animation typediscrete の場合

注: discreteanimation type の値がトランジションされる場合、進捗の50%で値が切り替わります。

2.2. transition-duration プロパティ

transition-duration プロパティは、トランジションに関連する 反復期間 を指定します。

2.3. transition-timing-function プロパティ

transition-timing-function プロパティは、トランジションに関連する イージング関数 を指定します(Web Animations § 4.10 時間変換 参照)。

注: CSSアニメーションとは異なり、CSSトランジションのタイミング関数は個々のキーフレームではなくアニメーション効果に適用されます。これにより、反転短縮係数の計算時に 変換された進捗 に反映できます。

2.4. transition-delay プロパティ

transition-delay プロパティは、トランジションに関連する 開始遅延 を指定します。

2.5. transition-behavior プロパティ

transition-behavior プロパティは、離散プロパティに対してトランジションを開始するかどうかを指定します。

名前: transition-behavior
値: <transition-behavior-value>#
初期値: normal
適用対象: 全要素
継承: しない
パーセンテージ: 該当なし
算出値: 指定通り
正規順序: 文法通り
アニメーション型: アニメーション不可

transition-behavior の指定構文は以下の通りです:

<transition-behavior-value> = normal | allow-discrete

normal が指定された場合、離散プロパティにはトランジションは開始されず、補間可能プロパティのみがトランジションされます。allow-discrete が指定された場合、離散プロパティにも補間可能プロパティにもトランジションが開始されます。

2.6. transition ショートハンドプロパティ

transition ショートハンドで指定する項目の構文は以下の通りです:

<single-transition> = [ none | <single-transition-property> ] || <time> || <easing-function> || <time> || <transition-behavior-value>

3. トランジションの開始

所有要素 とは、transition-property プロパティが適用された、アニメーションを生成した要素や疑似要素を指します。 トランジションは 所有要素 から切り離され、所有要素 を持たなくなる場合があります。

実行中のトランジション の集合には、 所有要素 を持つトランジションのみが含まれます。

実装が トランジションをキャンセル する必要がある場合、 トランジションを 所有要素 から切り離し、トランジション上で アニメーションをキャンセルする手順を実行しなければなりません。

この仕様の Level 1 では明確に定義されていませんが、 接続されていない要素でトランジションをキャンセルすることに加え、 実装は レンダリングされていない要素上の実行中のトランジションもキャンセルする必要があり、 それらのトランジションを 完了したトランジション の集合からも削除しなければなりません。

cancel() メソッドを CSSTransition オブジェクト(実行中のトランジションを表す)に対して呼び出しても、 トランジションが 所有要素 から切り離されることはありません

3.1. 中断されたトランジションの高速な反転

反転短縮係数および反転調整開始値は、正しい反転挙動を生成するためにトランジション自体に関連付けられます(例えば、アニメーション効果などには関連しません)。 その結果、トランジションは逆転時にもこれらの値を使用し、たとえトランジションに関連付けられたアニメーション効果がWeb Animations API [WEB-ANIMATIONS]によって更新・置換されていても同様です。

3.2. 現在のトランジション世代

各トップレベル閲覧コンテキストには、現在のトランジション世代が関連付けられており、スタイル変更イベントごとにインクリメントされます。

新しいトランジションが生成されるたびに、(すでにインクリメントされた)現在のトランジション世代の値が、そのトランジションのトランジション世代として保存されます。

3.3. 変更前スタイルの定義: @starting-style規則

この仕様のLevel 1では、トランジションはスタイル変更イベント時のみ、前回の変更前スタイルが定義されている要素で開始できます。つまり、前回のスタイル変更イベントでレンダリングされていなかった要素にはトランジションを開始できません(CSS Transitions § 3 トランジションの開始参照)。

新たに挿入された要素や、レンダリングされていない状態からレンダリングされる状態に変化した要素にもトランジションを開始したい場合があります。これを可能にするため、本仕様では@starting-styleを導入しています。

@starting-style規則はグループ化規則です。その内部のスタイル規則は、前回のスタイル変更イベントで要素に変更前スタイルが確立されなかった場合に、トランジション元のスタイルを確立するために用いられます。

注: @starting-style規則は、計算スタイルの更新時に、前回のスタイル変更イベントでレンダリングされていなかった、またはDOMに存在しなかった要素のみに適用されます。

要素の開始スタイルは、変更後スタイル@starting-style規則を追加適用したものと定義します。ある要素が特定の変更前スタイルを持たない場合、開始スタイル変更後スタイルとの比較に用いられ、トランジションが開始されます(CSS Transitions § 3 トランジションの開始)。

@starting-style 内の規則は他のグループ化スタイル規則と同様にカスケードされ、新たな順序付けは導入されません。つまり、@starting-style内の規則が外部の規則より必ず優先されるとは限りません。

@starting-style内のスタイル規則は変更後スタイルには適用されません。 そのため、@starting-style内で一致する規則が存在すると、通常は変更前スタイルがないためトランジションできなかった要素にもトランジションが発生します。

開始スタイルは、変更後スタイルと同様に親の変更後スタイルを継承します。

h1要素のbackground-colorは、初めてレンダリングされる際にtransparentからgreenへトランジションできます:

h1 {
  transition: background-color 1.5s;
  background-color: green;
}
@starting-style {
  h1 {
    background-color: transparent;
  }
}

条件付き規則はCSSネスティングで使用できます:

h1 {
  transition: background-color 1.5s;
  background-color: green;
  @starting-style {
    background-color: transparent;
  }
}
要素のopacityは、 要素がdisplay: noneから変化する際にもトランジションできます:
#target {
  transition-property: opacity, display;
  transition-duration: 0.5s;
  display: block;
  opacity: 1;
  @starting-style {
    opacity: 0;
  }
}
#target.hidden {
  display: none;
  opacity: 0;
}

displayは、opacityのトランジションが完了する前にdisplay:blockからdisplay:noneへ切り替えるためにトランジションされています。

opacity: 0@starting-style規則で指定すると、 要素がツリーに挿入されたときやhiddenクラスでdisplaynoneからblockに切り替わる時、変更前スタイルがないためopacityが0から1へトランジションします。

opacity: 0#target.hidden規則で指定すると、opacityhiddenクラス追加時に1から0へトランジションします。

グローバルな名前定義at規則(@keyframes@font-face@layerなど)は@starting-style内で利用可能であり、存在する場合は@starting-style外と同様に振る舞います。

3.3.1. CSSStartingStyleRule インターフェース

CSSStartingStyleRuleインターフェースは@starting-style規則を表します。

[Exposed=Window]
interface CSSStartingStyleRule : CSSGroupingRule {
};

4. トランジションの適用

4.1. アニメーション合成順序

本仕様で定義されたマークアップから生成されるアニメーションは、‘CSS Transition’というアニメーションクラスを持ちます。

CSSトランジションは、CSSアニメーションや特定のアニメーションクラスを持たないアニメーションよりの合成順序となります。

CSSトランジションの集合内で、2つのアニメーションABの合成順序(先→後)は次の通りです:

  1. どちらも所有要素を持たない場合、 グローバルアニメーションリスト内での相対位置でソートします。

  2. 一方のみが所有要素を持つ場合、所有要素を持つ方を先にします。

  3. AB所有要素が異なる場合、それぞれの所有要素ツリー順でソートします。 疑似要素については、次の順序で並びます:

    • 要素

    • ::marker

    • ::before

    • このリストに明記されていないその他の疑似要素(各セレクターのUnicodeコードポイント昇順)

    • ::after

    • 要素の子

  4. ABトランジション世代値が異なる場合、対応するトランジション世代昇順でソートします。

  5. それ以外の場合、AB展開されたトランジションプロパティ名のUnicodeコードポイント昇順でソートします(大文字小文字変換せず、‘-moz-column-width’が‘column-width’より前)。

本仕様で定義されたマークアップから生成されたトランジションは、作成時にはグローバルアニメーションリストに追加されません。 代わりに、これらのアニメーションが所有要素から切り離された後、idle再生状態から抜け出した瞬間にグローバルアニメーションリストに追加されます。 所有要素から切り離されたが、まだidle状態のトランジションには合成順序が定義されません。

注: この挙動は、トランジションを所有要素から切り離すと常に(または残り続ける場合)idle再生状態になることに依存しています。

4.2. アニメーションカスケードレベル

CSS Transition所有要素を持つアニメーションは、CSSカスケードの「Transitions宣言」レベルで適用されます。 本仕様で定義されているマークアップから生成されたその他のアニメーション(所有要素を持たなくなったものも含む)は、カスケードの「Animation宣言」レベルで適用されます。 (Web Animations § 5.4.5 合成結果の適用参照)

5. トランジションイベント

5.1. イベントのディスパッチ

注: ここではCSS Transitions Level 1 [CSS-TRANSITIONS-1] よりも一般的なイベントディスパッチの説明をしています。Web Animations API [WEB-ANIMATIONS] により、アニメーションがシークや反転される可能性を考慮する必要があるためです。さらに、Web Animations API を使うことでトランジション効果を通常使用しないプロパティ(例:複数回繰り返す効果など)で完全に別の効果に置き換えることが可能であるため、このセクションではWeb Animationsモデルの複雑性全体を考慮した一般的な定義を提供します。

トランジションイベントのターゲットは、トランジションの所有要素です。 所有要素がない場合、トランジションイベントはディスパッチされません (ただし、Web Animationsで定義されているアニメーション再生イベントは該当するCSSTransitionオブジェクトでディスパッチされます)。

冗長なイベント発火を避けるため、ディスパッチするイベントのセットは、前回と今回のトランジションフェーズの比較に基づきます。

トランジションのトランジションフェーズは初期状態で「idle」となり、 以降は各アニメーションフレームごとに、以下の最初に一致する条件に従って更新されます:

トランジションに関連効果がない場合
トランジションフェーズは、以下の最初に一致する条件で決定されます:
トランジションが未解決現在時刻を持つ場合
トランジションフェーズは「idle」。
現在時刻が0未満の場合
トランジションフェーズは「before」。
それ以外の場合
トランジションフェーズは「after」。
トランジションが再生保留タスクまたは一時停止保留タスクを持ち、フェーズが直前「idle」または「pending」の場合
トランジションフェーズは「pending」。
それ以外の場合
トランジションフェーズは関連効果のフェーズとなる。

各イベントのelapsedTime計算には、以下の定義が使用されます:

上記の式の開始遅延アクティブ期間現在イテレーションイテレーション開始イテレーション期間は、 トランジションの関連効果の対応するプロパティを指します。

新しいアニメーションフレームが確立されるたび、 前回と今回のトランジションフェーズの比較に基づき、ディスパッチするイベントが決定されます:

変化 ディスパッチされるイベント 経過時間(ms)
idle → pending または before transitionrun インターバル開始
idle → active ٭ transitionrun インターバル開始
transitionstart
idle → after ٭ transitionrun インターバル開始
transitionstart
transitionend インターバル終了
pending または before → active transitionstart インターバル開始
pending または before → after ٭ transitionstart インターバル開始
transitionend インターバル終了
active → after transitionend インターバル終了
active → before transitionend インターバル開始
after → active transitionstart インターバル終了
after → before ٭ transitionstart インターバル終了
transitionend インターバル開始
idleでもafterでもない → idle transitioncancel アニメーションがキャンセルされた時点のアクティブ時間(fill mode: bothで計算)

٭ 状態変化に複数イベントが列挙されている場合、すべてのイベントは記載順に連続して即座にディスパッチされます。

上記の表や手順で定義されている経過時間はミリ秒単位であるため、elapsedTimeメンバーに秒単位で代入するには1,000で割る必要があります。 TransitionEventに割り当てる際は、秒単位に変換してください。

上記の状態遷移表により、無限再生や一時停止されたトランジションを除き、次の不変条件が保証されます:

典型的なイベントシーケンスは次の通りです:

6. DOMインターフェース

6.1. CSSTransitionインターフェース

[Exposed=Window]
interface CSSTransition : Animation {
  readonly attribute CSSOMString transitionProperty;
};
transitionProperty, CSSOMString, 読み取り専用

このトランジションの展開されたトランジションプロパティ名

6.2. 保留中のスタイル変更に関する要件

さまざまな操作により、要素のプロパティの算出値が影響を受ける場合があります。ユーザーエージェントは、最適化のため、これらの値の再計算を必要になるまで遅延させることがあります。 しかし、本仕様で定義されるプログラミングインターフェースに含まれるすべての操作、およびWeb Animations [WEB-ANIMATIONS]で定義され、本仕様で定義されたオブジェクトを返す可能性のある操作は、 保留中の算出値の変更が完全に処理された状態と一致する結果を生成しなければなりません。

例として、次のコード断片では、elemopacityプロパティの指定値が更新された場合、ユーザーエージェントはopacityプロパティの算出値を再計算することを遅延させる場合があります。

初回の変更時には、getComputedStyle(elt) を呼び出し、結果のopacityプロパティにアクセスすると、ユーザーエージェントはopacity値の再計算を行います。

次にopacityプロパティを再度更新後、getAnimations() メソッドをelemに対して呼び出します。 このメソッドはWeb Animationsで規定されており、本仕様で定義されたCSSTransitionオブジェクトを返すことができます。 したがって、このセクションの要件により、ユーザーエージェントは保留中のスタイル変更を適用し、opacityプロパティ用の新しいCSSTransitionを生成してから結果を返す必要があります。

elem.style.transition = 'opacity 100s';
elem.style.opacity = '0';
window.getComputedStyle(elem).opacity; // 0
elem.style.opacity = '1';
elem.getAnimations()[0].transitionProperty // 'opacity'

7. プライバシーに関する考慮事項

本仕様に関する新たなプライバシー考慮事項は報告されていません。

8. セキュリティに関する考慮事項

本仕様に関する新たなセキュリティ考慮事項は報告されていません。

9. 変更点

9.1. レベル1以降、初公開作業草案での変更

10. 過去のレベルで頻繁に提起された課題

これらの課題は、前のレベルの仕様で頻繁に報告された課題です。

より強力なタイミング関数の構文は、開発者からの一般的な要望です。 例として、2013年のメッセージ2015年のスレッドなどがあります。

開発者は、トランジションを開始するためにスタイルフラッシュを強制的にトリガーしなければならないことが多いです。 これを避けるためのAPIがあると良いでしょう。 例:2011年の提案

11. 仕様の過去のレベルから持ち越された課題

これらの課題は、以前のレベルの仕様に含まれていましたが、本レベルでも重要でない可能性があります。

最終的には、transition-propertyプロパティにkeypath構文をサポートしたいかもしれません。 keypath構文により、プロパティの各コンポーネントに異なるトランジションを指定できるようになります。 例として、シャドウのぼかしと色で異なるトランジションを指定できます。

適合性

文書の慣例

適合性要件は、記述的な断定とRFC 2119の用語の組み合わせで表現されています。規範的部分における「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、「OPTIONAL」というキーワードは、RFC 2119で説明されている通りに解釈されます。 ただし、可読性のため、本仕様ではこれらの単語をすべて大文字では記載していません。

本仕様のすべてのテキストは、明示的に非規範的と記載されているセクション、例、および注記を除き規範的です。[RFC2119]

本仕様の例は「for example」で導入されるか、またはclass="example"で規範的本文と区別されます。例:

これは情報提供目的の例です。

情報提供目的の注記は「Note」から始まり、class="note"で規範的本文と区別されます。例:

注: これは情報提供目的の注記です。

勧告事項は、特別な注意を喚起するためにスタイルされており、<strong class="advisement">で他の規範的本文と区別されます。例: UAはアクセシブルな代替手段を提供しなければならない

適合クラス

本仕様への適合性は、次の3つの適合クラスに対して定義されています:

スタイルシート
CSS スタイルシート
レンダラー
スタイルシートのセマンティクスを解釈し、スタイルシートを利用する文書をレンダリングするUA
オーサリングツール
スタイルシートを作成するUA

スタイルシートは、本モジュールで定義された構文を使用するすべての文が、汎用CSS文法および本モジュールで定義された各機能の個別文法に従って有効であれば、本仕様に適合しています。

レンダラーは、適切な仕様で定義された通りにスタイルシートを解釈することに加え、本仕様で定義されたすべての機能を正しく解析し、文書をそれに従ってレンダリングすることで本仕様に適合します。ただし、デバイスの制限によりUAが文書を正しくレンダリングできない場合、そのUAは非適合とはなりません(例:UAはモノクロモニターで色をレンダリングすることは要求されません)。

オーサリングツールは、汎用CSS文法および本モジュールの各機能の個別文法に従って文法的に正しいスタイルシートを書き、本モジュールで記述されているスタイルシートのその他すべての適合要件を満たしていれば、本仕様に適合します。

部分的な実装

著者が前方互換性のあるパース規則を利用してフォールバック値を割り当てられるように、CSSレンダラーは、サポートレベルが不十分なat規則、プロパティ、プロパティ値、キーワード、その他の構文要素を無効として(必要に応じて無視)扱わなければなりません。特に、ユーザーエージェントは、1つの複数値プロパティ宣言内で未サポート値だけを選択的に無視し、サポートされている値のみを適用してはなりません。いずれかの値が無効(未サポート値の場合は必ず)とみなされた場合、CSSは宣言全体を無効として無視することを要求しています。

不安定・独自機能の実装

将来の安定したCSS機能との衝突を避けるため、CSSWGはベストプラクティスに従って、不安定な機能や独自拡張の実装を行うことを推奨します。

非実験的な実装

仕様が候補勧告段階に到達すると、非実験的な実装が可能となり、実装者は仕様通りに正しく実装できるCRレベルの機能については、ベンダープレフィックスなしで実装をリリースするべきです。

CSSの相互運用性を確立し維持するため、CSS作業グループは、非実験的CSSレンダラーに対し、ベンダープレフィックスなしでCSS機能を実装する前に、実装報告書(必要ならそのテストケースも)をW3Cに提出することを求めます。W3Cに提出されたテストケースは、CSS作業グループによるレビューと修正の対象となります。

テストケースおよび実装報告書の提出に関する詳細は、CSS作業グループのWebサイト https://www.w3.org/Style/CSS/Test/ にあります。 質問はpublic-css-testsuite@w3.org メーリングリストにお問い合わせください。

索引

この仕様で定義されている用語

参照によって定義される用語

参考文献

規格参照

[CSS-ANIMATIONS-1]
David Baron ほか. CSS Animations Level 1. 2023年3月2日. WD. URL: https://www.w3.org/TR/css-animations-1/
[CSS-BACKGROUNDS-3]
Bert Bos; Elika Etemad; Brad Kemper. CSS Backgrounds and Borders Module Level 3. 2023年2月14日. CR. URL: https://www.w3.org/TR/css-backgrounds-3/
[CSS-CASCADE-5]
Elika Etemad; Miriam Suzanne; Tab Atkins Jr.. CSS Cascading and Inheritance Level 5. 2022年1月13日. CR. URL: https://www.w3.org/TR/css-cascade-5/
[CSS-EASING-1]
Brian Birtles; Dean Jackson; Matt Rakow. CSS Easing Functions Level 1. 2023年2月13日. CR. URL: https://www.w3.org/TR/css-easing-1/
[CSS-FONTS-5]
Myles Maxfield; Chris Lilley. CSS Fonts Module Level 5. 2021年12月21日. WD. URL: https://www.w3.org/TR/css-fonts-5/
[CSS-TRANSITIONS-1]
David Baron ほか. CSS Transitions. 2018年10月11日. WD. URL: https://www.w3.org/TR/css-transitions-1/
[CSS-VALUES-4]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 4. 2023年4月6日. WD. URL: https://www.w3.org/TR/css-values-4/
[CSSOM-1]
Daniel Glazman; Emilio Cobos Álvarez. CSS Object Model (CSSOM). 2021年8月26日. WD. URL: https://www.w3.org/TR/cssom-1/
[DOM]
Anne van Kesteren. DOM Standard. Living Standard. URL: https://dom.spec.whatwg.org/
[HTML]
Anne van Kesteren ほか. HTML Standard. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. 1997年3月. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119
[WEB-ANIMATIONS]
Brian Birtles ほか. Web Animations. 2023年6月5日. WD. URL: https://www.w3.org/TR/web-animations-1/
[WEBIDL]
Edgar Chen; Timothy Gu. Web IDL Standard. Living Standard. URL: https://webidl.spec.whatwg.org/

参考文献(情報提供)

[CSS-COLOR-4]
Tab Atkins Jr.; Chris Lilley; Lea Verou. CSS Color Module Level 4. 2022年11月1日. CR. URL: https://www.w3.org/TR/css-color-4/
[CSS-DISPLAY-3]
Elika Etemad; Tab Atkins Jr.. CSS Display Module Level 3. 2023年3月30日. CR. URL: https://www.w3.org/TR/css-display-3/
[WEB-ANIMATIONS-2]
Brian Birtles; Robert Flack. Web Animations Level 2. 2023年2月21日. WD. URL: https://www.w3.org/TR/web-animations-2/

プロパティ索引

名前 初期値 適用対象 継承 %ages アニメーション型 正規順序 算出値
transition-behavior <transition-behavior-value># normal 全要素 しない 該当なし アニメーション不可 文法通り 指定通り

IDL索引

[Exposed=Window]
interface CSSStartingStyleRule : CSSGroupingRule {
};

[Exposed=Window]
interface CSSTransition : Animation {
  readonly attribute CSSOMString transitionProperty;
};

課題索引

CSS Transitions § 2.1 The transition-property Property からテキストを挿入し、以下の段落をバックポートしてください。
transitionable の定義インスタンスを Level 1 から移植したら更新してください。

より強力なタイミング関数構文は、開発者からの一般的な要望です。 例:2013年メッセージ2015年スレッド

開発者は、トランジションを開始するためにスタイルフラッシュをトリガーしなければならないことが多いです。 この要件を回避できるAPIがあると良いでしょう。 例:2011年提案

最終的には、transition-property プロパティに keypath 構文をサポートしたいかもしれません。 keypath 構文により、プロパティの各コンポーネントに異なるトランジションを指定できるようになります。 例えば、シャドウのぼかしと色で異なるトランジションを指定できるようになります。