デジタルマーケティングTips

Safari 18.4 仕様変更発表まとめ

記事タイトル画像:Safari 18.4 仕様変更発表まとめ

Safari 18.4の主要な仕様変更発表のまとめです。(ベータ版発表・2025年02月21日時点での情報です)

記事バックナンバー一覧

要点

メルマガでも情報を配信中です! ぜひご登録ください。

追加・拡張

キャンバス

接続セキュリティ

  • 以下のメニュー項目[接続セキュリティの詳細]で証明書の内容が表示できるようになります。
    • iOS / iPadOS / visionOSの場合…ページメニュー内[接続セキュリティの詳細]
      ※ページメニューはアドレスバー左端のアイコンのメニューで[…]をクリックして表示します
    • macOSの場合…メニュー[Safari]>[接続セキュリティの詳細]

CSS

  • writing-modeプロパティ新しいウィンドウで開きます(横書き/縦書き指定)の値として、sideways-rl新しいウィンドウで開きますおよびsideways-lr新しいウィンドウで開きますが追加されます。
    • writing-mode: sideways-rl;新しいウィンドウで開きます…全角・半角問わずテキストブロック全体を90度時計周り方向に倒し、右書き言語(ltr)では上から下、左書き言語(rtl)では下から上に記述します。行単位では右から左に行が進みます。
    • writing-mode: sideways-lr;新しいウィンドウで開きます…全角・半角問わずテキストブロック全体を90度反時計周り方向に倒し、右書き言語(ltr)では下から上、左書き言語(rtl)では上から下に記述します。行単位では左から右に行が進みます。

    sideways-rl/lrvertical-rl/lrの違い

    sideways-rl / sideways-rlの特徴は、横書きブロック全体を90度回転させて表示することです。このため、横書きのテキストをレイアウト上横倒しにして縦に書く用途に向いています。

    一方でvertical-rl新しいウィンドウで開きます / vertical-lr新しいウィンドウで開きますは、基本的に日本語のような縦書き文化がある言語で縦書き表示を行うための指定です。半角英数はどちらも時計回り90度横倒しで、全角文字は倒さず縦書きで表示され、行の進み方(右→左・右←左)だけをlr/rlで区別します。

  • ::details-content擬似要素新しいウィンドウで開きますdetails要素新しいウィンドウで開きますで、折りたたみ開閉される部分を対象としたCSS設定が記述できるようになります。
  • attr()関数新しいウィンドウで開きます(指定要素の属性値を拾って返り値として出力)がフォールバック処理に対応するようになります。
  • view-transition-nameプロパティ新しいウィンドウで開きます(該当要素をルートトランジションの対象から外し、別のトランジション名を指定して適用させる)が、view-transition-name: match-element;新しいウィンドウで開きます(要素IDに一致するものに適用)に対応します。
    (仕様の詳細はGitHubのスレッド新しいウィンドウで開きますも参照)
  • text-autospaceプロパティ新しいウィンドウで開きます…全角かな・漢字と半角英数・記号が混在する場合に、半角英数とかな・漢字の間に自動的に少し余白を挿入する設定が可能になります。
    (仕様の詳細はGoogleの記事新しいウィンドウで開きますも参照)
  • unicode-bidiプロパティ新しいウィンドウで開きます…双方向テキスト(左→右書きと右→左書きが混在するテキスト)の扱いについて、ブラウザ側が使用する標準の表示アルゴリズムをCSS側で上書きするかをCSS側で指定できるようになります。なお、ruby要素新しいウィンドウで開きます(ルビ/ふりがな)は対応対象外です。
  • shape()関数新しいウィンドウで開きます…複数の座標と補完方法を指定して、任意の形状のシェイプをCSS関数で記載できるようになります。
  • グラデーションの色経由点指定が1箇所でも動作するようになります。

編集機能

  • ClipboardItem.supports()メソッド新しいウィンドウで開きます…カッコ内にMIMEタイプ名(文字列)を引数として入れると、その形式がクリップボードに対応しているか否かをtrue / falseのブール値で返します。

フォーム

  • <input type=color>新しいウィンドウで開きます(色選択)が、属性値指定による透過表示・色空間の指定に対応します。
  • 空のテキスト入力項目でAppleのAI文書作成支援機能「作文ツール(Writing Tools)新しいウィンドウで開きます」が利用できるようになります。

HTML

  • detail要素新しいウィンドウで開きますsummary要素新しいウィンドウで開きます(開閉式詳細表示)で、リスト見出しの開閉記号として三角形が標準装備されるようになります。

