<!--
{
  "documentType" : "article",
  "framework" : "Safari Technology Preview Release Notes",
  "identifier" : "/documentation/Safari-Technology-Preview-Release-Notes/stp-release-246",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Safari Technology Preview 246 Release Notes"
}
-->

# Safari Technology Preview 246 Release Notes

Learn about the latest web technology updates in Safari Technology Preview: Accessibility, CSS, Canvas, Editing, Forms, HTML, Images, JavaScript, Media, Networking, SVG, Scrolling, Storage, Web API, Web Extensions, Web Inspector, WebGPU, and WebRTC.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 246 is now [available for download](https://developer.apple.com/safari/resources/) 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: [313555@main…315033@main](https://github.com/WebKit/WebKit/compare/69d300842d37d62d8e54a0e11c66dfcafec72e41...0bc15c78e5116da8de86f87c6deb9d19f0eba6ec).

### Accessibility

#### Resolved Issues

- Fixed an issue preventing VoiceOver from following `focus()` calls for newly added elements. ([313425@main](https://commits.webkit.org/313425@main))  (177167634)
- Fixed role computation for elements with prefixes. ([314273@main](https://commits.webkit.org/314273@main))  (178399441)

### CSS

#### New Features

- Added support for `<image>` values in `light-dark(<image>, <image>)`. ([314244@main](https://commits.webkit.org/314244@main))  (172290840)
- Added support for using the CSS `attr()` substitution function on pseudo-elements with non-trivial originating elements. ([313684@main](https://commits.webkit.org/313684@main))  (177595332)
- Added support for `image(<color>)` in the `<image>` value type. ([314204@main](https://commits.webkit.org/314204@main))  (178189616)
- Enabled the `font-variant-emoji` property in preview. ([314117@main](https://commits.webkit.org/314117@main))  (178193814)
- Enabled `word-break: auto-phrase` in preview. ([314118@main](https://commits.webkit.org/314118@main))  (178193962)
- Added support for `color-mix()` with more than two colors. ([314272@main](https://commits.webkit.org/314272@main))  (178349405)
- Added support for the `alpha()` relative color function. ([314397@main](https://commits.webkit.org/314397@main))  (178551773)

#### Resolved Issues

- Fixed `aspect-ratio` intrinsic-size handling in flex layout to align with the specification. ([313536@main](https://commits.webkit.org/313536@main))  (83240099)
- Fixed `text-decoration-thickness` propagation to inner spans with non-inline style. ([314502@main](https://commits.webkit.org/314502@main))  (111015539)
- Fixed unnecessary text truncation that could occur with always-on scrollbars. ([313584@main](https://commits.webkit.org/313584@main))  (148428628)
- Fixed CSS Container Style Queries to work when the container has `display: contents`. ([313677@main](https://commits.webkit.org/313677@main))  (164414720)
- Fixed CSS Style Container Query to recognize the default value of a custom property in multiline cases. ([313957@main](https://commits.webkit.org/313957@main))  (165627262)
- Fixed CSS Anchor Positioning so that absolutely positioned elements no longer anchor to viewport-fixed-position elements unexpectedly. ([314706@main](https://commits.webkit.org/314706@main))  (170323196)
- Fixed `-webkit-box-pack` to account for `box-direction` and to handle overflow repositioning correctly. ([313862@main](https://commits.webkit.org/313862@main))  (174588996)
- Fixed an emoji reaction overlapping the comment code box on GitHub. ([311084@main](https://commits.webkit.org/311084@main))  (174652842)
- Fixed `:hover` state to repaint correctly on the customizable `<select>` element. ([310623@main](https://commits.webkit.org/310623@main))  (175273152)
- Fixed text in nested CSS Subgrid with `overflow: hidden` clipping content on subsequent items. ([313503@main](https://commits.webkit.org/313503@main))  (175877530)
- Fixed an interaction between an `img` with `max-width` and surrounding elements that caused the parent’s layout to compute incorrectly. ([313105@main](https://commits.webkit.org/313105@main))  (176889859)
- Fixed incorrect margin offsets for inline `<div>` positioning to fix the broken layout of paragraph spacing on some sites. ([313502@main](https://commits.webkit.org/313502@main))  (177139092)
- Fixed shrink-to-fit boxes to update their width when they gain or lose a scrollbar. ([313390@main](https://commits.webkit.org/313390@main))  (177172896)
- Fixed CSS `zoom` to be animatable by the computed value. ([313735@main](https://commits.webkit.org/313735@main))  (177411607)
- Fixed preferred width to trim trailing whitespace before a preserved newline. ([313480@main](https://commits.webkit.org/313480@main))  (177426037)
- Fixed inline layout to apply margins of preceding block content at the line start eagerly when block-in-inline content is involved. ([313489@main](https://commits.webkit.org/313489@main))  (177438841)
- Fixed CSS `attr()` to align with disallowing the `<url>` type. ([313593@main](https://commits.webkit.org/313593@main))  (177540489)
- Fixed CSS attribute selector case-insensitivity handling for HTML attributes. ([313654@main](https://commits.webkit.org/313654@main))  (177547701)
- Fixed `::first-letter` to use the correct definition of punctuation. ([313652@main](https://commits.webkit.org/313652@main))  (177599506)
- Fixed `offset-path` to respect `<coord-box>` when blending `shape()` and `basic-shape` paths. ([313737@main](https://commits.webkit.org/313737@main))  (177685457)
- Fixed stretch-fit width with `aspect-ratio` providing a definite cross size to flex items when it should not. ([313723@main](https://commits.webkit.org/313723@main))  (177705930)
- Fixed an aspect-ratio flex container resolving descendant percentage heights against a stale logical height. ([313727@main](https://commits.webkit.org/313727@main))  (177711905)
- Fixed `inline-block` baseline to fall back to the bottom margin edge when the content has no in-flow line boxes. ([313769@main](https://commits.webkit.org/313769@main))  (177753094)
- Fixed programmatic focus after keyboard interaction to match `:focus-visible`. ([314012@main](https://commits.webkit.org/314012@main))  (177850766)
- Fixed `@font-face` `font-style` to serialize ‘oblique 0deg’ as ‘normal’. ([314128@main](https://commits.webkit.org/314128@main))  (178185291)
- Fixed serialization of explicit `font-variant` longhands set after a system font. ([314292@main](https://commits.webkit.org/314292@main))  (178251443)
- Fixed `CSSFontFeatureValuesRule.fontFamily` to be settable rather than `readonly`. ([314602@main](https://commits.webkit.org/314602@main))  (178323504)
- Fixed `font-style: oblique` to be clamped against the font’s slant range rather than the `@font-face` weight range. ([314280@main](https://commits.webkit.org/314280@main))  (178324521)
- Fixed `font-style: oblique` angle being applied to the variable font ‘slnt’ axis with the wrong sign. ([314399@main](https://commits.webkit.org/314399@main))  (178326843)
- Fixed `background` and `mask` coordinated property list resolved values to match the specification. ([314242@main](https://commits.webkit.org/314242@main))  (178378309)
- Fixed longer hue interpolation when one input is `none`. ([314327@main](https://commits.webkit.org/314327@main))  (178476769)
- Fixed line-through to render with the correct thickness over a descendant inline box. ([314391@main](https://commits.webkit.org/314391@main))  (178547557)
- Fixed `font-synthesis` to avoid synthesizing styles outside of a font’s variable axis range. ([314537@main](https://commits.webkit.org/314537@main))  (178550149)
- Fixed `font-style: italic` to slant a variable font whose `@font-face` uses an oblique angle. ([314681@main](https://commits.webkit.org/314681@main))  (178566326)
- Fixed SVG intrinsic sizing so that `height: max-content` uses the used width rather than the default width. ([314556@main](https://commits.webkit.org/314556@main))  (178712792)
- Fixed `color-mix()` to allow percentages that sum to zero. ([314577@main](https://commits.webkit.org/314577@main))  (178758710)
- Fixed `color-mix()` resolution for the new 0% rules. ([314714@main](https://commits.webkit.org/314714@main))  (178921722)
- Fixed a flex item with `min-width: min-content` being clamped to a smaller `max-width`. ([314599@main](https://commits.webkit.org/314599@main))  (178777567)

### Canvas

#### New Features

- Made the radii argument of `CanvasPath.roundRect()` optional. ([313882@main](https://commits.webkit.org/313882@main))  (177944903)

#### Resolved Issues

- Fixed canvas 2D context to set the `origin-clean` flag when reset. ([313824@main](https://commits.webkit.org/313824@main))  (177858398)
- Fixed canvas `fillText` with `textAlign=center` misplacing complex-shaped text. ([314522@main](https://commits.webkit.org/314522@main))  (178682402)

### Editing

#### Resolved Issues

- Fixed typing Hindi (InScript) input on Google Docs. ([297270@main](https://commits.webkit.org/297270@main))  (177643899)

### Forms

#### Resolved Issues

- Fixed identically sized buttons to render with consistent corner radius. ([313535@main](https://commits.webkit.org/313535@main))  (173786057)
- Fixed a box with percentage offset (e.g. `top: 100%`) being mispositioned when its containing block is out-of-flow with percentage height. ([313364@main](https://commits.webkit.org/313364@main))  (177181803)

### HTML

#### New Features

- Added support for popover close watcher integration. ([313838@main](https://commits.webkit.org/313838@main))  (129116634)
- Added support for SVG `<a>` as an argument to `Origin.from()`. ([314287@main](https://commits.webkit.org/314287@main))  (178426374)

#### Resolved Issues

- Fixed popover light dismiss to account for input buttons. ([313840@main](https://commits.webkit.org/313840@main))  (171352032)
- Fixed popover light dismiss to account for disabled command buttons. ([314400@main](https://commits.webkit.org/314400@main))  (171358576)
- Fixed a regression that broke `pushState` with custom application URL schemes. ([312738@main](https://commits.webkit.org/312738@main))  (177547157)
- Fixed `outerHTML` setter to align with the HTML standard. ([313795@main](https://commits.webkit.org/313795@main))  (177788638)
- Fixed fragment parsing of `xmlns=""` inheritance and `annotation-xml` encoding. ([313803@main](https://commits.webkit.org/313803@main))  (177808494)
- Fixed `createHTMLDocument()` to no longer leave the body in a parsing state. ([314295@main](https://commits.webkit.org/314295@main))  (178440940)
- Fixed text fragment matching so that a prefix is no longer matched outside of a word boundary near the start of the document. ([314323@main](https://commits.webkit.org/314323@main))  (178467104)

### Images

#### Resolved Issues

- Fixed images appearing then quickly disappearing on OpenTable search results. ([313572@main](https://commits.webkit.org/313572@main))  (176275269)
- Fixed `<picture>` `<source>` candidates being speculatively preloaded even when the inner `<img>` has `loading=lazy`. ([313833@main](https://commits.webkit.org/313833@main))  (177833110)
- Fixed `HTMLImageElement.decode()` to no longer resolve spuriously after adoption, `src` change, or cached-image reuse. ([314536@main](https://commits.webkit.org/314536@main))  (178118012)

### JavaScript

#### Resolved Issues

- Fixed multiple `TypedArray` constructor edge cases involving buffer sequences to align with the specification. ([313401@main](https://commits.webkit.org/313401@main))  (176724918)
- Fixed `WebAssembly.Memory` and `WebAssembly.Module` to align their cloning and transferring behavior with `SharedArrayBuffer`. ([313482@main](https://commits.webkit.org/313482@main))  (176792374)
- Fixed `Array.prototype.join` to include prototype elements added during element `toString` invocation. ([314210@main](https://commits.webkit.org/314210@main))  (178055452)

### Media

#### Resolved Issues

- Fixed WebVTT to not display cues that are larger than the viewport. ([314333@main](https://commits.webkit.org/314333@main))  (136809012)
- Fixed `<audio controls>` to not show the “Subtitles” option when no subtitle track is present. ([311465@main](https://commits.webkit.org/311465@main))  (175357130)
- Fixed MSE `SourceBuffer.remove()` to no longer remove an extra sample, and fixed buffered ranges to cover the correct ranges. ([313383@main](https://commits.webkit.org/313383@main))  (177065364)
- Fixed an HTMLMediaElement that doesn’t display in an infinite scrolling webpage to use a viewport listener that notifies the media player about the visibility of the element. ([311380@main](https://commits.webkit.org/311380@main))  (177081214)
- Fixed EME to use a 10 second key wait timeout. ([313873@main](https://commits.webkit.org/313873@main))  (177936893)
- Fixed EME OCDM to prevent a spurious `keystatuses` event when all keys have expired. ([313876@main](https://commits.webkit.org/313876@main))  (177939767)
- Fixed `getSupportedCapabilitiesForAudioVideoType` (EME) to no longer include unsupported capabilities. ([314032@main](https://commits.webkit.org/314032@main))  (178142768)
- Fixed `MediaSession.setActionHandler` to not throw an exception when called. ([314546@main](https://commits.webkit.org/314546@main))  (178167294)
- Fixed `AudioData.copyTo` to throw `RangeError` when `frameOffset` equals `numberOfFrames`. ([314451@main](https://commits.webkit.org/314451@main))  (178609688)
- Fixed MIDI and AVI MIME signature matching due to a typo in MIME sniffing. ([314499@main](https://commits.webkit.org/314499@main))  (178661530)
- Fixed `PannerNode` to no longer produce non-finite samples for edge-case distance parameters. ([314608@main](https://commits.webkit.org/314608@main))  (178784571)

### Networking

#### Resolved Issues

- Fixed URL parsing for `sendBeacon()` and the Media Session API. ([313403@main](https://commits.webkit.org/313403@main))  (177330315)

### Rendering

#### Resolved Issues

- Fixed Google search-suggestion font sizes increasing on rotation from portrait to landscape. ([313547@main](https://commits.webkit.org/313547@main))  (113801810)
- Fixed misrendering of Pahawh Hmong text on Wikipedia. ([313458@main](https://commits.webkit.org/313458@main))  (167446860)
- Fixed a black region appearing on the right side of swift.org when the sidebar is open. ([313513@main](https://commits.webkit.org/313513@main))  (173191807)
- Fixed `<legend>` to mask the `<fieldset>`’s border correctly when it has a negative left margin. ([313863@main](https://commits.webkit.org/313863@main))  (174185071)
- Fixed a regression that caused incorrect layout in some content using `stretch`. ([309433@main](https://commits.webkit.org/309433@main))  (176398251)
- Fixed justification expansion to apply around CJK Unified Ideographs Extensions E, F, G, and H. ([313586@main](https://commits.webkit.org/313586@main))  (176759766)
- Fixed RTL position-fixed elements losing their contents when the document is scrolled on iOS. ([313573@main](https://commits.webkit.org/313573@main))  (177454608)

### SVG

#### New Features

- Made SVG `<use>` work without specifying a fragment identifier. ([313550@main](https://commits.webkit.org/313550@main))  (148973201)

#### Resolved Issues

- Fixed the resolved value for the `width` and `height` properties on SVG `<rect>`, `<image>`, `<svg>`, and other elements. ([313859@main](https://commits.webkit.org/313859@main))  (96320059)
- Fixed an animated GIF freezing when referenced by SVG `<use>` and the opacity was adjusted. ([313531@main](https://commits.webkit.org/313531@main))  (96837306)
- Fixed `vector-effect` to apply a transform to path geometry rather than to stroke geometry. ([314302@main](https://commits.webkit.org/314302@main))  (103573160)
- Fixed `<animateMotion>` non-path animations to apply the `rotate` attribute. ([314508@main](https://commits.webkit.org/314508@main))  (110915794)
- Fixed SVG elements with `display: contents` being visually hidden. ([314079@main](https://commits.webkit.org/314079@main))  (141825746)
- Fixed `SVGPathElement.getTotalLength()` and `. SVGPathElement.getTotalLength.getPointAtLength()` to respect the CSS `d` property. ([314654@main](https://commits.webkit.org/314654@main))  (167195297)
- Fixed a rounding issue for SVG rect height with `em` and percentage values. ([313935@main](https://commits.webkit.org/313935@main))  (171587382)
- Fixed SVG intrinsic sizing so that `max-content` and `min-content` use the `viewBox` aspect ratio when intrinsic sizes are missing. ([313864@main](https://commits.webkit.org/313864@main))  (174568894)
- Fixed `glyph-orientation-vertical: auto` to decode surrogate pairs for UTR#50 lookup. ([314070@main](https://commits.webkit.org/314070@main))  (175570881)
- Fixed handling of `pathLength="0"` and negative `pathLength` for stroke dashing. ([314001@main](https://commits.webkit.org/314001@main))  (175928827)
- Fixed hit-testing of `clip-path` with nested `objectBoundingBox` `<clipPath>` to use the correct reference box. ([313855@main](https://commits.webkit.org/313855@main))  (177605894)
- Fixed SVG overflowing edges when offset by a fractional value. ([313886@main](https://commits.webkit.org/313886@main))  (177630386)
- Fixed `feGaussianBlur` not applying when `stdDeviation` contains a 0 in the second component. ([313874@main](https://commits.webkit.org/313874@main))  (177906905)

#### Deprecations

- Removed support for the non-standard `glyph-orientation-horizontal` property. ([314069@main](https://commits.webkit.org/314069@main))  (176134352)

### Scrolling

#### Resolved Issues

- Fixed scrolling of the “Add Contacts” drop-down on outlook.live.com by  narrowing the scope of a quirk. ([314111@main](https://commits.webkit.org/314111@main))  (48008837)
- Fixed a `passive: false` wheel event listener combined with `overscroll-behavior: contain` preventing scrolling. ([314170@main](https://commits.webkit.org/314170@main))  (137757208)
- Fixed the scroll anchoring behavior so that the comments panel on Quip is no longer blank when expanded. ([314371@main](https://commits.webkit.org/314371@main))  (178255628)

### Storage

#### New Features

- Added support for storing `FileSystemHandle` objects in IndexedDB. ([314229@main](https://commits.webkit.org/314229@main))  (176102643)

#### Resolved Issues

- Fixed IndexedDB connections in workers to recover after a network process crash. ([313509@main](https://commits.webkit.org/313509@main))  (177219395)

### Web API

#### New Features

- Added support for the `Origin-Agent-Cluster` HTTP response header. ([314346@main](https://commits.webkit.org/314346@main))  (69452369)

#### Resolved Issues

- Fixed `IntersectionObserver` to no longer notify targets in detached documents. ([313834@main](https://commits.webkit.org/313834@main))  (162699098)
- Fixed `IntersectionObserverEntry.boundingClientRect` to honor CSS zoom aware `getBoundingClientRect`. ([313512@main](https://commits.webkit.org/313512@main))  (177250323)
- Fixed `IntersectionObserver` to report correct bounds for SVG element targets. ([313596@main](https://commits.webkit.org/313596@main))  (177260411)
- Fixed Web Locks API to remove the `AbortSignal` abort algorithm after a lock request settles. ([314433@main](https://commits.webkit.org/314433@main))  (178589067)

### Web Extensions

#### Resolved Issues

- Fixed cross-origin `XMLHttpRequest` from a Safari Web Extension to no longer trigger an additional permissions request. ([313506@main](https://commits.webkit.org/313506@main))  (154866064)

### Web Inspector

#### New Features

- Added a separate column to show the node associated with layout and rendering events. ([314460@main](https://commits.webkit.org/314460@main))  (177618501)

#### Resolved Issues

- Fixed hovering over a node in a preview for a collection to highlight the node in the inspected page. ([314589@main](https://commits.webkit.org/314589@main))  (20341722)
- Fixed style sheets created via CSSOM (such as `adoptedStyleSheets`) being incorrectly marked as User Agent Style Sheets. ([313738@main](https://commits.webkit.org/313738@main))  (134101594)
- Fixed clearing the Console tab search field to dismiss the Clear Filters button. ([313599@main](https://commits.webkit.org/313599@main))  (176388155)
- Fixed properties added to an element’s Style Attribute sometimes disappearing momentarily. ([314467@main](https://commits.webkit.org/314467@main))  (178053421)

### WebGPU

#### Resolved Issues

- Fixed WGSL parser handling of identifiers per the latest specification. ([313405@main](https://commits.webkit.org/313405@main))  (177008615)
- Fixed WGSL validation of binary expressions involving short-circuit and/or operators. ([313467@main](https://commits.webkit.org/313467@main))  (177012957)

### WebRTC

#### Resolved Issues

- Fixed WebRTC media capabilities to report power-efficient AV1 decoding when supported. ([313468@main](https://commits.webkit.org/313468@main))  (174686183)
- Fixed audio issues when joining Cisco Meeting Server meetings using Safari. ([313415@main](https://commits.webkit.org/313415@main))  (175260977)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)