Safari Technology Preview 241: Accessibility, CSS, and Animation Fixes & Features
Safari Technology Preview 241 brings key accessibility fixes, CSS improvements including scroll anchoring, and animation fixes for viewport units.
Introduction
Safari Technology Preview Release 241 is now available for download on macOS Tahoe and macOS Sequoia. If you already have the preview installed, you can update it in System Settings under General → Software Update. This release brings a host of improvements and bug fixes derived from WebKit changes between revisions 309287 and 310186. The updates span accessibility, animations, and CSS—addressing both new capabilities and nagging issues that developers and users may have encountered.

Accessibility Improvements
Resolved Issues
- Speech synthesis queue handling: Fixed a problem where calling
speechSynthesis.cancel()would incorrectly remove utterances queued by subsequentspeechSynthesis.speak()calls. This ensures that cancellation only affects the current utterance without wiping out pending speech. - MathML bounding boxes: Corrected inaccurate bounding boxes for MathML table rows and cells, improving assistive technology interactions with mathematical content.
- Combobox focus forwarding: Resolved an issue where comboboxes failed to forward focus to their
aria-activedescendant, preventing screen readers and other assistive tools from accessing list items within the combobox. - Accessible name computation with aria-owns: Fixed a bug where the
aria-ownsattribute was not respected when computing the accessible name from element content, which could cause missing or incorrect labels.
Animation Enhancements
Resolved Issues
- Viewport-based units in animation-fill-mode: Corrected an issue where
animation-fill-modedid not correctly apply viewport-based units after the viewport was resized. This ensures that animations usingvh,vw, or similar units update smoothly during resizing.
CSS Updates and Fixes
New Features
- Stretch keyword in box sizing: Added support for the
stretchkeyword in box sizing properties, aligning with the latest CSS specifications. - CSS scroll anchoring (stable): Introduced stable support for CSS scroll anchoring, which prevents unexpected page jumps when content loads above the user's viewport. This feature helps maintain scroll position during dynamic content changes.
Resolved Issues
- Line separator rendering: Fixed an issue where U+2028 LINE SEPARATOR was not rendered as a forced line break per the CSS specification—now it behaves correctly.
- Outline offset inflation: Corrected an inflation effect where
outline-offsetwas wrongly increased foroutline: autoon macOS, making outlines appear as specified. - Font-family serialization: Improved font-family serialization to preserve quotes around family names that match CSS-wide keywords or generic families, preventing parsing errors.
- Unnecessary font downloads: Fixed a bug where a font was downloaded even though no characters in the document fell within its
unicode-range, saving bandwidth and improving performance. - Flex item with percentage-height image: Resolved an issue where a flex item containing a percentage-height image did not shrink correctly around the image, causing layout distortion.
- View Transition snapshots color space: Corrected storage of View Transition snapshots, which were incorrectly kept in sRGB, causing rendering issues with non-sRGB colors. Now they use the proper color space.
- contain: layout performance: Fixed a performance regression where
contain: layoutcaused significantly slower forced layouts when all siblings created their own formatting context—reducing layout time for complex pages. - Underline splitting with long ruby text: Addressed an issue where underlines were split incorrectly when a ruby base was expanded due to long ruby text, improving text decoration consistency.
- Background repaint for composited iframes on color-scheme change: Fixed a visual glitch where changing
color-schemedid not repaint the background of composited iframes, ensuring seamless theme transitions. - Nested children in popover with position: absolute: Resolved a bug where nested children of a popover element failed to render when using
position: absolute, improving popover content visibility. - color: initial in dark mode: Corrected how
color: initialresolved in dark appearance mode, which previously resulted in the wrong color. - display: contents and anchor-scope: Fixed an issue where an element with
display: contentsdid not establish an anchor scope when usinganchor-scope, affecting anchored positioning. - Media query regression: Fixed a regression where media queries could fail to resolve correctly under certain conditions (exact context unspecified in the log).
For a complete list of changes, refer to the WebKit changelog. The Safari Technology Preview continues to be an excellent testing ground for upcoming Safari features—download or update today to take advantage of these fixes and enhancements.