JavaScript

  • イテレータヘルパーメソッド新しいウィンドウで開きます(イテレータ(反復子)の利用を補佐するメソッド類)のうち、以下への対応が追加されます。(GitHubも参照新しいウィンドウで開きます)
    • map()メソッド新しいウィンドウで開きます…引数に関数/演算を入れると、指定した関数/演算に従ってループカウンタを処理し、それを繰り返し処理に使用できます。
    • filter()メソッド新しいウィンドウで開きます…引数に関数を入れると、指定した関数/演算に従ってループカウンタを処理し、フィルター条件を満たさないものをスキップできます。
    • take()メソッド新しいウィンドウで開きます…引数に整数を入れると、指定した数だけループカウンタを回して停止します。
    • drop()メソッド新しいウィンドウで開きます…引数に整数を入れると、指定した数だけループカウンタをスキップし、そのあとからループを開始します。
    • flatMap()メソッド新しいウィンドウで開きます…引数に関数/演算を入れると、指定した関数/演算に従って処理された要素を一通り返します。
    • toArray()メソッド新しいウィンドウで開きます…イテレータから取り出された要素で配列を作ります。
    • forEach()メソッド新しいウィンドウで開きます…イテレータから出力された要素を一通り処理する繰り返し処理(foreach)を作ります。
    • some()メソッド新しいウィンドウで開きます…引数に関数/演算(trueかfalseを返すもの)を入れると、条件に一致するものが1つでもあるかどうかをtrueかfalseで返します。
    • every()メソッド新しいウィンドウで開きます…引数に関数/演算(trueかfalseを返すもの)を入れると、全要素が条件に一致するかどうかをtrueかfalseで返します。
    • find()メソッド新しいウィンドウで開きます…引数に関数/演算(trueかfalseを返すもの)を入れると、条件に一致したうちの最初の要素を返します。
    • reduce()メソッド新しいウィンドウで開きます…引数にコールバック関数を入れると、指定した関数/演算に従って処理された繰り返し要素から最終的に単一の値を生成します。
    • chunks()メソッド新しいウィンドウで開きます…配列を複数の部分配列に分割します。部分配列1つの要素数は引数で指定します。開始位置は指定個数単位で飛びます。このため出力後の各配列の要素は重複しません。
    • windows()メソッド新しいウィンドウで開きます…配列の一部分を抽出(窓処理)した部分配列を複数作ります。要素の個数は引数で指定しますが、開始位置は指定個数単位で飛ぶのではなく、1つずつ順に後ろにずれます。このため出力後の各配列の要素は重複します。
  • そのほかイテレータ関係で以下に新たに対応します。
  • JavaScriptをWeb Assenbly新しいウィンドウで開きますとして事前コンパイル抜きで実行するインタープリタが使えるようになります。
  • JSON解析用のメソッドが以下の通り強化されます。
    • JSON.parse()メソッド新しいウィンドウで開きます(JSON文字列を解析して値やオブジェクトに変換)…リバイバー関数(入力文字列を変換・演算してから返す)に対応します。
    • JSON.stringify()メソッド新しいウィンドウで開きます(JavaScriptオブジェクトや値をJSON文字列に変換)…オブジェクトプレースホルダーに対応します。
  • Math.sumPreciseメソッド新しいウィンドウで開きます…繰り返し項目の各数値を合計した数を返します。通常の演算よりも精度が高いのが特徴で、浮動小数点演算で発生する精度ロスを回避しやすくなります。
  • Atomics.pauseメソッド新しいウィンドウで開きます…不可分操作(外部から見て分解できない単一処理に見える一連の操作)の処理中にスピンロックやループが発生してしていることをCPUに伝えられるようになります。リソース消費を効率化させたい場合に有効です。
  • laneselect新しいウィンドウで開きます…Relaxed SIMD(並列処理時に入出力の再現精度を多少緩くする代わりにパフォーマンスを向上させたもの、機械学習・画像処理等に向いている)において、処理レーンの選択が可能になります。
  • Map.prototype.getOrInsert新しいウィンドウで開きますWeakMap.prototype.getOrInsert新しいウィンドウで開きます…MapオブジェクトやWeakMapオブジェクト(キーと値のペアの集合)のデータ処理で、キーに対応する値の取得(ない場合はデフォルト値の挿入)ができるようになります。
  • Error.isError()メソッド新しいウィンドウで開きます…指定した値がエラーであるかを判定し、trueかfalseを返す機能に対応します。エラーチェックやエラー発生時の処理に活用できます。
  • Intl.NumberFormatオブジェクト新しいウィンドウで開きます(数値等の書式ローカライズ)について、currencyDisplayオプション新しいウィンドウで開きます(通貨単位の表示形式)で、以下の指定が使えるようになります。
    • formalSymbol…自国含めて常に「JP¥」のように国コード+通貨記号を表示する
      ※デフォルト("symbol")の場合は言語設定を参照して自国のみ短縮形(¥)になっている
    • never…通貨記号を付けない

読み込み

  • Cross-Origin-Opener-Policy: noopener-allow-popups新しいウィンドウで開きます…HTTPレスポンスヘッダーのうち、ドキュメントから別ドキュメントが開かれた場合の相互通信許可設定で、元文書へのアクセス権を遮断して開く指定が使えるようになります。

ロックダウンモード

  • ロックダウンモード新しいウィンドウで開きます(高セキュリティモード、一部のWeb技術が機能しなくなる)でも、一部の許可されたWebフォントについては、ロックダウンモード用のフォントパーサーを経由して使用できるようになります。

メディア

  • 音声形式にOgg OpusおよびOgg Vorbisが使えるようになります。
  • Image Capture API新しいウィンドウで開きます(カメラからの画像キャプチャー等)が使用可能になります。
  • MediaRecorderインターフェイス新しいウィンドウで開きます(動画キャプチャー等)がWebM形式に対応します。

ネットワーク

  • パーティション化Cookie新しいウィンドウで開きます(CHIPS = Cookies Having Independent Partitioned State、ドメインごとに保存領域とアクセス権を分離したCookie)の利用に対応します。
    • CookieのPartitioned属性(パーティション化をオプトインするか指定)に対応します。
    • パーティション化Cookieへのアクセス制御用にブロックリスト(指定したドメインからは遮断)が設定できるようになります。

