Apple has released Safari Technology Preview 249, the latest version of its developer preview web browser. The preview version of Apple’s popular browser offers developers and other interested users the ability to try out features that may or may not, debut in future public release versions of Safari.
Safari Technology Preview 249 includes fixes and updates for Accessibility, Animations, CSS, Editing, Forms, HTML, JavaScript, Media, Rendering, Spatial Web, Web API, Web Audio, Web Inspector, WebAssembly, WebDriver, and WebRTC.
The current Safari Technology Preview release is compatible with machines running macOS 26 Tahoe and macOS 27 Golden Gate, the newest version of macOS that will launch later this year.
Overview
Safari Technology Preview Release 249 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General → Software Update.
This release includes WebKit changes between: 316531@main…317820@main.
Accessibility
Resolved Issues
- Fixed an issue where an
aria-labelledbyrelation was not built when its target element was inserted viainner. (316913@main) (179677418)HTML - Fixed an issue where VoiceOver was silent during character navigation inside a local iframe. (317264@main) (182229891)
- Fixed an issue where web content somtimes appeared empty to assistive technology after navigation. (317449@main) (182544199)
Animations
Resolved Issues
- Fixed an issue where calling
play()on a finite scroll-driven animation timeline did not reset its start time to the current time. (316745@main) (181712713)- Fixed an issue where
animation-timelinedid not use the last matching timeline when it matched multiple timelines. (317330@main) (182405676)- Fixed an issue where
animation-timelinecould match a timeline outside the nearesttimeline-scopeelement with that name. (317376@main) (182417407)CSS
New Features
- Added support for the
attr()function. (316672@main) (173992627)- Added support for
outline-offset: inset. (316677@main) (180547604)- Added support for the
@functioncustom functions rule. (316671@main) (181625123)- Added preview support for the
wrap-insideproperty. (317182@main) (181751564)- Added support for the
if()function. (316813@main) (181806268)- Added support for
calc-mix(). (316847@main) (181839626)- Added support for
justify-selfon block-level boxes. (317212@main) (181926245)- Added preview support for
text-decoration-inset. (317230@main) (182019037)- Added preview support for the
contentproperty on the::pseudo-element. (317211@main) (182066124)marker Resolved Issues
- Fixed an issue where setting
view-transition-namedynamically did not create a stacking context. (317310@main) (178316558)- Fixed an issue where CSS Grid items with a computed preferred size that behaves as
autodid not correctly compute their minimum content contribution. (316697@main) (181146154)- Fixed an issue where visually overflowing content in a CSS Grid item was not painted. (316668@main) (181277780)
- Fixed
anchor-centerin vertical writing modes not being scroll-adjusted along the block axis. (316537@main) (181413103)- Fixed an issue where an empty editable flex container did not reserve a line’s worth of block size in vertical writing modes. (317467@main) (181485387)
- Fixed an issue where CSS Grid did not correctly increase track sizes to accommodate items spanning flexible tracks. (317426@main) (181635324)
- Fixed an issue where stretch alignment did not trigger stretch sizing for CSS Grid items. (316949@main) (181750071)
- Fixed an issue where CSS Grid items could retain stale block sizes after a subsequent layout. (317166@main) (182144347)
- Fixed an issue where
clip-pathshapes could render with incorrect arcs. (317397@main) (182443333)- Fixed an issue where
::andhighlight() ::ignoredtarget-text text-underline-offset. (317440@main) (182466757)- Fixed an issue where
::decoration replaced the originating element’s decoration instead of layering over it. (317439@main) (182523249)highlight() Editing
Resolved Issues
- Fixed an issue that disallowed font names that were not a valid CSS identifiers. (316948@main) (51409819)
- Fixed the Edit menu’s Copy item being incorrectly enabled when there was no selection in the web page. (316571@main) (176061974)
Forms
Resolved Issues
- Fixed an issue where the
datalistpopup menu was presented in the wrong place on a screen to the left of the main screen. (316965@main) (181967418)HTML
New Features
- Added support for
popover=hint. (317402@main) (129495028)JavaScript
New Features
- Added support for the
Temporalobject. (316742@main) (181723535)MathML
Resolved Issues
- Fixed an issue where U+2016 (DOUBLE VERTICAL LINE) was missing the symmetric property in the MathML operator dictionary. (316867@main) (179558196)
Media
Resolved Issues
- Fixed an issue where finding text starting from a selection could resolve to the wrong caption cue instead of the one nearest the video’s playhead. (317168@main) (182001231)
Rendering
New Features
- Added support for dark mode in the XML document viewer. (316832@main) (122234600)
Resolved Issues
- Fixed an issue where
box-shadowrendering broke when the page was zoomed. (317080@main) (169167365)Scrolling
Resolved Issues
- Fixed an issue where re-snapping did not select the snap area aligned in both axes when multiple targets were aligned. (317294@main) (182285397)
- Fixed an issue where
scroll-snap-alignwas not respected when scrolling to an anchor or callingscroll. (317495@main) (182544180)Into View() Spatial Web
Resolved Issues
- Fixed an issue where navigating back to a page with a previously active web environment left the UI stuck showing the environment as active. (316891@main) (180966321)
- Fixed an issue where the background color of
HTMLModeldid not match spec for non-opaque colors. (316788@main) (181641249)Element Web API
New Features
- Added support for subgroups in WebGPU. (317145@main) (154874391)
- Added support for close watchers, including the
closedbyattribute fordialogelements. (316680@main) (180105698)Resolved Issues
- Fixed an issue where a user gesture authorization token was not properly verified for Digital Credentials requests. (317228@main) (174908839)
- Fixed
DOMMatrixandIntersectioncorrectly enforcing absolute-length unit requirements when parsing values. (316532@main) (181453666)Observer - Fixed an issue where Scroll To Text Fragment directives could run outside
text/htmlandtext/plaindocuments. (316976@main) (181763736)- Fixed an issue where
replacecould not replace a document’s children. (316909@main) (181921026)Children() Web Audio
Resolved Issues
- Fixed Web Audio
Pannerorientation-only changes not updating the directional cone gain. (316541@main) (181413407)Node Web Inspector
New Features
- Added support for the range mappings proposal in source maps. (316748@main) (178564308)
- Added per-element
Layout Invalidatedevents in Web Inspector to reflect the number of elements affected by a layout invalidation. (317302@main) (181243589)Resolved Issues
- Fixed an issue where every
<input>element showed a Scroll badge in the Elements tab. (316773@main) (101661656)- Fixed an issue where search results did not select the corresponding source code line for fetched JSON. (317499@main) (118115749)
- Fixed an issue where search in Web Inspector did not find results inside the shadow DOM. (317500@main) (126458322)
- Fixed an issue where Web Inspector could crash when selecting a popover matching a nested
@scopewith a bare declaration. (316987@main) (181745000)- Fixed an issue where Web Inspector mapped the
crimsonnamed color to the wrong RGB value. (317047@main) (182090064)- Fixed an issue where the gradient editor in Web Inspector dropped explicit
0%color stops and misparsed leading radial color stops. (317192@main) (182172439)- Fixed an issue where autocompleting a vendor-prefixed value in Styles could duplicate the prefix, for example producing
-apple--apple-system. (317167@main) (182178871)WebAssembly
Resolved Issues
- Fixed an issue where
Errorstack traces did not include names for modules instantiated withWeb. (316642@main) (181523735)Assembly .instantiate Streaming WebDriver
New Features
- Added WebDriver support for the Digital Credentials API, including commands to simulate wallet payloads, indefinite waits, and user rejection. (316435@main) (168941907)
WebRTC
Resolved Issues
- Fixed
Overconstrainedto inherit fromError DOMExceptionand expose acodeattribute per the Media Capture spec. (316578@main) (180728516)
The update is available through the Software Update mechanism in System Preferences or System Settings to anyone who has downloaded the browser from Apple’s website.