Release Notes for Safari Technology Preview 16
Safari Technology Preview Release 16 is now available for download for macOS Sierra. If you are using Safari Technology Preview on OS X El Capitan, update to macOS Sierra to ensure you continue to receive updates. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 206808–207669.
URL Parser
- Enabled a faster and more standards-compliant URL parser (r207162)
Gamepad API
- Enabled the Gamepad API by default, allowing gamepads already configured for use with macOS to work on web pages using the Gamepad API (r207348)
CSS
- Supported CSS Shapes Level 1 without a
-webkit-prefix (r207630) - Fixed an issue where CSS
font-variation-settingsdid not handle uppercase axis names in variable fonts (r207581)
Media
- Made full access to the keyboard available when content is fullscreen (r207439)
- Made setting
HTMLMediaElement.volumetoNaNorInfinitythrow aTypeError(r207375) - Allowed throttling of background tabs that have media elements with no audible audio (r207338)
Fetch API
- Added support for
Requestcache mode (r207086) - Forbid redirection to non-HTTP(s) URL when in non-navigation mode (r206858)
- Ensured memory cache does not bypass redirect mode (r206994)
- Improved network data transfer to stream when the application needs it (r206857)
JavaScript
- Implemented
Intl.getCanonicalLocales(r206837) - Changed ES6 method functions to not have a
prototypeproperty (r207461) - Forbid
"use strict"directive in generator functions with non-simple parameters (r207569) - Prevented
Array.prototype.concatfrom modifying frozen objects (r207178) - Prevented
Array.prototype.slicefrom modifying frozen objects (r207226) - Prevented
JSON.parsefrom modifying frozen objects (r207341) - Handled non-function, non-undefined comparator in
Array.prototype.sort(r207235)
Web APIs
- Changed
MouseEventcoordinates to be set to 0 for simulated clicks (r207544) - Fixed an issue where
select.optionscould incorrectly return too manyoptionelements (r207181) - Made
table.deleteRow(–1)do nothing when there are no rows (r207640) - Fixed event listener order when overwriting an attribute event listener (r206889)
- Implemented
DOMPointandDOMPointReadOnly(r207420) - Implemented
DOMRectandDOMRectReadOnly(r207438) - Added support for
"CapsLock"modifier inKeyboardEvent.getModifierState()(r206828) - Added support for
window.navigator.languagesattribute (r207021) - Updated
window.navigator.languageto no longer return an all lowercase string (r206949) - Updated
HTMLSelectElementto ignore nested optgroup elements when recalculating (r207276) - Ensured a
toggleevent is fired wheneverdetails.openis changed (r207514)
Web Inspector
- Fixed Timeline UI updating while recording in remote Web Inspector (r207466)
- Exposed computed tree node and heading level for accessibility (r207553)
- Added toggles for debugger pauses at
console.assertfailures (r207444) - Prevented changing content view when dragging to delete a breakpoint (r207359)
- Improved debugger highlight when inside of
getterandsettercalls (r207358) - Improved debugger highlight when pausing on the first statement of a program (r207227)
- Improved debugger highlight for dot- and bracket-expressions in
ifstatements (r207312) - Removed line flash while stepping to prevent distraction (r207165)
- Prevented CSS autocompletion from adding extra unexpected characters (r207481)
- Corrected syntax highlighting for mixed case CSS values like
translateX(r207489) - Fixed an issue when pasting into a CSS rule selector (r206888)
Accessibility
- Implemented
prefers-reduced-motionmedia query (r207173) - Set
<figcaption>to provide the accessible name for other content inside the<figure>(r206943) - Exposed the invalid status for input types with an invalid input value (r207035)
- Exposed the
placeholderattribute when both theplaceholderandaria-placeholderattributes are set (r207014) - Improved accessibility support for
<summary>elements (r207314) - Mapped the
<output>element to status role and exposed its text content as a title (r207429) - Added a new role for the
<mark>element and exposed the role description (r207583) - Improved the
<meter>element to describe the status of the value (r207540) - Provided more detailed role description for input types exposed as standard text fields (r207401)
Shadow DOM
- Fixed updating styles for stylesheets that change in a shadow tree (r206880)
Bug Fixes
- Fixed an issue where Safari Technology Preview would hang when waking from sleep
- Fixed an issue where the contents of a tab would remain onscreen briefly after automatically switching to a new tab when opening a
target=_blanklink - Changed “Download Linked File” context menu action to use the value of the
downloadattribute as the filename (r207648) - Changed “Download Linked File As…” context menu action to use the value of the
downloadattribute as the suggested filename - Fixed a bug where a keyframe animation on
bodycould trigger high CPU usage (r207372) - Fixed an issue that caused the keyboard to remain visible when swiping back on twitter.com (r207486)