スクロール

セキュリティ

空間Web

  • visionOSで、img要素の空間画像にcontrols属性を付与できるようになります。使用するにはユーザー側での設定変更が必要で、Safariの機能フラグで該当機能を有効にする必要があります。
  • visionOSで作文ツール(Writing Tools)が使えるようになります。

ストレージ

SVG

  • SVGImageElement.prototype.decode()メソッド新しいウィンドウで開きます(画像をデコードしてPromiseとして返す)が使えるようになります。
  • SVG内の長さの単位に以下が使えるようになります。
    • lh新しいウィンドウで開きますline-height新しいウィンドウで開きますプロパティ値(=1行の高さ)の○倍
    • ch新しいウィンドウで開きます…半角英数文字「0」(ゼロ、U+0030)の送り幅新しいウィンドウで開きますの○倍(書字方向によって幅・高さどちらのサイズを使うか変わります)

Web API

Web Assembly

  • JITレス(Just-In-Timeコンパイラ以外で)のWebAssenbly実行に対応します。
  • 新しいWasm例外仕様に対応します。

Webインスペクタ

  • ソースマップでの解析時にignoreList(無視リスト)が使えるようになります。
  • レスポンシブデザインモードで以下の機能が強化されます。
    • ビューポートのプリセットが追加されます。
    • 画面方向(縦横)を切り替えるトグルが追加されます。
  • アプリおよびデバイスのインスペクタが追加されます。
  • Cookieのパーティションキーが公開されるようになります。
  • リクエストのローカルオーバーライド機能が追加されます。検証時にリクエストヘッダーのみ修正することが可能になります。
  • リモートデバイス接続時、デバイスオーバーライドメニューの設定変更によりAndroidのユーザーエージェント情報を送信することが可能になります。
  • console.screenshot(スクリーンショット処理)がDOMRect新しいウィンドウで開きますに対応します。

WebRTC

  • MediaSession API新しいウィンドウで開きますでのキャプチャー時に音声入力をミュートさせられるようになります。
  • STUN新しいウィンドウで開きますサーバー(LAN内からNAT経由で通信する際に中継させるサーバー)のURI指定に対応します。
  • 認識されているネットワークインターフェイスを列挙する機能に対応します。
  • macOSでSpeaker Selection APIが使用できるようになります。

WKWebView

  • ファイルアップロードのフローをカスタマイズできるようになります。
  • WKNavigationAction/buttonNumber新しいウィンドウで開きます(押下したマウスボタンの番号取得)・WKNavigationAction/modifierFlags新しいウィンドウで開きます(修飾キー(Shift等)の入力取得)に対応します。
  • visionOSでWriting Tools API(作文ツール関連)に対応します。

修正・改善

ブラウザ

  • 短時間で自動的にログインが解除される問題が修正されます。

