Safari 27 的重點:WebKit 先補品質,再推新能力
Jen Simmons 在這場 session 裡先談 WebKit 一年來超過 1,000 項 browser engine 改善,再快速帶過 CSS Grid Lanes、Customizable Select、HTML Model、visionOS immersive websites、Safari Web Extensions 與 MapKit JS。
這不是一場「Safari 多了哪些閃亮 API」的清單,而是 Apple 在說:Safari 27 的開發者價值,第一層是少踩相容性坑,第二層才是用新 web primitives 做更像 app 的體驗。
把影片拆成兩條主線:可靠性與新 primitives
WebKit 今年刻意先還技術債
Apple 強調 compatibility、foundation rebuild、specific area fixes、standards alignment 與 integration。重點是讓既有網站少需要 Safari workaround。
CSS Grid Lanes 把 masonry 帶回 CSS
Grid Lanes 可用純 CSS 處理 classic masonry layout,並保留 Grid 的排序、響應式與 accessibility 優勢,減少用 JavaScript 算版面的需求。
Customizable Select 讓原生表單控制更可設計
透過 appearance: base-select、picker pseudo-element 與可放入 select 的額外 HTML,開發者能保留原生控制的 accessibility,同時做出更符合品牌的 UI。
HTML Model 與 immersive environment 讓 3D 更接近 web primitive
<model> 在 Safari 27 進一步連到 visionOS immersive website environment,讓網站可以提供產品、座位、遊戲或空間內容的沉浸式預覽。
開發者現在該怎麼評估 Safari 27 相關導入
先用 Safari Technology Preview / Beta 跑現有專案
這場 session 最重要的行動不是立刻加新 API,而是驗證既有 workaround 是否還需要,並把仍存在的問題回報到 WebKit / Feedback Assistant。
把 layout polyfill 與 JS masonry 列入汰換清單
CSS Grid Lanes 適合先在 progressive enhancement 情境試用。保留 fallback,但開始評估把版面計算還給 CSS。
重新設計 select,而不是重做 fake select
Customizable Select 的價值是保留 real HTML form control。若現有專案有自製 dropdown,應測鍵盤、螢幕閱讀器、表單提交與手機 picker 行為。
用 <model> 做商品與空間預覽的分層體驗
在一般平台提供 3D model 檢視,在 iOS / iPadOS 用 AR,在 visionOS 27 再提升到 immersive environment;不要把沉浸式體驗當成唯一入口。
Web Extensions 可以重新檢查發佈管線
Safari Web Extension packager 讓非 Mac / 非 Xcode 流程也能透過 App Store Connect package and distribute extension,適合跨瀏覽器 extension 團隊降低發布摩擦。
品質改善本身就是 Safari 27 的 feature
影片花很大篇幅說明 WebKit 團隊如何處理既有 web platform 的真實問題:例如 emoji code point 超過 16 bits 時,舊網站用 fromCharCode 會截斷成錯字;WebKit 以 workaround 讓文字直接以 text 形式到達網站。另一個例子是重寫 block-inside-inline layout 這種二十多年累積的基礎程式碼。
Apple 的訊號很明確:今年不只是加 API,而是讓 Safari 更少成為開發者要特別繞過的 browser。這對產品團隊的實際價值,是可以刪 workaround、降低 QA matrix 裡的 Safari 例外。
SVG、CSS random、anchor positioning 都在跟標準對齊
影片提到 WebKit 團隊不只修 engine,也參與標準討論,例如 SVG focal point 初始值、CSS random scoping 等,避免早期實作變成長期不相容。
新功能要能跟舊功能一起工作
例如 responsive image 的 sizes、srcset、lazy loading 與 layout 行為要互相整合。這類改善不顯眼,但會直接減少 production bug。
風險與遷移注意事項
第一,新 web primitives 應採 progressive enhancement。CSS Grid Lanes、Customizable Select、HTML Model 與 immersive environments 都不該讓非 Safari 27 或非 visionOS 使用者失去核心功能。第二,自製 select 元件若改回 native control,要完整測鍵盤操作、螢幕閱讀器、form reset / validation 與行動裝置 picker。
第三,Web Extension 發佈管線雖然更方便,但仍要處理 Manifest、App Store Connect metadata、權限說明與跨瀏覽器差異。第四,MapKit JS 與 immersive / 3D model 內容要注意隱私、效能、素材大小與 fallback,避免把展示能力變成載入負擔。
- 01Safari 27 的第一個重點是 WebKit 品質:超過 1,000 項改善,目標是讓現有網站少踩 browser-specific 問題。
- 02新 primitives 以 layout、native controls、3D / spatial web、extension distribution 為主,適合用 progressive enhancement 導入。
- 03最實際的下一步是拿 Safari Technology Preview / Beta 跑現有產品,刪掉不再需要的 workaround,並回報仍存在的相容性問題。