Safari Technology Preview 240: Key Questions Answered

By ✦ min read

Safari Technology Preview 240 is now available for macOS Tahoe and macOS Sequoia. If you already have it installed, you can update via System Settings > General > Software Update. This release includes WebKit changes from 308418@main to 309286@main. Below, we answer your top questions about the new features and fixes.

What’s new in CSS for Safari Technology Preview 240?

This release adds support for the revert-rule CSS keyword. It lets you roll back the cascade as if the current style rule never existed, giving you more control over style overrides (308733@main). Several CSS bugs have also been fixed. On macOS, custom CSS scrollbars were sometimes cut off, and the scrollbar corner rect was sized incorrectly—both issues are now resolved (309119@main). Additionally, the hanging-punctuation property now supports apostrophes (U+0027) and quotation marks (U+0022) as hangable characters (308597@main). It also allows ideographic space (U+3000) to hang when used with the first value (308605@main). These fixes ensure more consistent typography and styling across web pages.

Safari Technology Preview 240: Key Questions Answered
Source: webkit.org

What editing issues were resolved in this release?

Three editing bugs have been fixed. First, the Font Picker style selection no longer becomes unusable after changing fonts while editing multiple lines of text (308562@main). Second, emoji images are now preserved correctly when copying and pasting content between different websites, so your emojis won’t disappear or break (309176@main). Third, text selection has been improved: selecting absolutely-positioned content inside an element with user-select: none no longer causes the selection to jump unexpectedly (308451@main). These fixes enhance the editing experience, especially for complex layouts and cross-site content copying.

How does this release improve form tabbing behavior?

There was an annoying issue where keyboard tabbing position would be lost when a focused button became disabled. This caused focus to jump to the beginning of the page, disrupting navigation. With this release, the problem is fixed (308991@main). Now, if a button is disabled while focused, the tab order remains intact, and the next focusable element receives focus correctly. This makes form filling and navigation smoother, especially in dynamic interfaces where buttons may change state.

What HTML parsing improvements are included?

Two HTML parsing fixes have been implemented. First, the viewport <meta> parsing now correctly treats form feed characters as ASCII whitespace, aligning with the HTML specification (309044@main). Second, pixel-length margin attributes on <body>, <iframe>, and <frame> elements are now parsed correctly (308526@main). Previously, these attributes could be misread, leading to layout inconsistencies. These changes improve compatibility with standards and ensure that pages render as intended.

What media decoding and support fixes were made?

Several audio and video decoding issues have been resolved. WebM audio files with more than two channels now decode successfully (308749@main). MediaCapabilities.decodingInfo() incorrectly reported VP8 in WebM as unsupported; this has been fixed (308789@main). Additionally, MP4 files containing Opus audio tracks can now be decoded using decodeAudioData (309140@main). FairPlay-protected VP9 content also now plays correctly via MediaSource (308622@main). These fixes expand media format support and ensure smoother playback for a wider range of content.

What media playback and interaction issues were resolved?

Five playback and interaction bugs have been addressed. Live Text selection is now available on paused fullscreen videos, so you can interact with text in video frames (308498@main). Autoplay no longer proceeds before default text tracks finish loading, preventing missing captions or subtitles (308796@main). The currentTime getter now returns defaultPlaybackStartPosition when no media player exists (308654@main). An HTMLMediaElement now fires a timeupdate event when resetting the playback position during media load, as required by the spec (308695@main). Finally, the media player preload attribute behavior has been fixed to align with expectations.

Tags:

Recommended

Discover More

Revolutionizing AI Networking: 8 Key Insights into the NVIDIA Spectrum-X and MRC BreakthroughVideoLAN Launches Dav2d: Open-Source AV2 Decoder Released Despite Draft SpecSupply Chain Under Siege: A Comprehensive Guide to Preventing Hacker-Enabled Cargo TheftChina-Linked APT Silver Fox Targets India and Russia with Tax-Themed Phishing CampaignReact Native 0.85: Revamped Animation System, Enhanced Developer Tools, and Key Updates