CSS

  • 新しいウィンドウで開きますborder-colorプロパティ新しいウィンドウで開きます(枠線色指定)について、デフォルト値としてcurrentColor新しいウィンドウで開きます(=要素のcolorプロパティ値)の色を参照するよう修正されます。
  • CSSオブジェクトモデル新しいウィンドウで開きます(CSSOM、JavaScriptによるCSS制御)における @pageルール新しいウィンドウで開きます(印刷表示制御)の扱いについて、 CSSPageRule新しいウィンドウで開きます(単体の@pageルール)がCSSGroupingRule新しいウィンドウで開きます(複数のルールを内部に持つアットルール)から派生するよう修正されます。
  • clip-pathプロパティ新しいウィンドウで開きます(画像クリッピングパス指定)で、パス指定に重複が発生すると対象のimg要素が表示されなくなる問題が修正されます。
  • サイズ変更が、生成されたコンテンツに対して適用されないよう修正されます。
  • containプロパティ新しいウィンドウで開きます(コンテンツが指定領域に入りきらない場合の自動調整有無を指定)の扱いについて、contain: size;新しいウィンドウで開きます(コンテンツのはみだしは許可するがレイアウト上の縦横サイズは拘束し、隣接要素のレイアウトシフトを抑止)指定の場合に、object-fitプロパティ新しいウィンドウで開きます(画像/動画の領域内自動拡大等)の不具合を起こしていたのが修正されます。
  • container-typeプロパティ新しいウィンドウで開きます(コンテナクエリでサイズ格納方法の種類を定義する)で、レイアウトの内包に脱落が発生するのが修正されます。
  • CSS処理において、UIウィジェットのスタイル指定が機能しなくなる場合がある問題が修正されます。
  • scrollIntoViewメソッド新しいウィンドウで開きます(指定要素が見えるところ、もしくは上端/中央/下端に表示されるところまでスクロール)について、位置揃え指定が常に機能するように修正されます。
  • background-clipプロパティ新しいウィンドウで開きます(背景画像領域のクリッピングを要素領域のどこまでにするか指定する)について、 background-clip: border-area;新しいウィンドウで開きます(境界線内周に合わせて切り取り)がルート要素に対して機能しないよう修正されます。
  • writing-modeプロパティ新しいウィンドウで開きます(縦書き/横書き指定)がwriting-mode: vertical-rl;新しいウィンドウで開きます(日本語の縦書きと同じで、文字は上→下、行は右→左)の場合、文字間のルビが他のルビより大幅に小さくなる問題が修正されます。
  • 絶対位置指定を行ったボックスがwriting-modeプロパティ新しいウィンドウで開きます指定のルートになった場合、過度に限定された状況にも正しいロジックが徹底されていたのが修正されます。
  • bdo要素新しいウィンドウで開きます(テキスト書字方向を独自指定する部分)における、unicode-bidiプロパティ新しいウィンドウで開きますのデフォルト処理が修正されます。
  • calc()関数新しいウィンドウで開きますの挙動が以下の状況で修正されます。
    • カーソル色指定時に、calc()関数での計算値が優先的に評価されなくなるよう修正されます。
    • flexプロパティ新しいウィンドウで開きます(フレックスアイテムの初期サイズ&拡縮指定)について、calc()関数での計算値が優先的に評価されなくなるよう修正されます。
    • -webkit-perspectiveプロパティ新しいウィンドウで開きます(3Dレイヤー時のカメラ距離指定)について、calc()関数での計算値が優先的に評価されなくなるよう修正されます。
    • @propertyルール新しいウィンドウで開きますでカスタムプロパティを指定する際に、initial-value記述子新しいウィンドウで開きます(初期値指定)が「var(--foo)」を受け付けないよう修正されます。
    • 動作適正化のため、フォントを呼び出す側でcalc()関数の評価に遅延が発生していたのが修正されます。
    • グリッド処理時、繰り返し値についてcalc()関数での計算値が優先的に評価されなくなるよう修正されます。
    • CSSカウンター新しいウィンドウで開きます関連のプロパティのうち、counter-increment新しいウィンドウで開きます(1回あたりの増減値)・counter-set新しいウィンドウで開きます(カウンターから分離し個別番号指定)・counter-reset新しいウィンドウで開きます(指定値でカウンターリセット)については、calc()関数での計算値が優先的に評価されなくなるよう修正されます。
    • macOS版で、⌘(Command)キーを押しながら[+]/[-]キーで表示倍率を変更した際に、font-sizeプロパティ新しいウィンドウで開きます(文字サイズ)の値としてcalc()関数の計算値が正しく出るよう修正されます。
  • @scope新しいウィンドウで開きますルール(条件指定で要素を選択しCSSを適用)について、以下が修正されます。
    • 内部でCSSを入れ子にして宣言した場合、:where(:scope)のような挙動をするようになります。
    • ルールの始点~終点が、クラシックな(寛容でない)セレクターリストになります。
  • shape()新しいウィンドウで開きます関数が提案された構文に基づいて動作するよう修正されます。
  • ページ内の要素数が多い場合の同ドキュメント内(シングルページ)トランジションのパフォーマンスが修正されます。
  • ユーザーがスワイプでナビゲーションした場合にトランジションが停止するよう修正されます。
  • animation-nameプロパティ新しいウィンドウで開きます(適用されるアニメーションを識別名で指定)について以下の修正が行われます。
    • ビュートランジションから設定される際に、ブラウザスタイルシートが余計な引用符を付けて処理してしまっているのが修正されます。
    • 文字列のシリアル化・解析の処理が修正されます。
  • 色指定点が2つの放射状グラデーションについて、グラデーション100%到達時に終点側の指定色に達しないのが修正されます。
  • ルート要素のcolorプロパティ新しいウィンドウで開きます(文字色/前景色)がライトモード←→ダークモード切り替えで明示的に指定されたときに、ベースの背景色が更新されていたのが修正されます。
  • 論理的グループのCSSプロパティ値が明示的に継承される際に、revert-layerキーワード新しいウィンドウで開きます(カスケードレイヤー内のプロパティ値を前回の一致値にロールバックする)が不具合を発生させているのが修正されます。
  • border-spacingプロパティ新しいウィンドウで開きます(表内セルの間隔)で値指定が複数個連続した場合、個数の少ない側の指定を採用するよう修正されます。
  • セレクターの入れ子処理が正しくない場合、下位の入れ子が無視される問題が修正されます。
  • font-variant-capsプロパティ新しいウィンドウで開きます(英字の大文字/小文字制御)でfont-variant-caps: all-small-caps;新しいウィンドウで開きます(元テキストの大文字/小文字を問わず小型大文字を適用)を指定した場合、インラインフレックスアイテム内でbox-sizingプロパティ新しいウィンドウで開きます(サイズ計算の対象基準指定)の処理が不正確になるのが修正されます。
  • CSSを動的に更新する際にtext-box-trimプロパティ新しいウィンドウで開きます(テキスト要素の計算上のサイズを元サイズよりも踏み込んでトリミングする)の処理が失敗していたのが修正されます。
  • text-emphasisプロパティ新しいウィンドウで開きます(傍点付与)について、句読点に傍点を付与しないよう修正されます。
  • ポップオーバー要素を開く際にCSSの位置指定が変更する場合の、サイズ・位置指定に関する問題が修正されます。
  • scroll-padding新しいウィンドウで開きますscroll-marginプロパティ新しいウィンドウで開きます(スクロールスナップの位置を固定ヘッダー等に合わせてずらすときに使う)が、厳密に型指定された値を受け付け対象とするよう修正されます。
  • 最上位セレクタおよびネスティングセレクタが、特異性(CSS適用優先度)を持たないように修正されます。

