Thchere

Safari Technology Preview 241: Key Updates and Fixes — Your Questions Answered

Published: 2026-05-11 12:26:03 | Category: Technology

Welcome to our Q&A breakdown of Safari Technology Preview Release 241. This update is available for macOS Tahoe and macOS Sequoia, and existing users can install it via System Settings under General → Software Update. It includes WebKit changes from revision 309287 to 310186. We've gathered the most important improvements in accessibility, animations, and CSS — plus many targeted fixes — and answered your likely questions below. Each section includes an anchor link so you can jump straight to the topic you care about.

What accessibility issues were resolved in this release?

Several accessibility bugs have been fixed to improve assistive technology support. One notable fix ensures that calling speechSynthesis.cancel() no longer removes utterances queued by later speechSynthesis.speak() calls, so screen readers can maintain proper speech queues (issue 309349). Another correction addresses incorrect bounding boxes for MathML table rows and cells, making math content more navigable (309640). Additionally, comboboxes now correctly forward focus to their aria-activedescendant, allowing assistive tools to interact with list items (309641). Finally, the attribute aria-owns is now properly respected when computing accessible names from element content, meaning custom ownership relationships are recognized by accessibility APIs (310020). These changes collectively enhance the browsing experience for users relying on voice or keyboard navigation.

Safari Technology Preview 241: Key Updates and Fixes — Your Questions Answered
Source: webkit.org

How does the animation-fill-mode fix affect viewport-based units?

Previously, when you applied animation-fill-mode to an element that used viewport-relative units (like vw or vh), the fill state did not update after resizing the viewport. This meant that animations could appear frozen or misaligned after a window resize. With fix 310007, the fill mode now correctly recalculates viewport-based units whenever the viewport dimensions change. For example, if you have a fade-in animation that sets the final opacity using a viewport-based height, resizing the window will now update that value instead of keeping the initial computed size. This ensures consistent visual behavior across different screen sizes and during responsive design testing. Developers can rely on animation fill modes to maintain the intended end state without unexpected clipping or layout shifts.

What new CSS capabilities are introduced in this release?

Two major CSS features have been added. First, the stretch keyword is now supported in box sizing properties, specifically width, height, min-width, min-height, max-width, and max-height (309405). This allows elements to fill the available space without needing explicit percentages, simplifying responsive layouts. Second, CSS scroll anchoring has been stabilized (310113). Scroll anchoring prevents the page from jumping as content above the viewport loads or changes, which is especially useful for infinite scroll feeds and progressive loading. When enabled, the browser maintains a stable scroll position by tracking the position of a scroll anchor element. This feature is now considered stable and ready for production use, reducing user disorientation during dynamic content updates.

Which rendering and layout fixes were applied?

Several bugs have been squashed to make pages render as intended. The line separator character (U+2028) now behaves as a forced line break per the CSS specification, improving text formatting in pre-formatted content (309701). On macOS, outline-offset for outline: auto is no longer inflated, so focus outlines appear at the correct distance (309812). font-family serialization now preserves quotes around family names that match CSS-wide keywords or generic families, avoiding confusion between keyword values and custom fonts (309959). A fix also prevents downloading a font whose unicode-range doesn’t cover any characters in the document, saving bandwidth (309360). Additionally, a flex item containing a percentage-height image now shrinks correctly around that image (309544). A performance improvement addresses contain: layout where forced layouts were significantly slower when all siblings created their own formatting context (310173). Lastly, underlines no longer split when a ruby base is expanded due to long ruby text (309356).

What visual and color-related issues were resolved?

This release tackles several color and rendering inconsistencies. View Transition snapshots were previously stored in sRGB incorrectly, causing color shifts for non-sRGB colors like Display P3; this is now fixed (310012). Changing color-scheme now repaints the background of composited iframes, ensuring they update visually (309567). Nested children of a popover element using position: absolute now render correctly (310019). The color: initial property resolved to the wrong color in dark appearance mode — for example, initial black becoming white — which has been corrected (309430). An element with display: contents now establishes an anchor scope when used with anchor-scope, enabling CSS anchor positioning on its descendants (309946). Finally, a regression that caused media queries to fail resolving correctly has been fixed, so responsive designs work reliably (noted as a fix).

Are there any other notable changes in this release?

Beyond the categories above, the update includes a broad range of under-the-hood stability improvements. For instance, the viewport resizing behavior for animations has been fine-tuned (as covered in the animation question). The team also addressed edge cases where the anchor-scope property interacted incorrectly with display: contents. While not every individual fix is listed here, you can refer to the full WebKit changelog for all 90+ commits between revisions 309287 and 310186. If you encounter specific issues, updating to this release is recommended — many of the fixes target recent regressions reported by web developers. As always, feedback helps shape future releases, so test your projects and report any new problems you find.