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

# Safari Technology Preview 244 Release Notes

Learn about the latest web technology updates in Safari Technology Preview: Accessibility, Animations, CSS, Forms, HTML, Images, JavaScript, MathML, Media, Networking, Rendering, SVG, Security, Storage, Web API, Web Extensions, Web Inspector, WebAssembly, WebGL, and WebGPU.

## Overview

[Safari Technology Preview](https://webkit.org/blog/6017/introducing-safari-technology-preview/) Release 244 is now [available for download](https://developer.apple.com/safari/resources/) for macOS Tahoe and macOS Sequoia. 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: [312008@main…312964@main](https://github.com/WebKit/WebKit/compare/4c22d3192a194f0a17bcb35996864803f9e5dcef...bc59681571095d4c238aab49e33c533532e96399).

### Accessibility

#### Resolved Issues

- Fixed VoiceOver cursor positioning for elements focused via the `drawFocusIfNeeded()` canvas API. ([312024@main](https://commits.webkit.org/312024@main))  (146323788)
- Fixed an issue where interactive elements containing an `<svg>` named by a child `<title>` element did not expose an accessible name. ([312953@main](https://commits.webkit.org/312953@main))  (172559238)
- Fixed VoiceOver line-by-line reading skipping content in read-only documents. ([312263@main](https://commits.webkit.org/312263@main))  (174349841)

### Animations

#### New Features

- Added the `animation` property to `AnimationEvent` and `TransitionEvent` interfaces. ([312859@main](https://commits.webkit.org/312859@main))  (176527591)

#### Resolved Issues

- Fixed CSS anchor-positioned elements not updating correctly when their anchors have their transform animated. ([312752@main](https://commits.webkit.org/312752@main))  (175896047)

### CSS

#### New Features

- Added support for the `normal` and `none` values on the `position-anchor` CSS property. ([312378@main](https://commits.webkit.org/312378@main))  (172097721)
- Added support for transform-aware anchor positioning. ([312317@main](https://commits.webkit.org/312317@main))  (175401339)

#### Resolved Issues

- Fixed an issue where `-webkit-text-fill-color` incorrectly overrode `text-decoration-color`. ([312789@main](https://commits.webkit.org/312789@main))  (47010945)
- Fixed `shape-outside` computing incorrect text wrapping in RTL writing modes. ([312516@main](https://commits.webkit.org/312516@main))  (56890238)
- Fixed CSS `zoom` interacting incorrectly with `font-weight`, `font-style`, and `font-variant` on iPad. ([312944@main](https://commits.webkit.org/312944@main))  (152173269)
- Fixed `FontFace.loaded` to reject when a `local()` font source fails to load. ([312933@main](https://commits.webkit.org/312933@main))  (174631384)
- Fixed CSS trigonometric functions to correctly convert degrees to radians. ([312860@main](https://commits.webkit.org/312860@main))  (175575617)
- Fixed `sibling-index()` and `sibling-count()` inside calc() functions to be correctly simplified. ([312026@main](https://commits.webkit.org/312026@main))  (175590806)
- Fixed `sibling-index()` and `sibling-count()`to correctly return 0 when used in cross-tree `::part()` styling. ([312544@main](https://commits.webkit.org/312544@main))  (175592607)
- Fixed the CSS `resize` handle not working on an element when the handle overlaps a child iframe. ([312099@main](https://commits.webkit.org/312099@main))  (175621855)
- Fixed flex container baseline alignment being incorrectly computed for scroll containers by clamping to the border edge. ([312206@main](https://commits.webkit.org/312206@main))  (175631095)
- Fixed an issue where inline-level boxes with `calc()` margins or padding lost the fixed component during intrinsic width computation. ([312081@main](https://commits.webkit.org/312081@main))  (175669222)
- Fixed floats with `margin-start` incorrectly overlapping adjacent floats. ([312083@main](https://commits.webkit.org/312083@main))  (175669464)
- Fixed `aspect-ratio` calculations for block-level elements with size constraints. ([312084@main](https://commits.webkit.org/312084@main))  (175669713)
- Fixed `aspect-ratio` calculations for flex items with percentage cross-size constraints. ([312085@main](https://commits.webkit.org/312085@main))  (175669774)
- Fixed an issue where `block-size: stretch` resolved incorrectly for absolutely positioned elements with orthogonal writing modes. ([312086@main](https://commits.webkit.org/312086@main))  (175669844)
- Fixed `aspect-ratio` calculations for flex items with definite cross-size values. ([312108@main](https://commits.webkit.org/312108@main))  (175690028)
- Fixed `revert-layer` computing incorrectly when there is a leading empty or space substitution value. ([312721@main](https://commits.webkit.org/312721@main))  (175729680)
- Fixed `:has()` invalidation incorrectly resetting sibling relation bits, causing style invalidation failures for first-in-sibling-chain elements. ([312221@main](https://commits.webkit.org/312221@main))  (175738008)
- Fixed an issue where absolutely positioned tables with content exceeding their declared CSS width were incorrectly positioned. ([312197@main](https://commits.webkit.org/312197@main))  (175755871)
- Fixed height calculations for absolutely positioned tables with percentage-sized children. ([312204@main](https://commits.webkit.org/312204@main))  (175762381)
- Fixed an issue where absolutely positioned tables with explicit percentage or fixed heights did not resolve correctly against their containing block. ([312280@main](https://commits.webkit.org/312280@main))  (175852400)
- Fixed absolutely positioned tables ignoring `min-height` and shrinking below their content height. ([312313@main](https://commits.webkit.org/312313@main))  (175883577)
- Fixed absolutely positioned tables ignoring `max-height` constraints. ([312357@main](https://commits.webkit.org/312357@main))  (175932457)
- Fixed an issue where a flex item with `aspect-ratio` and `content-box` padding computed the wrong height in a column flex container. ([312441@main](https://commits.webkit.org/312441@main))  (176033726)
- Fixed an issue where flex items with explicit `min-height: min-content` were incorrectly treated as scrollable, zeroing out their minimum size. ([312517@main](https://commits.webkit.org/312517@main))  (176173688)
- Fixed `:has()` invalidation performance when used inside nested `:is()` selectors. ([312715@main](https://commits.webkit.org/312715@main))  (176354723)
- Fixed `sibling-count()` & `sibling-index()` used in `@keyframes` to re-resolve when siblings change. ([312895@main](https://commits.webkit.org/312895@main))  (176531901)

### Forms

#### Resolved Issues

- Fixed `<datalist>` suggestions appearing with a white background on white text in dark mode after typing. ([312889@main](https://commits.webkit.org/312889@main))  (168676757)
- Fixed the select picker appearing at an incorrect position when the `<select>` element is anchor positioned. ([312811@main](https://commits.webkit.org/312811@main))  (175454476)
- Fixed `field-sizing: content` clipping the placeholder on number inputs that have no value. ([312936@main](https://commits.webkit.org/312936@main))  (175883299)
- Fixed `<option>` and `<optgroup>` elements to match the `:disabled` pseudo-class when inside a disabled `<select>`. ([312890@main](https://commits.webkit.org/312890@main))  (176559708)

### HTML

#### New Features

- Added support for `tabindex`, `focus()`, `blur()`, and `autofocus` on MathML elements per the HTML Standard. ([312609@main](https://commits.webkit.org/312609@main))  (176258900)

#### Resolved Issues

- Fixed `history.pushState()` and `history.replaceState()` URL rewriting to match the updated specification. ([312738@main](https://commits.webkit.org/312738@main))  (83203469)
- Fixed sequential focus navigation to skip elements that do not meet the specification’s focusability requirements. ([312032@main](https://commits.webkit.org/312032@main))  (103370883)
- Fixed `innerText` to no longer emit newlines for `visibility: hidden` block elements. ([312010@main](https://commits.webkit.org/312010@main))  (175569426)
- Fixed `innerText` to correctly emit blank lines around `<p>` elements regardless of their CSS `display` value. ([312169@main](https://commits.webkit.org/312169@main))  (175729427)
- Fixed the speculative preload scanner to no longer incorrectly preload scripts inside SVG elements. ([312327@main](https://commits.webkit.org/312327@main))  (175800116)
- Fixed `innerText` on tables to no longer emit spurious trailing newlines and to preserve row-exit newlines after empty rows. ([312941@main](https://commits.webkit.org/312941@main))  (176635985)

### Images

#### Resolved Issues

- Fixed `naturalWidth` and `naturalHeight` returning incorrect values for SVG images without intrinsic dimensions. ([312552@main](https://commits.webkit.org/312552@main))  (141196049)
- Fixed an issue where HDR images would flicker and lose their HDR appearance when overlapping layers animate. ([312702@main](https://commits.webkit.org/312702@main))  (163382580)

### JavaScript

#### Resolved Issues

- Fixed an issue where parse errors in workers were not reported to the parent. ([312701@main](https://commits.webkit.org/312701@main))  (175610725)
- Fixed a performance issue with module resolution by limiting cache population to star-resolution and indirect-resolution cases. ([312416@main](https://commits.webkit.org/312416@main))  (175826413)
- Fixed a performance issue with `TypedArray.prototype.lastIndexOf` by adding SIMD-accelerated reverse search for numeric types. ([312383@main](https://commits.webkit.org/312383@main))  (175904377)
- Fixed a performance issue where building a module namespace with many `export *` statements was significantly slower than necessary. ([312370@main](https://commits.webkit.org/312370@main))  (175949532)
- Fixed `DataView` constructor to match specification-defined argument validation order and error throwing behavior. ([312483@main](https://commits.webkit.org/312483@main))  (176110210)
- Fixed an issue where `Array.prototype.concat` could produce incorrect results when combining arrays with incompatible indexing types. ([312560@main](https://commits.webkit.org/312560@main))  (176219964)

### MathML

#### New Features

- Added support for multiple-character operators in MathML. ([312867@main](https://commits.webkit.org/312867@main))  (170907545)

#### Resolved Issues

- Fixed `padding` and `border` rendering on `<msqrt>` and `<mroot>` elements and corrected token sizing for `mathvariant`. ([312902@main](https://commits.webkit.org/312902@main))  (173081436)
- Fixed absolute positioning of elements inside MathML by ensuring logical height is updated. ([312905@main](https://commits.webkit.org/312905@main))  (173088146)
- Fixed `tabIndex` values not being set correctly for MathML elements. ([312681@main](https://commits.webkit.org/312681@main))  (174734133)

### Media

#### New Features

- Added support for synchronized video playback on displays using genlock on macOS. ([311815@main](https://commits.webkit.org/311815@main), [312166@main](https://commits.webkit.org/312166@main))  (175197574)

#### Resolved Issues

- Fixed video playback failing when the declared MIME type in a `<source>` element does not match the actual content type served by the server. ([312399@main](https://commits.webkit.org/312399@main))  (166181001)
- Fixed `ImageCapture` to correctly queue `takePhoto()` and `applyConstraints()` requests to avoid concurrent capture session reconfiguration. ([312196@main](https://commits.webkit.org/312196@main))  (174950018)
- Fixed `::cue()` selectors to correctly match the WebVTT root object in addition to child nodes. ([312292@main](https://commits.webkit.org/312292@main))  (175550173)
- Fixed Media Source Extensions `readyState` not being updated immediately when playback stalls due to a gap in buffered data. ([312694@main](https://commits.webkit.org/312694@main))  (176330683)

### Networking

#### Resolved Issues

- Fixed `XMLHttpRequest` incorrectly dropping the request body during redirects. ([312092@main](https://commits.webkit.org/312092@main))  (98459882)
- Fixed an issue where partitioned cookies could not be deleted via `WKHTTPCookieStore`. ([312478@main](https://commits.webkit.org/312478@main))  (174557252)

### Rendering

#### New Features

- Added support for `anchor-valid` and `anchor-visible` as aliases of `anchors-valid` and `anchors-visible` in `position-visibility`. ([312080@main](https://commits.webkit.org/312080@main))  (174438361)
- Added support for the Dutch IJ digraph in `text-transform: capitalize` and `::first-letter`, correctly titlecasing “ij” to “IJ” at word starts when the content language is Dutch. ([312335@main](https://commits.webkit.org/312335@main))  (175912959)

#### Resolved Issues

- Fixed an issue where a block formatting context with `margin-start` could overlap an adjacent float. ([312082@main](https://commits.webkit.org/312082@main))  (93187697)
- Fixed boxes in the top layer to use the initial containing block as their static-position rectangle. ([312908@main](https://commits.webkit.org/312908@main))  (155495104)
- Fixed an issue where form controls with `height: 100%` in auto-height containers incorrectly resolved to zero height. ([312526@main](https://commits.webkit.org/312526@main))  (161699543)
- Fixed text being incorrectly truncated in RTL containers when combined with `text-overflow: ellipsis` and an `inline-block` pseudo-element. ([312799@main](https://commits.webkit.org/312799@main))  (168875614)
- Fixed an issue where `height: 100%` was incorrectly calculated for replaced elements like images serving as grid items nested inside a flexbox. ([312281@main](https://commits.webkit.org/312281@main))  (169431440)
- Fixed an issue where if a document in an iframe uses `@prefers-color-scheme`, it does not follow the `color-scheme` set by grandparents of the iframe. ([312212@main](https://commits.webkit.org/312212@main))  (172229372)
- Fixed an issue where list markers rendered on the wrong line when list items started with empty inline elements. ([312356@main](https://commits.webkit.org/312356@main))  (172762578)
- Fixed an issue where a child element with `filter: blur()` ignored `border-radius` overflow clipping from its parent. ([312531@main](https://commits.webkit.org/312531@main))  (175519148)
- Fixed incorrect event type mappings where `mousemove` and `mouseup` event listener region types were reversed. ([312142@main](https://commits.webkit.org/312142@main))  (175651369)
- Fixed an issue where containers with block-in-inline content did not expand when `max-height` was removed. ([312608@main](https://commits.webkit.org/312608@main))  (175799547)
- Fixed always-on scrollbar thumbs not rendering on the root element of nested documents with `display: flex`. ([312300@main](https://commits.webkit.org/312300@main))  (175866046)
- Fixed `scrollbar-gutter` placement on the root element in RTL layouts. ([312360@main](https://commits.webkit.org/312360@main))  (175939512)
- Fixed an issue where numbered list item markers rendered with more spacing between the marker and list content than in other browsers. ([312515@main](https://commits.webkit.org/312515@main))  (176027025)
- Fixed an issue where block-level boxes nested within inline elements were not properly aligned when using `align-content: center`. ([312514@main](https://commits.webkit.org/312514@main))  (176173122)
- Fixed a regression where `height: stretch` on children of flex items incorrectly resolved to viewport height instead of behaving as `auto` when the flex container lacked an explicit height. ([312916@main](https://commits.webkit.org/312916@main))  (176288044)
- Fixed intrinsic sizing for non-replaced elements with percentage dimensions. ([312828@main](https://commits.webkit.org/312828@main))  (176493856)

### SVG

#### Resolved Issues

- Fixed SMIL `repeat(n)` event conditions not triggering animations. ([312346@main](https://commits.webkit.org/312346@main))  (173599629)
- Fixed `glyph-orientation-vertical: auto` to use UTR#50 Vertical Orientation properties for correct character orientation in vertical text. ([312008@main](https://commits.webkit.org/312008@main))  (175064567)
- Fixed the SMIL clock value parser to accept hours greater than 99 and reject malformed seconds values. ([312350@main](https://commits.webkit.org/312350@main))  (175593583)
- Fixed `stroke-dasharray` interpolation to use least common multiple for list length matching and corrected composition behavior. ([312055@main](https://commits.webkit.org/312055@main))  (175598175)

### Security

#### Resolved Issues

- Fixed `Content-Security-Policy` `object-src` with an empty or invalid source list to block empty `<object>` and `<embed>` elements consistently with `object-src 'none'`. ([312899@main](https://commits.webkit.org/312899@main))  (171298717)

### Storage

#### Resolved Issues

- Fixed an issue where IndexedDB could incorrectly return a version 0 database after an abort during the initial `onupgradeneeded` event. ([312535@main](https://commits.webkit.org/312535@main))  (176195526)
- Fixed `FileSystemHandle` serialization and deserialization when no storage is available. ([312616@main](https://commits.webkit.org/312616@main))  (176267344)

### Web API

#### New Features

- Added support for creating dedicated workers inside shared workers per the HTML Standard. ([312503@main](https://commits.webkit.org/312503@main))  (118945089)

#### Resolved Issues

- Fixed the parent window’s `history.state` being set to `null` when `history.pushState` is called from a child iframe. ([312475@main](https://commits.webkit.org/312475@main))  (50019069)
- Fixed clicking on a scrollbar of an overflow container blurring the current `activeElement`. ([312924@main](https://commits.webkit.org/312924@main))  (92367314)
- Fixed an issue where an `Event` object’s `target` property could lose its JavaScript wrapper due to premature garbage collection. ([312017@main](https://commits.webkit.org/312017@main))  (175439759)
- Fixed `FileSystemDirectoryHandle.resolve()` to return the correct path array for child entries. ([312061@main](https://commits.webkit.org/312061@main))  (175645387)
- Fixed `PerformanceNavigationTiming.domInteractive` and `domContentLoadedEventEnd` incorrectly returning 0 instead of the correct timestamps. ([312500@main](https://commits.webkit.org/312500@main))  (175739835)
- Fixed `FileSystemDirectoryHandle.removeEntry()` to correctly remove entries. ([312193@main](https://commits.webkit.org/312193@main))  (175745157)
- Fixed `CryptoKey` to correctly remain associated with its secure context. ([312502@main](https://commits.webkit.org/312502@main))  (176157712)
- Fixed: Improved cross-origin isolation enforcement for workers. ([312518@main](https://commits.webkit.org/312518@main))  (176175488)
- Fixed `SharedArrayBuffer` cloning and agent cluster ID assignment. ([312800@main](https://commits.webkit.org/312800@main))  (176465817)

### Web Extensions

#### New Features

- Added support for propagating user gestures through `sendMessage()`, `connect()`, `postMessage()`, and `executeScript()` APIs, enabling extensions to perform gesture-requiring actions like media playback. ([312463@main](https://commits.webkit.org/312463@main))  (175797617)

#### Resolved Issues

- Fixed an issue where web extension service worker registration database files accumulated on each Safari launch, causing performance degradation. ([312231@main](https://commits.webkit.org/312231@main))  (175484888)

### Web Inspector

#### Resolved Issues

- Fixed an issue where the input field for recording canvas frames in the Graphics tab was sometimes too small to type in and only allowed typing one character at a time. ([312433@main](https://commits.webkit.org/312433@main))  (157787230)
- Fixed Timeline recordings showing unrelated events incorrectly nested inside longer events. ([312649@main](https://commits.webkit.org/312649@main))  (176309164)

### WebAssembly

#### Resolved Issues

- Fixed a regression where `RegisterSet::normalizeWidths()` lost vector-width information, causing v128 argument corruption in WebAssembly SIMD thunks. ([312610@main](https://commits.webkit.org/312610@main))  (176035764)

### WebGL

#### Resolved Issues

- Fixed `compressedTexImage` not validating whether the compressed texture format extension has been enabled. ([312180@main](https://commits.webkit.org/312180@main))  (175652171)
- Fixed some `texImage` functions reporting errors with incorrect function names. ([312156@main](https://commits.webkit.org/312156@main))  (175652807)
- Fixed some WebGL context state properties not being correctly reset on context loss. ([312605@main](https://commits.webkit.org/312605@main))  (176190808)

### WebGPU

#### Resolved Issues

- Fixed `GPUDevice.onuncapturederror` event handler attribute not working. ([312043@main](https://commits.webkit.org/312043@main))  (149577124)
- Fixed: Restored `maxStorageBuffersInFragmentStage` and related WebGPU limits. ([312387@main](https://commits.webkit.org/312387@main))  (160800947)

---

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)