編集機能

  • document.execCommand("copy")新しいウィンドウで開きますによるクリップボードコピーが、選択範囲が存在する場合のみ実行されるよう修正されます。
  • Safari内のテキストをコピーしてiCloudのメモ新しいウィンドウで開きますにペーストすると、生のマークアップが貼り付けられる問題が修正されます。
  • 一般的な語句で終わる大規模テキスト選択が正しくハイライトされるよう修正されます。
  • 記事中の指定部分に対するテキストフラグメントつきリンクが、対象部分を適切にハイライトするよう修正されます。
  • ClipboardItemインターフェイス新しいウィンドウで開きますSecureContext拡張属性新しいウィンドウで開きます(HTTPS環境等のセキュアコンテキスト新しいウィンドウで開きます範囲内でのみクリップボードデータの取り扱いを許可する)に非対応だったのが修正されます。
  • Safari内でコピーしたヘブライ語テキストを別アプリでペーストすると左揃えになる問題が修正されます。
  • 範囲選択がまだ存在していない場合は選択フォーカスが発生しないように修正されます。
  • 編集不可能なテキストを選択できない場合がある問題が修正されます。
  • 複数行テキストを選択したあとに選択が消失する問題が修正されます。

フォーム

  • textarea要素新しいウィンドウで開きますで、方向切り替えの取り扱いが修正されます。
  • <input type="file" webkitdirectory>新しいウィンドウで開きます(ファイル指定画面でファイルの代わりにディレクトリのみを選択対象とする)について、iOSでの対応状況が改善されます。
  • <input type="datetime-local">新しいウィンドウで開きます(日時指定)で、大きな値を入れるとブラウザがクラッシュしていたのが修正されます。
  • datalist要素新しいウィンドウで開きますをキーボード操作する場合に動作がプラットフォームの規則に適合するよう修正されます。

JavaScript

  • 配列の分割代入時、評価で例外が投げられた場合、反復子を閉じるよう修正されます。
  • Intl.DurationFormatオブジェクト新しいウィンドウで開きます(時間の長さ表記のローカライズ)について以下が修正されます。
    • resolvedOptionsメソッド新しいウィンドウで開きます(初期化中に計算されたオプションをプロパティに反映させた新規オブジェクトを返す)が最新の仕様に更新されます。
    • 仕様に合致した数値制限が適用されるよう修正されます。
    • 数値丸めエラーが修正されます。
    • hoursDisplayプロパティ新しいウィンドウで開きます(「時」の表記スタイル)にautoを指定した際の表記エラーが解消されます。
    • 「時」が非表示の場合に、「分」単位の数値にマイナス記号が表示されるよう修正されます。
  • イテレータヘルパー関連で以下が修正されます。
    • 配列を反復処理しないようになります。
    • reduce()メソッド新しいウィンドウで開きますについて、return呼び出し時に元の反復子に適切に転送されない問題が修正されます。
  • Set.prototype.○○系メソッド群新しいウィンドウで開きますについて、引数なしでkeys()新しいウィンドウで開きますを呼び出せるよう修正されます。
  • Array.from()新しいウィンドウで開きますArray.fromAsync()新しいウィンドウで開きますTypedArray.from()新しいウィンドウで開きますメソッドについて、document.all呼び出し後マッパーとして渡されるよう修正されます。
  • DateTimeFormat新しいウィンドウで開きますのカレンダー正規化ロジックが修正されます。
  • Array.prototype.toReversed()メソッド新しいウィンドウで開きます(配列の要素を逆順に並べ直す)が、疎配列新しいウィンドウで開きますの空スロットをundefined新しいウィンドウで開きますで穴埋めするよう修正されます。
  • 正規表現のマッチ上限を修正し、長い文字列に複雑なパターンマッチをかけられるようになります。

メディア

  • メディア要素内でsrc属性が空の場合の処理が修正されます。
  • getUserMediaメソッド新しいウィンドウで開きます(メディア入力許可取得)用の映像設定をgetSettingsメソッド()新しいウィンドウで開きますで取得する際に、torch新しいウィンドウで開きます(フィルライト(副光源)の有無)およびwhiteBalanceMode新しいウィンドウで開きます(ホワイトバランスモード指定)の制約に沿わない古い値が返されるのが修正されます。
  • 動画をマウスフォーカス可能にすると、全画面再生時にスペースキーで一時停止しなくなるのが修正されます。
  • 動画再生・シーク関連で以下の問題が修正されます。
    • シーク後再生に復帰しない場合がある件が修正されます。
    • seek()中のplay()呼び出しを許可し、シーク完了前でも再生イベントが発火できるようになります。
    • 特定の状況下でWebMのシークが完了しなくなる件が修正されます。
  • 動画再生中のtimeupdateイベント新しいウィンドウで開きます発生が非単調になる問題が修正されます。
  • MediaRecorderPrivateEncoderのフレーム書き込み順序が合わなくなる問題が修正されます。

ネットワーク

  • ネットワーク状況に応じてタイムアウトが設定されるよう修正されます。

PDF

  • PDF表示を連続モードから単一モードに切り替えたときに、ページがほとんど見えなくてもウィンドウの上部にページが表示される問題が修正されます。
  • 見開き連続モードでコンテキストメニュー「前のページ」をクリックしても前のページに移動しない問題が修正されます。
  • HTTPレスポンスヘッダーで、Content-Security-Policy: sandbox;ディレクティブ新しいウィンドウで開きますでPDFに制限をかけていると読み込みが行われなくなる問題が修正されます。

