5月15日、AppleはSafariの次期バージョン17.5に関するブログを公開した。
これは2024年における3度目の大規模アップデートであり、7つの新機能と22のバグ修正が含まれている。
以下に要点をまとめて紹介する。
新機能
CSS
テキストラップのバランス機能
テキストの折り返しを調整するための新しいtext-wrap: balance
プロパティが追加された。この機能により、テキスト行が均等に配置される。text-wrap: balance;
このプロパティは、特定のブラウザでのアルゴリズムの違いによるテキスト折り返しの違いを考慮する必要がある。また、Safariでは無制限の行数をバランスするが、Chromiumブラウザは6行以下、Firefoxは10行以下をバランスする。テキストラップのショートハンドとロングハンド
text-wrap
プロパティは実際にはtext-wrap-style
とtext-wrap-mode
のショートハンドである。text-wrap-mode: wrap; text-wrap-mode: nowrap; text-wrap-style: auto; text-wrap-style: balance;
ダークモードと
light-dark()
カラーファンクションlight-dark()
を使用することで、ライトモードとダークモードの色を簡単に定義できるようになった。color-scheme: light dark; color: light-dark(black, white); background-color: light-dark(white, darkslategray);
@starting-style
ディレクティブ
要素が作成された際の初期値を設定できるようになった。これにより、要素のボックスが作成(または再作成)された時にトランジションを有効にすることができる。.alert { transition: background-color 2s; background-color: green; @starting-style { background-color: transparent; } }
CSSインポート時の機能クエリ
特定の機能のサポートに基づいてCSSファイルを条件付きでインポートできるようになった。@import url("nested-styles.css") supports(selector(&));
WebCodecs
- AV1ハードウェアデコーダが利用可能な場合、AV1のサポートが追加された。
WebGL
EXT_conservative_depth
およびNV_shader_noperspective_interpolation
のサポートが追加された。
WKWebView
- MarketplaceKitエラーをJavaScriptコンソールにログする機能が追加された。
バグ修正
アクセシビリティ
- 一部のテキストフィールドでVoiceOverの単語エコーが機能しない問題を修正(122451549, FB13592798)。
アニメーション
- 複数の加速アニメーションと方向変更で発生するフリッカー現象を修正(117815004)。
認証
excludeCredentials
プロパティがパスキー登録要求中に無視される問題を修正(124405037)。
CSS
- 暗黙の
@scope
の近接計算を修正(124640124)。 - Gridトラックサイズ計算の論理的な高さ計算を修正し、不必要なグリッドアイテムの更新を回避(124713418)。
- 一部の要素がスコープ外になる
@scope
制限を修正(124956673)。
- 暗黙の
フォーム
- ダークモードでネイティブテキストフィールドが見えなくなる問題を修正(123658326)。
- ダークモードでネイティブのフォールバック
<select>
レンダリングを修正(123845293)。
メディア
pointer-events: none
が設定されたビデオ要素がスクロールを妨げる問題を修正(118936715)。- HTML5
<audio>
再生がバックグラウンドで次のメディアアクティビティに進むように修正(121268089, FB13551577)。 - iPhone 15 Proでのハードウェアデコード中のAV1の問題を修正(121924090)。
- ウェブブラウザでコンテンツをストリーミングする際の内蔵スピーカーの音声歪みを修正(122590884)。
<audio>
および<video>
のloadeddata
イベントをページロード時に発火する問題を修正(124079735, FB13675360)。
レンダリング
- 非オーバーレイとオーバーレイスクロールバー間の切り替え時にスクロール可能領域のサイズ調整を修正(117507268)。
- ペイントされた背景上でレイヤーを初めて表示する際のフリッカー現象を非同期画像デコードを避けることで修正(117533495)。
- ルビシーケンスの前または間の改行を修正(122663646)。
Web API
iframe
内でのmousemove
イベントが、iframe
外からマウスボタンを押したまま移動した場合に正しく動作しない問題を修正(120540148, FB13517196)。
Webアプリ
- Safariまたはウェブアプリが既に実行されていない場合にWeb Push通知が表示されない問題を修正(124075358)。
Web Inspector
- 新しいコンソールメッセージが表示されるまでコンソールタブに情報およびデバッグボタンが表示されない問題を修正(122923625)。
WebRTC
- WebCodecsがVP9ハードウェアデコーダを正しく使用するように修正(123475343)。
- Teams VAでの受信ビデオが表示されない問題を修正(124406255)。
- トーチが有効な場合にカメラが一時停止する問題を修正(124434403)。
詳細はWebKit Features in Safari 17.5を参照していただきたい。