View Transitions · Safari · リモート Mac 2026

2026 リモート Mac フロント公開検収:
View Transitions API と Safari 回帰対照表/漸進強化三步チェックリスト

2026.04.09 Web フロント/UX 約 8 分

View Transitions API 導入後、Safari 差視差効果を減らすでズレる公開前論点を整理します。表・漸進強化三步・コマンド例。関連:CSS コンテナと Safari 検収トップヘルプ

同一文書/クロス文書 · reduce · リモート Mac

01 View Transitions API の能力と境界

document.startViewTransition は同一文書の DOM 更新をキャプチャします。ルーティングや a11y は外側です。クロスドキュメント型は MPA とサーバ設定が絡む別ゲートです。

  1. 装飾依存は reduce や未対応で破綻しやすい。
  2. 長い非同期はゴーストの温床。
  3. 名前付き遷移は CSS メンテが増える。

02 Safari/WebKit における差分

Chromium 基準だけだと WebKit で取りこぼします。リモート Mac の Safari でスクショ比較し、デプロイと Safari 検証に沿ってステージングを開く。Playwright WebKit は補助、最終は実機です。

03 フォールバックモードと無アニメーション経路

表は目安です。ブランチごとに安定版 Safari で再確認してください。

環境 同一文書 VT クロス文書 VT prefers-reduced-motion 無アニメ経路
Chromium 系(目安) 実用域が広い MPA で拡大中・条件付き reduce では API を避け即時更新 startViewTransition 非呼出
Safari/WebKit(目安) 版により段階的 未対応または制限ありがち 同上・ユーザー設定優先 通常ルーティングのみ

漸進強化三步(実装順)

  1. 同期 DOM 更新を単一路にし、常に画面が切り替わる状態にする。
  2. API 存在時だけ同じ更新を startViewTransition でラップする。
  3. matchMedia('(prefers-reduced-motion: reduce)') 一致時は二歩目をスキップし即時更新に戻す。
フォールバック例(擬似コード)
function swap(update) {
  const reduce = matchMedia('(prefers-reduced-motion: reduce)').matches;
  if (reduce || !document.startViewTransition) {
    update();
    return;
  }
  document.startViewTransition(() => update());
}

04 公開前の受入れ

ローカル/CI Mac で流せる短手順です。

  1. pnpm run build && pnpm run preview(npm は buildpreview)。
  2. コンソールで typeof document.startViewTransition を確認し、欠如時に即時更新になるか見る。
  3. Safari で視差効果を減らすをオン、主要遷移を手で踏む。
  4. Playwright webkit でスモーク、タイムアウト監視。
  5. チケットに OS・Safari ビルド、スクショ、URL。

メモ:無アニメ正、API は増分、実機証跡の三点。

05 FAQ

Q. 同一文書と MPA を一関数で? A. 分離。クロスは従来ナビ優先。

Q. Lighthouse だけ? A. 体感は実機と reduce で変わり不足しがち。

Q. 名前付きは多いほど良い? A. コスト増なので要所に絞る。

リモート Mac で Safari まで View Transitions をサインオフする

Apple Silicon ノードで実機確認。料金ヘルプ購入はアカウント作成なしで閲覧できます。フロント検収の関連記事はブログ一覧からどうぞ。

View Transitions 検証用リモート Mac(ログイン不要)