レンダリング

  • 固有縦横比指定あり・固定サイズ指定なしの要素がフレックスアイテムとして置換された場合のベースライン計算が修正されます。
  • iOSで、横画面→縦画面の回転で発生する追加のリサイズイベントによって、表示にちらつきが生じる問題が修正されます。
  • フロー外のオブジェクトを、可能であれば継続してインライン下に追加する件が修正されます。
  • mix-blend-modeプロパティ新しいウィンドウで開きます(重ね合わせ時の描画モード設定)が高解像度の固定要素/スティッキー要素に対しても動作するように修正されます。
  • 表のthead新しいウィンドウで開きます(ヘッダー)・tbody新しいウィンドウで開きます(データ本体)・tfoot新しいウィンドウで開きます(フッター)要素の折りたたみ境界が間違った順序で欠落する問題が修正されます。
  • インラインボックスの後ろにあるコンテンツの取り扱いが修正されます。
  • <input type="range">新しいウィンドウで開きます(範囲制限付き値指定)が、width: 0;(幅0px)指定でもスペースを占有していた問題が修正されます。
  • iOSで、縦画面→横画面の回転時にSpotifyメディアプレーヤーの表示が消える問題が修正されます。
  • textarea要素新しいウィンドウで開きますでオーバーレイ表示のスクロールバーを表示する領域があらかじめ確保されるよう修正されます。
  • グリッドアイテムをアニメーションさせる際のパフォーマンスが改善されます。先頭行のサイズ変更中に固有の論理縦サイズをキャッシュすることで、複雑なグリッド構成における表示効率を向上させ、無効化問題を抑止します。
  • グリッドアイテムがサイズ指定付きの画像であった場合に、src属性変更に伴う更新に失敗する問題が修正されます。
  • line-fit-edgeプロパティ新しいウィンドウで開きます(インライン要素の位置をテキストのどのラインに合わせるか)が設定されている場合に、インラインの縦書き属性が入れ子になる問題が修正されます。
  • 表のセル幅100%指定を属性値で<td width="100%">にした場合のレイアウトの一貫性が修正されます。
  • text-underline-positionプロパティ新しいウィンドウで開きますによる下線/傍線の位置指定について、再描画時の表示の一貫性が改善されます。
  • WordPressクラシックエディタのサイドバーレイアウトで、フロートがクリアされない問題が修正されます。
  • MathML新しいウィンドウで開きますの処理について、以下が修正/改善されます。
    • フロー外の子要素の処理に関するレイアウトの一貫性が改善されます。
    • scriptlevel新しいウィンドウで開きます(数式上での階層の深さ)に応じて乗数のフォントサイズが変わる処理が改善されます。
    • 数式各要素に関するCSSのwidth新しいウィンドウで開きますheight新しいウィンドウで開きますプロパティ(縦横サイズ指定)の適用が改善されます。
  • インラインフレーム内の表示領域をbackground-image新しいウィンドウで開きます(背景画像指定)で埋める場合、サイズ調整がcontent-box新しいウィンドウで開きます(コンテンツ領域合わせ)に修正されます。
  • 表のDOM操作に応じて必要なリフローが一貫してトリガーされる件が修正されます。
  • インラインマーキーがフロート要素に隣接した場合に縮小可能になるよう修正されます。
  • フレックスコンテナが中にフレックスアイテムを持たない場合、フレックスレイアウト処理を実行しないよう修正されます。
  • shape-outsideプロパティ新しいウィンドウで開きます(シェイプ指定に合わせてテキスト回り込み)を使った表示について、以下が改善されます。
    • 縦書きや右→左の横書きに対して回り込みを行った場合、インライン要素(テキスト等)の配置がずれる問題が修正されます。
    • 右→左の横書きコンテンツで回り込み処理に失敗する問題が修正されます。
    • 以下の設定時にインラインコンテンツが回り込み領域に被る問題が修正されます。
  • 箇条書きで、ul新しいウィンドウで開きますol新しいウィンドウで開きます要素で囲まれないli新しいウィンドウで開きます要素にlist-style-position: inside;新しいウィンドウで開きます(テキスト2行目以降が1行目のマーカー位置から始まる)が自動適用される仕様が、後方互換(Quirks)モード新しいウィンドウで開きますに限り有効になるよう変更されます。
  • 行ボックス新しいウィンドウで開きますのサイズが修正されます。
  • 横書きブロックが縦書きブロックコンテナ内で入れ子になった場合に横書きにならない問題が修正されます。
  • 表に空行がある場合に、ベースラインの位置計算が一部不正確になる問題が修正されます。
  • 置換されたコンテンツ内での改行が拒否されるように修正されます。
  • ブロック内子要素をパーセンテージで絶対位置指定する際に、親ブロックのパディング(境界内余白)を含めて計算するよう修正されます。
  • インライン継続要素の中にあるフロー外ボックスの幅が正しく計算されるよう修正されます。
  • 線形グラデーションと境界線の半径が設定されている場合に境界線が表示されない問題が修正されます。
  • スクロール領域内部にある入力要素が相対位置指定になっている場合、外形が描画されない問題が修正されます。
  • ポップオーバーがタブキー移動での退出時にハングすることがある問題が修正されます。
  • 要素内に新しい子要素を挿入しなかった場合にインライン継続が正しく設定できない問題が修正されます。
  • rt要素新しいウィンドウで開きます(ルビ文字)にmargin-topプロパティ新しいウィンドウで開きますで上に余白をつけると、下にも余白が追加される問題が修正されます。

