Table of Contents
1240 words
6 minutes
The Web Technology Revolution at WWDC26: What Safari 27 Brings

1. Introduction#

In June 2026, at WWDC26, Apple’s WebKit team brought a series of new Web platform features to Safari 27. Compared to the “incremental” pace of Safari updates in previous years, this year’s Web technology session can be called a minor explosion—from CSS layout to form controls, from 3D content embedding to spatial computing web experiences, each one directly addressing pain points front-end developers have had for years.

This article analyzes the five core features one by one, with code examples, to help you quickly understand how these new capabilities will change the way we develop.


2. Five Core Features#

2.1 CSS Grid Lanes — Native Masonry Layout#

This is the CSS new feature that drew the most attention from front-end developers at this WWDC. Grid Lanes gives the Web platform native support for Pinterest-style masonry layout—no JavaScript required, achievable with just a few lines of CSS.

Pain points of traditional solutions

Before this, there were only two ways to implement masonry layout:

SolutionProblem
JavaScript calculationPoor performance, laggy on window resize, requires ResizeObserver + absolute positioning
CSS Grid + grid-auto-rows: masonryHas been an experimental proposal since 2020, never shipped in any browser

The Grid Lanes solution

Grid Lanes introduces the new syntax grid-template-columns lanes(), allowing elements to flow naturally between columns:

.masonry {
display: grid;
grid-template-columns: lanes(300px, 300px, 300px);
gap: 16px;
}
/* Responsive with auto-fill */
.masonry-responsive {
display: grid;
grid-template-columns: lanes(auto-fill, minmax(280px, 1fr));
gap: 16px;
}

Unlike the previously abandoned masonry keyword, Grid Lanes is designed to be more general—it not only supports masonry, but also any custom grid arrangement algorithm, making it a much bigger concept than “masonry layout.”

Core characteristics:

  • Pure CSS implementation, zero JavaScript, browser-native rendering optimization
  • Adaptive, responsive when combined with auto-fill, minmax()
  • Controllable ordering, supports arrangement strategies such as grid-lane-order: column | row | shortest-column

In WebKit’s demo, for a masonry page with 200 images, after switching from the JS solution to Grid Lanes, layout computation time dropped from ~120ms to ~4ms.


2.2 Fully Customizable <select> Element#

The war between front-end developers and the <select> element has lasted for more than twenty years. Safari 27 finally provides a native solution: appearance: base-select + a brand-new pseudo-element system.

New pseudo-element system

/* Enable the new stylable select */
select {
appearance: base-select;
}
/* Dropdown trigger (replaces the browser's default arrow) */
select::picker(select) {
border-radius: 12px;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
backdrop-filter: blur(20px);
}
/* Option list */
select::picker(select) option {
padding: 12px 16px;
font-size: 15px;
display: flex;
align-items: center;
gap: 8px;
}
/* Selected marker */
select::checkmark {
color: var(--accent-color);
margin-left: auto;
}
/* Selected state */
select::picker(select) option:checked {
background: var(--accent-color-light);
}

Key capabilities

Pseudo-element / SelectorPurpose
::picker()Style the dropdown panel (background, border radius, shadow, blur)
::picker-iconCustom dropdown arrow icon
::checkmarkCustom selected marker
option:checkedStyle for the currently selected item
option:hoverhover state
flex/grid inside ::picker(select)Fully free option layout

This means we can finally abandon those custom select libraries that weigh tens of KB (such as Choices.js, Select2, react-select, etc.) and implement design-spec-level dropdown selectors with pure native CSS.


2.3 <model> Element — Embedding 3D Models in Web Pages#

Safari 27 adds the <model> HTML element, allowing interactive 3D models to be embedded directly in web pages without any JavaScript library or WebGL code.

Basic usage

<model
src="airpods.usdz"
width="600"
height="400"
camera-controls
auto-rotate
ar
>
<p>Your browser does not support 3D model display, please upgrade to Safari 27</p>
</model>

Supported features

Attribute / CapabilityDescription
srcModel file URL (supports USDZ, glTF 2.0, OBJ)
camera-controlsUsers can rotate/zoom/pan the view
auto-rotateAutomatically rotates slowly for display
arClick to launch AR viewing (Quick Look on iOS/iPadOS)
environmentEnvironment lighting presets (auto / studio / outdoor)
posterPlaceholder image URL before the model loads
loadingLazy loading (lazy / eager)

JavaScript API

The <model> element exposes a complete JavaScript control interface:

