Safari Technology Preview 241: Enhanced Accessibility, CSS Improvements, and Animation Fixes

By ● min read

Apple has released Safari Technology Preview 241, the latest experimental browser aimed at developers and web enthusiasts. This update brings a host of bug fixes and feature additions, focusing on accessibility enhancements, animation refinements, and significant CSS improvements. Available for macOS Tahoe and macOS Sequoia, this release continues Apple's commitment to refining the web experience. If you already have the Technology Preview installed, you can update via System Settings → General → Software Update. The build encompasses WebKit changes from revision 309287 to 310186.

Accessibility Enhancements

Improved Speech Synthesis Queue Management

One notable fix addresses an issue where calling speechSynthesis.cancel() would inadvertently remove utterances queued by subsequent speechSynthesis.speak() calls. This correction (r309349) ensures that assistive technologies and voice applications manage speech queues predictably.

Safari Technology Preview 241: Enhanced Accessibility, CSS Improvements, and Animation Fixes
Source: webkit.org

Accurate Bounding Boxes for MathML

Previously, MathML table rows and cells displayed incorrect bounding boxes, which affected screen readers and other accessibility tools. The fix (r309640) now properly computes these dimensions, enhancing mathematical content readability.

Combobox Focus Forwarding

Comboboxes now correctly forward focus to their aria-activedescendant element. Previously, assistive technologies could not interact with list items within comboboxes. This fix (r309641) restores full keyboard and screen reader support.

Respecting aria-owns for Accessible Names

A bug where aria-owns was ignored when computing accessible names from element content has been resolved (r310020). This ensures that relationships defined by aria-owns are reflected in accessibility trees.

Animation and Viewport Unit Fixes

Correct animation-fill-mode with Viewport Units

An issue where animation-fill-mode did not correctly apply viewport-based units after a viewport resize has been fixed (r310007). Animations now maintain their intended styling even when the window is resized.

CSS New Features and Fixes

Stretch Keyword for Box Sizing

Support for the stretch keyword in box sizing properties has been added (r309405). This allows developers to use box-sizing: stretch to fill available space in a container, streamlining layouts.

Stable CSS Scroll Anchoring

CSS scroll anchoring is now stable (r310113), preventing unwanted page jumps when content above the viewport loads. This improves user experience on dynamic pages.

Line Separator Rendering

The U+2028 LINE SEPARATOR character now renders as a forced line break per CSS specification (r309701). Previously, it was not treated as a line break, causing layout inconsistencies.

Outline Offset Inflation on macOS

A bug where outline-offset was inflated when using outline: auto on macOS has been fixed (r309812). Outlines now respect the specified offset values.

Font Family Serialization Preservation

Font family names that match CSS-wide keywords or generic families now maintain quotes during serialization (r309959). This ensures consistent parsing when using dynamic font stacks.

Unnecessary Font Downloads Prevented

Browsers no longer download fonts whose unicode-range does not cover any characters in the document (r309360). This reduces bandwidth usage and speeds up page loads.

Flex Item with Percentage Height Image

A flex item containing a percentage-height image now shrinks correctly around the image (r309544). Previously, the item would not compress properly, leading to overflow.

View Transition Snapshots and Color Spaces

View Transition snapshots were incorrectly stored in sRGB, causing rendering issues with non-sRGB colors. This fix (r310012) ensures accurate color representation during transitions.

Performance: contain: layout Slowdown

Using contain: layout caused significantly slower forced layouts when all siblings created their own formatting context. The fix (r310173) restores performance in such scenarios.

Underline Splitting with Ruby Text

Underlines no longer split incorrectly when a ruby base is expanded due to long ruby text (r309356). This preserves visual presentation of East Asian text.

Color Scheme Repaint for iframes

Changing color-scheme now repaints the background of composited iframes (r309567). Previously, iframes would remain unchanged, causing mismatch with the parent page.

Popover with Absolute Positioning

Nested children of a popover element using position: absolute now render correctly (r310019). A bug previously caused them to be invisible.

Dark Mode Color Initialization

The color: initial value now resolves to the correct color in dark appearance mode (r309430). Previously, it returned the wrong default, affecting dark mode styling.

Anchor Scope with display: contents

Elements with display: contents now establish an anchor scope when using anchor-scope (r309946). This ensures that anchor positioning works as intended for such elements.

Media Query Resolution Regression

A regression where media queries could fail to resolve correctly has been addressed (r309780). This fix ensures responsive designs behave as expected.

This release underscores Apple's dedication to advancing web standards and improving developer tools. For a complete changelog, see the related WebKit changes between revisions 309287 and 310186.

Tags:

Recommended

Discover More

Exploit Kit Surge in Q1 2026: New Office and OS Vulnerabilities Drive AttacksAzure IaaS Security: Layered Defense and Secure-by-Design PrinciplesThe Gentlemen RaaS and SystemBC: A Deep Dive into a Growing Ransomware Operation and Its Proxy MalwareHow GlowReadTTS Brings Private, High-Quality Text-to-Speech to Your BrowserTrellix Source Code Leak: Hackers Accessed Internal Repositories, Company Says