Safari Technology Preview 241: Key Updates and Fixes Explained

By

Safari Technology Preview 241 is now available for download on macOS Tahoe and macOS Sequoia. This release includes a wide range of improvements to accessibility, animations, and CSS, addressing numerous bugs and introducing new features. If you already have the preview installed, you can update it in System Settings under General → Software Update. Below, we answer the most pressing questions about what's new and fixed in this update.

What is Safari Technology Preview 241 and how can I install it?

Safari Technology Preview 241 is the latest experimental version of Safari, designed for developers and users who want to test upcoming web technologies and features. It is available for download for macOS Tahoe and macOS Sequoia. If you already have Safari Technology Preview installed, you can update it directly through System Settings by navigating to General → Software Update. This release includes WebKit changes from revision 309287 to 310186, encompassing improvements to accessibility, animations, and CSS.

Safari Technology Preview 241: Key Updates and Fixes Explained
Source: webkit.org

What accessibility issues were resolved in this update?

This release fixes several accessibility bugs. One issue caused speechSynthesis.cancel() to incorrectly remove utterances queued by subsequent speechSynthesis.speak() calls, which is now resolved. Another fix addresses incorrect bounding boxes for MathML table rows and cells, ensuring screen readers can interpret them properly. Additionally, comboboxes now correctly forward focus to their aria-activedescendant, enabling assistive technologies to interact with list items. Finally, aria-owns is now respected when computing accessible names from element content, improving the accuracy of accessible names.

How was the animation-fill-mode bug fixed?

An issue with CSS animations where animation-fill-mode did not correctly apply viewport-based units after resizing the viewport has been fixed. Previously, when the viewport was resized, elements using animation-fill-mode with viewport-relative units (like vw or vh) would not update their styles properly. This has been corrected, ensuring that animations using fill mode behave consistently across viewport changes.

What new CSS features were added?

Two new CSS features are introduced. First, support for the stretch keyword in box sizing properties has been added, giving developers more control over element sizing. Second, stable support for CSS scroll anchoring is now included. Scroll anchoring prevents unexpected page jumps when content above the viewport loads, making the browsing experience smoother when using scroll-based layouts.

What important CSS bugs were fixed?

Several critical CSS bugs were resolved. The U+2028 LINE SEPARATOR character now renders as a forced line break per the CSS specification. The outline-offset property is no longer inflated when outline: auto is used on macOS. Font-family serialization now preserves quotes around family names that match CSS-wide keywords or generic families. Additionally, an issue where a font was downloaded despite no characters in the document falling within its unicode-range has been fixed, improving performance. Other fixes include a flex item containing a percentage-height image now shrinking correctly, and View Transition snapshots no longer being stored in sRGB incorrectly, which caused rendering issues with non-sRGB colors.

How did this release improve performance for layout containment?

A performance issue related to contain: layout has been addressed. Previously, when all siblings created their own formatting context, the containment property caused significantly slower forced layouts. This regression has been fixed, leading to faster rendering in complex layout scenarios where containment is used.

What other notable CSS fixes are included?

Several additional CSS fixes are worth noting. Underlines are no longer split when a ruby base is expanded due to long ruby text. Changing color-scheme now correctly repaints the background of composited iframes. Nested children of a popover element using position: absolute now render properly. The color: initial value resolves to the correct color in dark appearance mode. An element with display: contents now establishes an anchor scope when using anchor-scope. Lastly, a regression where media queries could fail to resolve correctly has been fixed.

Related Articles

Recommended

Discover More

10 Key Shifts in Europe's Cyber Extortion Landscape: Germany Under SiegeQuantum Computing Milestones Accelerate the Cryptography CountdownMastering the Media Spotlight: A Guide for Artemis 2 Astronauts on Post-Mission FameExclusive: watchOS 27 to Introduce Simplified Ultra Face for All Apple Watch ModelsLeaving the Sea of Nodes: V8's Shift to Turboshaft