スクロール

  • DOM内にある既存インラインフレームのscrolling属性新しいウィンドウで開きます(スクロールバーの有無を指定)の変更が有効になるよう修正されます。

Service Worker

  • Webページを含むService WorkerがBusyループを発生させた場合の処理が修正されます。

ストレージ

  • Storage Access API新しいウィンドウで開きますで、AllExceptPartitionedの処理を以下の通り修正します。
    • リクエスト時点でCookieアクセス権がないものとみなします。
    • サイトからはファーストパーティCookieへのアクセスを要求するものとします。

SVG

  • font-sizeプロパティ新しいウィンドウで開きます(文字サイズ指定)が使用時に、SVGが⌘(Command)キーを押しながら[+]/[-]を押したときの表示倍率変更の対象外になる問題が修正されます。
  • 空のtext要素新しいウィンドウで開きますバウンディングボックス新しいウィンドウで開きます(要素が収まる最小矩形)の情報が祖先(上位)要素に伝播されない問題が修正されます。
  • 縦書きモードでもバウンディングボックスが正しく設定されるよう修正されます。
  • mask-imageプロパティ新しいウィンドウで開きます(マスクレイヤー画像)にSVGを指定しても機能しない問題が修正されます。
  • SVG要素間参照(text新しいウィンドウで開きますtextPath新しいウィンドウで開きます等)で要素可用性の通知ができないことがあるバグが修正されます。
  • SVGUseElement新しいウィンドウで開きますが外部ドキュメントを読み込むときにコンテンツタイプをスニッフィングしないよう修正されます。
  • getTotalLength()メソッド新しいウィンドウで開きます(パスの全長を測定)について、パスがレンダリング不可能だったり空だったりする場合に仕様通り例外を投げるよう修正されます。
  • SVG二次曲線がタイルの境界で誤ってクリップされる問題が修正されます。
  • transform属性新しいウィンドウで開きます(座標変換設定)が動的に更新される際の挙動が修正されます。
  • img要素にviewBox属性新しいウィンドウで開きますを付加して描画領域を規定する機能について、ドキュメント内svgに対してのみ機能するよう修正されます。
  • foreignObject要素新しいウィンドウで開きます(HTMLテキスト等をSVGの中に入れる際に使う)の中にある一番外側のsvg要素に対するSVGElement.prototype.ownerSVGElementプロパティ新しいウィンドウで開きますの挙動を修正します。

表組み

  • 表の行方向について、section要素新しいウィンドウで開きますではなくtable要素新しいウィンドウで開きます自身の設定に依存するよう修正されます。
  • rowspan="0"新しいウィンドウで開きます指定時に縦方向の残り全セルを結合させる仕様になっていなかったのが修正されます。
  • fill-available新しいウィンドウで開きます(空き領域がある場合埋める)が表全体のサイズ指定にも適用できるようになります。
  • 表のセクションと行の背景設定が不透明として扱われないよう修正されます。

テキスト

  • 太い下線が短いコンテンツで表示されない問題が修正されます。
  • GB18030-2022文字セット(中国の国家標準)の更新内容が、中国語簡体字のGBK文字コードにも反映されます。
  • 自動ハイフネーションが、特定の言語でのみ発動するよう修正されます。
  • text-spacing: text-autospace;新しいウィンドウで開きます(テキストで漢字カナと半角英数の間に少しスペースを空ける)が適用された場合の境界判定処理が修正されます。
  • OpenType-SVG多色フォントの表示が修正されます。

Web API

  • Encrypted Media Extensions API新しいウィンドウで開きます(動画/音声等のメディアを暗号化して通信に載せる技術)を扱う一部MIMEタイプの処理が、MIMEのスニッフィング標準に準拠するよう修正されます。
  • window.history.replaceStateメソッド新しいウィンドウで開きます(ウィンドウの履歴置換)がmacOSで動作しない問題が修正されます。
  • MutationObserverインターフェイス新しいウィンドウで開きます(DOMツリー内の要素置き換え監視)が、要素リサイズ時のスタイル属性値変更を監視するよう修正されます。
  • CSSPageRule.selectorTextプロパティ新しいウィンドウで開きます(@pageルールのセレクターテキスト取得)について、CSSPageRule新しいウィンドウで開きますの仕様に合うよう処理が修正されます。
  • ゲームパッドの振動/触覚効果の処理で、playEffectメソッド新しいウィンドウで開きます(振動発生)のリクエストを2回連続で送信すると、resetメソッド新しいウィンドウで開きます(振動停止)が想定通りに動作しなくなる問題が修正されます。
  • <link rel=expect href="#○○">新しいウィンドウで開きます(href属性でid指定した要素の解析が完了するまで全体のレンダリングを一時停止する)について、以下の修正が行われます。
    • 指定要素のid属性(○○)に絵文字が入っていると、絵文字がパーセントエンコーディングされた際にhref属性のマッチングに問題が発生していたのが修正されます。
    • 指定要素の内部(子孫)に解析待ち要素が積まれている場合は、積んである内部要素の解析が終わるまでレンダリングブロックを続けるよう修正されます。
  • onrejectionhandled新しいウィンドウで開きますonunhandledrejection新しいウィンドウで開きますイベントハンドラー(Promiseが拒否された場合のイベントを拾って処理するのに使う)がbody / frameset要素に対しても正しく動作するよう修正されます。
  • 「気をそらす項目を非表示」機能が、非表示にされる要素に被るフロー外要素を巻き込んで非表示にする現象が修正されます。
  • CSSOM新しいウィンドウで開きますで、setSelectorTextが暗黙のセレクターを先頭に追加するように修正されます。
  • requestPointerLock()メソッド新しいウィンドウで開きますがPromiseを返すよう修正されます。
  • detail要素新しいウィンドウで開きますsummary要素新しいウィンドウで開きます(開閉式詳細表示)に関するinnerTextプロパティ新しいウィンドウで開きます(子孫を含めレンダリングされたテキストを示す)の挙動が修正されます。
  • HTMLパーサーのMathMLの取り扱いが修正され、電話番号の処理が改善されます。
  • Range.getClientRects()メソッド新しいウィンドウで開きます(対象範囲の占有領域を取得)が、サロゲートペアを考慮するよう修正されます。
  • link要素のrel属性、およびLink HTTPヘッダー新しいウィンドウで開きますのトークン化処理が修正されます。