const model = document.querySelector('model');
// Play built-in animations
model.playAnimation('idle');
// Listen to loading state
model.addEventListener('load', () => {
console.log('Model loaded, triangle count:', model.triangleCount);
});
// Programmatically control the camera
model.camera.orbit(0, 45, 2); // theta, phi, radius

The <model> element first hinted at this back when previewing USDZ files in Quick Look on iOS, and now it has officially entered the Web standard. For e-commerce, education, and product showcase websites, this is an important tool.


2.4 visionOS Immersive Website Environments#

This is the most futuristic capability of this WWDC. Safari 27 supports spatial web experiences on visionOS 27: websites can declare themselves “immersive,” and thus be presented in a spatial way on Apple Vision Pro.

Declaring an immersive experience

<meta name="apple-immersive" content="full">
<meta name="apple-immersive-environment" content="starry-night">

The browser renders the page as a panel floating in the user’s space, while also supporting WebXR standard spatial interaction:

// Detect immersive web support
if ('xr' in navigator) {
const session = await navigator.xr.requestSession('immersive-vr', {
requiredFeatures: ['hand-tracking'],
});
// Use the WebXR API to create spatialized UI panels
const layer = new XRWebGLLayer(session, gl);
session.updateRenderState({ baseLayer: layer });
}

The WebKit team emphasizes that this is not creating a new “visionOS-only” standard, but rather an extended implementation on top of the existing WebXR Device API standard. This means the same WebXR page can also run on devices such as Meta Quest and Pico.

Practical application scenarios:

  • Product showcase: Furniture brands let users view furniture in space
  • Data visualization: 3D charts and data dashboards
  • Online education: Three-dimensional teaching such as anatomical models and molecular structures
  • Art exhibitions: Spatial web art experiences

2.5 Cross-Browser Web Extensions Packaging#

Safari 27 greatly simplifies the development and distribution process for Safari extensions.

Main changes

BeforeAfter (Safari 27)
Must be packaged through an Xcode projectSubmit the extension package directly, no Xcode required
Can only be built and submitted on a MacCan be built and submitted on any platform (via App Store Connect API)
Large differences in Safari-specific APIsCloser to Chrome/Firefox extension APIs, following the W3C WebExtensions Community Group specification
Cannot be reused across browsersOne codebase → Chrome + Firefox + Safari, with zero or minimal modifications

New packaging approach

Terminal window
# Package directly with command-line tools, no Xcode needed
safari-web-extension build ./my-extension
# Submit via the App Store Connect API
xcrun altool --upload-app \
-f my-extension.zip \
-t osx \
--apiKey YOUR_KEY \
--apiIssuer YOUR_ISSUER

This is especially friendly to independent developers and open-source projects—previously, maintaining an extension for Safari required a Mac and an Apple Developer account, but now submission can be completed through CI/CD.


3. What These Features Mean#

If you look at the five major features together, you’ll see they all point in the same direction: the Web platform is taking over more and more territory that originally belonged to “native.”

FeatureWhat it replaces
CSS Grid LanesMasonry.js and other JS layout libraries
Custom <select>react-select, Choices.js, Select2
<model> elementBasic scenes in Three.js / model-viewer
Immersive WebExclusive experiences of native visionOS / iOS apps
Web Extensions packagingXcode + Mac build monopoly

This is a steadily advancing standardization strategy: first let a need be solved in the community through JS libraries (validating demand), then build it into the platform through standardized APIs (providing native performance and security guarantees), relegating the JS approach to fallback compatibility (polyfill).


4. When It Will Be Available#

WebKit’s response at WWDC:

TimingAvailability
NowAll new features testable in Safari Technology Preview
September 2026Safari 27 officially released with iOS 27 / macOS 27
Cross-browserThe Grid Lanes spec has entered the ED stage of the W3C CSS WG; <select> styling has cross-browser consensus in the Open UI CG; <model> is advancing in the Immersive Web CG

It’s worth noting that CSS Grid Lanes and custom <select> are the two features most likely to be quickly followed across browsers—engineers at Chrome and Firefox have already expressed support in related standards discussions. The <model> element is currently exclusive to Safari, but Google has similar needs in the Android ecosystem (Scene Viewer), so the prospects for standardization look promising.


5. References#

The Web Technology Revolution at WWDC26: What Safari 27 Brings
https://www.hehonglei.com/posts/wwdc26-safari27-web-technology/
Author
HHLBlog
Published at
2026-06-16
License
CC BY-NC-SA 4.0