
2026/07/23 6:00
Safari テクノロジー プレビュー 248 のリリース
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Safari Technology Preview リリース 248 が、macOS Golden Gate および macOS Tahoe 向けに公開されており、システム設定 → 一般 → ソフトウェアアップデートから直接更新可能です。本リリースでは、リビジョン 315567@main と 316817@main の間に含まれる WebKit の変更を取り入れており、大幅なパフォーマンス向上と共に重要なアクセシビリティおよび機能強化を達成しました。
主な新機能には、TC39 プロポーザルに基づく JavaScript BigInt Math 機能(
BigInt.pow および BigInt.sqrt)の追加、ES2022 クラスプライベートフィールド/メソッド/アクセッサに対する Web Inspector のサポート拡大が含まれます。アクセシビリティについては、VoiceOver ナビゲーションを大幅に改善し、特に disclosure widgets(hidden="until-found")および古くなった aria-labelledby 値に関する問題を解消しました。メディア再生面では、旋回したコントロールの不具合、iPhone での字幕表示欠落、ストリーム失敗、デバイス方向のバグに対する修正により安定性が向上しています。
ストレージおよび Web API の安定性も改善されました:IndexedDB トランザクションは現在停止されたバックグラウンドトランザクションによってブロックされなくなり、Async Clipboard API の非同期リクエストおよび FileReader の charset 処理が正しく動作するようになりました。セキュリティの回帰問題である Content Security Policy エラーおよび同一ページ内ナビゲーションチェックに関する不具合も解決済みです。また、Digital Credentials エラーコードおよび AbortError の処理に対する修正も含まれています。さらに、開発者は Digital Credentials API を利用し、Web Inspector 文脈内でウォレットペイロードのシミュレーションを行うことができます。
本文
Safari Technology Preview リリース 248 の概要
Safari Technology Preview リリース 248 が、macOS Golden Gate および macOS Tahoe でダウンロード可能です。すでにインストールされている場合は、システム設定の「一般」→「ソフトウェア更新」からアップデートを行ってください。本リリースには、コミット 315567@main から 316817@main の間に実施された WebKit への以下の変更が盛り込まれています。
アクセシビリティ
解決済みの問題点
属性で隠されたコンテンツを開示小ウィジェットによって表示した際に、VoiceOver がそのコンテンツへナビゲートできない問題を修正しました。hidden="until-found"- 参照されている要素の aria-label が動的に変更された際に、
の情報が陳腐化していた問題を修正しました。aria-labelledby
CSS
新機能
- 類似した色空間間の補間処理において、欠落した色成分を転送する機能を追加しました。
- CSS の
関数に対し、progress()
オプションをサポートするよう対応しました。no-clamp
解決済みの問題点
- 様々な CSS アットルール(at-rules)のシリアライズ処理において、識別子をエスケープしない誤動作を修正しました。
- スタイル解決の外側にあるパースラの状態に依存して不正にゲートされていた
関連のセレクターの問題を修正しました。:last-child
の color-scheme を変更した際に、埋め込まれたドキュメントの外観が無効化されないよう修正しました。<iframe>- CSS スクロールスナップのリサンプリングにおいて、他の整列されたスナップターゲットよりもフラグメントターゲット(
)のスナップ領域を優先するように修正しました。:target
ステートメントに続く@layer
ルールのプリロードが失敗していた問題を修正しました。@import
のシリアライズ処理を修正しました。CSSViewTransitionRule
を修正し、引数をメディアクエリとしてパースして、一致するすべてのクエリを削除するように対応しました。MediaList.deleteMedium()
を修正し、引数を単一のメディアクエリとしてパースし、重複を防ぐように対応しました。MediaList.appendMedium()- ストラッキングや fit-content の好ましいサイズを有するグリッドアイテムにおいて、トラックのサイズ計算時に正しくない最小コンテンツ寄与値を算出していた問題を修正しました。
- ビュー遷移がアクティブな間に CSS ルールを挿入すると、グループ化されたアニメーションが最終状態へジャンプしてしまい、不自然に振る舞う問題を修正しました。
- CSS の
関数が、第一引数に確定できない値として解決した際にのみフォールバックを計算するように修正しました。var() - レンダリングブロックされたドキュメントから最初のレンダリング機会が出る前に離脱すると、誤って
が発火し、アウトバウンドのクロスドキュメントビュー遷移が開始されてしまう問題を修正しました。pagereveal
編集
解決済みの問題点
- CSS 変換を適用した DOM エレメントのドラッグイメージが正しくレンダリングされない問題を修正しました。
- iOS で辞書による入力から発生する不透明な DOM ミュテーションの問題を修正しました。
- 編集可能なテーブル内で削除操作を行った際に、空の末尾のテーブル行が残ってしまう問題を修正しました。
- 編集可能なコンテンツ内の縦方向カーソルの移動において、要求された editable-type パラメータが無視されていた問題を修正しました。
フォーム
解決済みの問題点
- 水平配置のテキストフォームコントロールにおいて、同心円の内部ボタンの隅丸み処理で下部インセットが無視されていた問題を修正しました。
イメージ
解決済みの問題点
- RGB ゲインマップ画像がチャンネルあたり 8 ビットにデコードされるという回退現象を修正し、これにより色シフトや不適切な明るさが引き起こされていた問題を解消しました。
- HDR 画像のデコードにおいてゲインマップターゲットピクセルフォーマットを処理する際、フォーマットの解析に失敗した場合でも安全にフォールバックするように修正しました。
JavaScript
新機能
- TC39 BigInt 数学案に対応し、BigInt に対して
やMath.pow
に相当するメソッドを公開しました(例:Math.sqrt
、BigInt.pow
)。BigInt.sqrt
メディア
解決済みの問題点
- CSS 変換によって回転された場合、
および<audio>
コントロール のレンダリングが正しく行われない問題を修正しました。<video> - iPhone のフルスクリーンビデオ表示時に、字幕またはクローズドキャプションが表示されない問題を修正しました。
YUV VideoFrame で visibleRect を設定した際に、オフセットされたクロマチャンネルでレンダリングされるという不具合を修正しました。ArrayBuffer-backed- 監視カメラなど特定のソースからのストリームの再生が機能しない問題を修正しました。
- 一時的なデバイス回転によって取得されたビデオフレームの向きが誤っている問題を修正しました。
- Media Source Extensions の再生およびシーク機能において、バッファ化範囲間の隙間許容値を緩和することで機能を改善しました。
ナビゲーション
解決済みの問題点
- フラグメント識別子のみが異なる URL への
が、ページリロードとして誤って処理されていた問題を修正しました。<meta http-equiv="refresh">
ネットワーク
解決済みの問題点
- パーセント符号化されたアルメニア語のパースセグメントの後に、URL のパス区切り文字が
にエンコードされてしまう問題を修正しました。%2F
レンダリング
解決済みの問題点
の背景色の変更時に、コンポジティングされた<body>
要素の背景色が再描画されない問題を修正しました。<html>
を指定した Flex カラムコンテナにおけるブロック軸パディングが ScrollHeight に含まれないという回退現象を修正しました。overflow: auto- 準積分値の固有幅を持つ SVG を埋め込んだ
が、予想より 1 ドット狭くレンダリングされる不具合を修正しました。<img> - 子要素のリサイズ時に
を適用している要素が完全に再描画されない問題を修正しました。filter: drop-shadow()
SVG
解決済みの問題点
- SVG SMIL ラインクアニメーションにおいて、リードスペースを含む無効な
、to
、from
値を拒否するように修正しました。by - 複合スクリプトを含むユニコードテキストが、曲線の
上に正しくレンダリングされない問題を修正しました。<textPath>
が px から %、em、ex への変換時に失敗する不具合を修正しました。SVGLength.convertToSpecifiedUnits()
など、それらに適用が許可されていない要素に対し、cx、cy、r、rx、ry、x、y、width、height といった SVG 幾何学的表示属性が誤って適用される問題を修正しました。<g>
に対する文字ごとの rotate 属性が無視されていた問題を修正し、現在はパスの接線角度と合成するように対応しました。<textPath>- いくつかの SVG スタイリング仕様に準拠していない問題を修正しました。
の<marker>
およびorient
の動的な変更に対して、それを参照する要素の再描画が行われない問題を修正しました。markerUnits- SVG SMIL の数値、整数オプション付き整数、数値オプション付き数値、およびパスアニメーションにおいて、パースに失敗した
、from
、またはto
値が適用されないように修正しました。by
スクロール
解決済みの問題点
- サイズゼロの要素内部にある CSS スクロールスナップポイントが正しく動作しない問題を修正しました。
- CSS スクロールスナップのリサンプリングにおいて、フォーカスされた要素またはフラグメントターゲットを含まれるスナップ領域を優先するように修正しました。
セキュリティ
解決済みの問題点
- 一部のウェブサイトの表示が失敗し、コンソールにコンテンツセキュリティポリシー(CSP)のエラーログが表示されるという回退現象を修正しました。
- 同じページ内でのナビゲーションに対し、コンテンツセキュリティポリシー を誤って適用チェックしていた問題を修正しました。
- 報告専用ポリシーにおける CSP の
バイオレーションが無視され、報告されないという問題を修正し、正しく報告されるように対応しました。frame-ancestors - CSP のパース処理において、nonce-source および hash-source 値のクォートの後に余計な文字がある場合を拒否するように修正しました。
- CSP の trusted-types 表現において、キーワードおよびワイルドカードの後に余計な文字がある場合を拒否するように修正しました。
ストレージ
解決済みの問題点
- 他のページのトランザクションがバックグラウンドでサスペンドされている状態で、別の IndexedDB トランザクションを開始しようとした際、長期間ブロックされる不具合を修正しました。
Web API
解決済みの問題点
- 非同期クリップボード API を修正し、ペーストへのアクセス要求を非同期で行うように対応しました。
- デジタルクレデンシャルにおいて、プラットフォームによるキャンセルや不明なエラーに対し
を表面化するように修正し、以前はOperationError
やAbortError
を返していた問題を改善しました。UnknownError - デジタルクレデンシャルの破棄処理で誤ったエラーコードを同期して返していた問題を修正し、現在は正しいエラーコードを持つタスクとしてキューイングされるように対応しました。
およびKeyboardEvent.getModifierState("AltGraph")
が常に false を返していた問題を修正しました。MouseEvent.getModifierState("AltGraph")- デジタルクレデンシャルに対して
が "digital-credential" ではなく "digital" を返さないよう修正しました。Credential.type
の破棄処理時、デジタルクレデンシャルドキュメントピッカーが画面上で固まってしまう問題を修正しました。navigator.credentials.get()
が Blob の MIME タイプの charset パラメータを無視する問題を修正しました。FileReader.readAsText()
Web インスペクター
解決済みの問題点
- コンソールでオブジェクトインスタンスを検査する際、ES2022 クラスのプライベートフィールド、メソッド、アクセサーを表示しない問題を修正しました。
- デバッガー内のシンボリックブレイクポイントを修正し、intrinsic 関数と動作するようになりました。
- セミコロンのみを含む行上の JavaScript ブレイクポイントがトリガーされない不具合を修正しました。
- コンソール REPL を修正し、
およびlet
で宣言された変数の再定義が可能になりました。const - タイムラインにおいて
レコードの誤ったタイムスタンプをエクスポートまたはインポートする問題を修正しました。performance.mark() - ローカルレスポンスオーバライドがファイルにマッピングされている際、実際のエンコーディングではなく Latin-1 (ISO-8859-1) と解釈される問題を修正しました。
- メディアロギング設定がページ読み込みを超えて保持されない不具合を修正しました。
- シンボリックブレイクポイントを修正し、Array、Date、EventTarget、Worker などのネイティブコンストラクタと動作するようになりました。
- モジュールをインポートする際のエラーにスタックトレースが表示されない問題を修正しました。
- クロスオリジンの iframe 内のノードに対してアクセシビリティサイドバーが空になってしまう不具合を修正しました。
- クロスオリジンの iframe 内でのインラインスタイルの無効化処理において、各ノードあたり 1 つのコマンドを発行するのではなく、ティック単位で DOM.getAttributes コマンドをバッチ処理するように修正しました。
- クロスオリジンの iframe 内での DOM ストレージ読み書きコマンド が、フレーム自身のオリジンに対して解決されるように修正しました。
- Web インスペクターを閉じて再オープンした際に、移動されたブレイクポイントが元の位置に戻ってしまう不具合を修正しました。
- Map.prototype などのプロトタイプオブジェクトに対して形式化されたパラメータ文字列を表示しない問題を修正しました。
- オブジェクト簡略化メソッドおよび矢印関数に対する形式化されたパラメータ文字列が欠落している問題を修正しました。
- クラスでない関数のプロパティの前面に不要なコロンが表示される不具合を修正しました。
- フレックスオーバーレイでクロス軸方向が誤って計算されていた三項演算式による自己キャンセルの不具合を修正しました。
- 色ピッカーで選択した色が強制的に Display P3 に変換されてしまう問題を修正しました。
がキャッシュ由来のリソースを検索結果から沈黙して省略する不具合を修正しました。Page.searchInResources- スタイルサイドバーで無効な CSS 宣言が重複して正しく「アクティブ」と表示されていない問題を修正しました。
- クロスオリジンの iframe で採用された構築可能スタイルシートが、ユーザーエージェントスタイルシートとして誤分類される問題を修正しました。
- DOM エージェントが過剰にパワー効率の良い再生を報告する原因となる符号なし整数のアンダーフローを修正しました。
を修正し、以前設定されたヘッダーを置換して、累積されるのを防ぐように対応しました。Network.setExtraHTTPHeaders
WebDriver
新機能
- Digital Credentials API への WebDriver 対応を追加し、ウォレットペイロードのシミュレーション、不定待機、ユーザーによる拒否を模擬するコマンドを提供しています。
WebRTC
解決済みの問題点
- マイクキャプチャーがライブの間、WebProcess AudioSession がアクティブに保たれるように修正しました。
- メディアストリームトラックがミュートされている間にソース側の変更が発生した場合、configurationchange イベントがドロップされてしまう不具合を修正し、現在はアンミュートされるまでイベントを保留するように対応しました。