Web Assembly

  • レガシーのcatch_all命令が、投げられたJavaScriptプリミティブを適切にキャッチできるよう修正されます。

Web認証

  • 条件付き仲介(特定条件下でのみパスキー等のWebAuthn認証を可能にする)で、認証中断時の理由の伝達を.catch()が妨げている問題が修正されます。

Web拡張機能

  • コンテンツブロッカーが「about:blank」フレーム内のコンテンツを非表示にしない問題が修正されます。
  • declarativeNetRequest新しいウィンドウで開きます(ネットワークリクエストのルールを宣言する機能)で、ルールセットや動的ルールを適用する際に速度が下がる件が修正されます。
  • Safari機能拡張設定での「ストレージを消去」ボタンの挙動が修正されます。
  • webRequest.onBeforeRequestrequest新しいウィンドウで開きます(リクエスト実行直前にトリガーされて別処理を行う)イベント処理時にrequestBody新しいウィンドウで開きます(リクエスト本体データ)が欠落していたのが修正されます。

Webインスペクタ

  • Webインスペクタの設定でサイト固有のハックがオフになっている場合、全デスクトップサイトがiPadのサイト固有ハックを無効化させるよう修正されます。
  • JavaScript内でCSSOMの修正があった場合、スタイルルールを引き続き編集可能にしておくよう修正されます。
  • @import宣言新しいウィンドウで開きますを持つスタイルシートのスタイルを編集しようとしたときに不具合が発生していたのが修正されます。
  • ソースマップの新仕様に合わせてエラーケースが修正されます。
  • グラフィックスタブの概要アイコン色がダークモードに合わせて変わるようになります。
  • グラフィックスタブで、記録されたWebGLオブジェクトが適切にハイライトされない問題が修正されます。
  • リモートデバイス接続で、設定に直接アクセスできない場合、開発メニューからサービス接続を試行するよう修正されます。

WebDriver

  • マウスの右ボタンドラッグイベントをシミュレートするとクラッシュが発生する可能性があったのが修正されます。

WebRTC

  • MediaSession.setMicrophoneActive()メソッド新しいウィンドウで開きます(マイクがミュート設定になっているか否かを返す)について、ユーザーエージェント側でマイクを1回ミュートにしたあとも繰り返しプロンプトされるのが修正されます。
  • あらかじめカメラ・マイクの両方をミュートにしている状況でsetCameraActiveメソッド新しいウィンドウで開きますを使ったときにミュートを解除しないよう修正されます。
  • Webサイト側でカメラをミュートにしている場合、AirPods側のミュート解除操作でミュートが解除されないよう修正します。

WKWebView

  • WKWebView.evaluateJavaScript新しいウィンドウで開きます(指定されたJavaScriptを評価)を非同期コンテキストで呼び出した際に、JavaScriptが何も返さない場合の挙動が修正されます。

廃止・削除

キャンバス

接続セキュリティ

  • HTTPS(暗号化)接続時に、スマート検索欄に表示されていたロックアイコンが削除されます。

CSS

  • CSSUnknownRuleインターフェイス…ブラウザ側で認識されない規則を扱う、CSSルール用非標準インターフェイスが削除されます。

HTML

  • img要素の属性からcompositeが削除されます。

JavaScript

ネットワーク

  • トリプルDES(3DES、米国では2023年から既に使用禁止されている旧世代暗号方式)を使用した場合、レガシーTLS暗号を使用している警告がユーザーに対して表示するようになります。

レンダリング

セキュリティ

SVG

  • SVG 1.1のカーニング用プロパティが廃止されます。
  • SVGDocumentXMLDocumentのエイリアス設定が廃止されます。「SVGDocument」がソースに残存している場合は「XMLDocument」への置き換えが必要です。

Web API

  • <input type="number">新しいウィンドウで開きます(数値入力)について、ホイールイベントの処理が削除されます。これにより動作がプラットフォームの規則に一致するようになります。

マックスマウスからのお知らせ

Web制作・マーケティング担当者向けのお役立ち情報をメールマガジンでお届け!

WebサイトやSNSでの情報発信の安定化・効率化、CMS導入・運用、脆弱性対策、Flashコンテンツ置き換え、Webプロモーションなどなど、Web制作・マーケティング関係者向けの課題解決に役立つ、便利なサービス情報や活用法などをご案内します。

いますぐご登録ください!