Safari Technology Preview 16 发布说明

Safari Technology Preview Release 16 现在已开放下载,适用于 macOS Sierra。如果您正在 OS X El Capitan 上使用 Safari Technology Preview,请更新到 macOS Sierra 以确保您可以继续接收更新。如果您已经安装了 Safari Technology Preview,可以从 Mac App Store 的“更新”选项卡进行更新。此版本涵盖 WebKit 修订版本 206808–207669

URL 解析器

  • 启用更快、更符合标准的 URL 解析器 (r207162)

Gamepad API

  • 默认启用 Gamepad API,允许已配置在 macOS 上使用的游戏手柄在使用了 Gamepad API 的网页上工作 (r207348)

CSS

  • 支持不带 -webkit- 前缀的 CSS Shapes Level 1 (r207630)
  • 修复了 CSS font-variation-settings 在可变字体中无法处理大写轴名称的问题 (r207581)

媒体

  • 在内容全屏时提供对键盘的完全访问 (r207439)
  • HTMLMediaElement.volume 设置为 NaNInfinity 时抛出 TypeError (r207375)
  • 允许对包含无声音媒体元素的后台标签页进行节流 (r207338)

Fetch API

  • 增加了对 Request 缓存模式的支持 (r207086)
  • 在非导航模式下禁止重定向到非 HTTP(s) URL (r206858)
  • 确保内存缓存不会绕过重定向模式 (r206994)
  • 改进了网络数据传输,使其在应用需要时进行流式传输 (r206857)

JavaScript

  • 实现了 Intl.getCanonicalLocales (r206837)
  • 修改了 ES6 方法函数,使其不具有 prototype 属性 (r207461)
  • 禁止在具有非简单参数的生成器函数中使用 "use strict" 指令 (r207569)
  • 阻止 Array.prototype.concat 修改冻结对象 (r207178)
  • 阻止 Array.prototype.slice 修改冻结对象 (r207226)
  • 阻止 JSON.parse 修改冻结对象 (r207341)
  • 处理了 Array.prototype.sort 中的非函数、非 undefined 比较器 (r207235)

Web API

  • 将模拟点击的 MouseEvent 坐标设置为 0 (r207544)
  • 修复了 select.options 可能错误地返回过多 option 元素的问题 (r207181)
  • 在没有行时,让 table.deleteRow(–1) 不执行任何操作 (r207640)
  • 修复了覆盖属性事件监听器时的事件监听器顺序问题 (r206889)
  • 实现了 DOMPointDOMPointReadOnly (r207420)
  • 实现了 DOMRectDOMRectReadOnly (r207438)
  • KeyboardEvent.getModifierState() 中增加了对 "CapsLock" 修饰符的支持 (r206828)
  • 增加了对 window.navigator.languages 属性的支持 (r207021)
  • 更新了 window.navigator.language,使其不再返回全小写字符串 (r206949)
  • 更新了 HTMLSelectElement,使其在重新计算时忽略嵌套的 optgroup 元素 (r207276)
  • 确保在 details.open 更改时触发 toggle 事件 (r207514)

Web Inspector

  • 修复了远程 Web Inspector 中录制时时间线 UI 更新的问题 (r207466)
  • 为辅助功能暴露计算后的树节点和标题级别 (r207553)
  • 增加了在 console.assert 失败时调试器暂停的开关 (r207444)
  • 拖动删除断点时防止内容视图更改 (r207359)
  • 改进了在 gettersetter 调用中的调试器高亮显示 (r207358)
  • 改进了在程序第一条语句处暂停时的调试器高亮显示 (r207227)
  • 改进了 if 语句中点表达式和括号表达式的调试器高亮显示 (r207312)
  • 移除了单步执行时的行闪烁,以避免干扰 (r207165)
  • 防止 CSS 自动补全添加额外的意外字符 (r207481)
  • 修正了 translateX 等混合大小写 CSS 值的语法高亮显示 (r207489)
  • 修复了粘贴到 CSS 规则选择器时的问题 (r206888)

辅助功能

  • 实现了 prefers-reduced-motion 媒体查询 (r207173)
  • 设置 <figcaption><figure> 内部其他内容提供可访问名称 (r206943)
  • 暴露输入值无效的输入类型的无效状态 (r207035)
  • 当同时设置了 placeholderaria-placeholder 属性时,暴露 placeholder 属性 (r207014)
  • 改进了对 <summary> 元素的辅助功能支持 (r207314)
  • <output> 元素映射到状态角色,并将其文本内容暴露为标题 (r207429)
  • <mark> 元素增加了一个新角色并暴露了角色描述 (r207583)
  • 改进了 <meter> 元素以描述值的状态 (r207540)
  • 为作为标准文本字段暴露的输入类型提供了更详细的角色描述 (r207401)

Shadow DOM

  • 修复了影子树中变化的样式表更新样式的问题 (r206880)

错误修复

  • 修复了 Safari Technology Preview 从睡眠中唤醒时挂起的问题
  • 修复了在打开 target=_blank 链接时自动切换到新标签页后,原标签页内容短暂保留在屏幕上的问题
  • 将“下载链接文件”上下文菜单操作更改为使用 download 属性的值作为文件名 (r207648)
  • 将“将链接文件另存为…”上下文菜单操作更改为使用 download 属性的值作为建议文件名
  • 修复了 body 上的关键帧动画可能导致高 CPU 使用率的错误 (r207372)
  • 修复了在 twitter.com 上向后滑动时键盘仍然可见的问题 (r207486)