本文へスキップ
MameTechNews
フロントエンド

Safari 27.1、iPhone Duoの折り位置に合わせるAPIを試験公開

## POINTS

  • iPhone Duoのビューポートは幅382〜951、高さ368〜902で、Xcode 27.1のシミュレータで試せる。
  • 半開き検知と折り両側の区画APIはSafariの機能フラグ裏で、仕様はまだ変わり得る。
  • PDFの見開き以外、既存サイトは同じWebKitのまま動く。UA判定より機能検出を優先する。

WebKitのJen Simmons氏は10月23日、iPhone Duoの発売に合わせてSafari 27.1の開発者向け変更を公開した。エンジンは他のiPhoneと同じWebKitで、既存のレスポンシブなサイトはそのまま動く、というのが同氏の整理だ。利用者向けの目に見える変更は、本のように半開きにしたとき、ウェブ上のPDFが自動で見開きになる一点に限られる。

画面サイズは姿勢で大きく変わる。単位はCSSピクセルで、幅は382から951、高さは368から902まで振れる。外側の縦は幅382、小さいビューポート高さ580、大きいビューポート高さ618。内側を一画面で使う横は幅951、それぞれ585と620だ。内側の横で窓を二つ並べると、各窓の幅は385まで狭まる。実機は必須ではなく、Xcode 27.1以降のDevice HubにiPhone Duoのシミュレータがある。

半開き専用のAPIは、設定のSafari詳細にある機能フラグ「Device Posture API」と「Viewport Segments API」を両方オンにすると試せる。device-postureは半開きのfoldedと、全開・全閉を含む平らなcontinuousの二値で、CSSの媒体問合せとnavigator.devicePostureから読める。折りの両側はhorizontal-viewport-segmentsとvertical-viewport-segmentsで数が分かり、各区画の幅や位置はviewport-segment-widthなどの環境変数で取る。JavaScriptではwindow.viewport.segmentsが区画ごとの矩形を返す。

フラグの向こうなので仕様はまだ変わり得る。外側ディスプレイは他のiPhoneより幅が広く高さが低く、操作部は側面へ寄るが、ウェブコンテンツはいまその背後までは伸びない。四辺の余白をサイト側が落としがちなため、WebKitはより確実な広げ方を検討中だと説明している。