Safari 技术预览 140 发布说明

Safari 技术预览版 140 现已开放下载,适用于 macOS Big Sur 和 macOS Monterey。如果您已安装 Safari 技术预览版,可以在 macOS 的“系统偏好设置”的“软件更新”面板中进行更新。

此版本涵盖 WebKit 修订版 287834-288438

注意:此版本中“标签页组”不同步。

Web 检查器

  • 元素面板
    • 使“样式详细信息”侧边栏中的 CSS 对齐控件可访问 (r288385)
  • 源面板
    • 添加了上下文菜单项,用于为脚本启动的资源创建 URL 断点 (r288029)
    • 修复了完全黑盒化的堆栈跟踪,使其显示正确的顶部调用帧 (r288266)
  • 时间线面板
    • 为较新的 CSS 动画、CSS 过渡和 Web 动画事件添加了更好的名称 (r287945)

:has() 伪类

  • 添加了对 :has(:not(foo)) 的支持 (r288303)
  • 避免了重复 DOM 突变导致的复杂样式失效 (r288012, r287973)
  • 修复了计算特异性 (r288196)
  • 更改为不允许嵌套 :has() (r288111)
  • 更改为忽略 :has() 内部的 :visited (r288304)

CSS

  • 添加了对 flex-basis 中固有尺寸的支持 (r288113)
  • 添加了对 flex 简写属性中固有尺寸的支持 (r288184)
  • 添加了对“缺失”/“无”颜色分量的支持 (r288143)
  • 添加了通过 color-mix() 插值包含“缺失”/“无”分量的颜色的支持 (r288427)
  • 添加了对分层 @import 规则预加载的支持 (r288099)
  • 更改了 CSS 渐变的插值模式,如果停止点中使用任何非旧版颜色语法的颜色,则默认使用 OKLab (r288071)
  • 更改为仅将自动最小块尺寸宽高比规则应用于非替换元素 (r288003)
  • 修复了 ::backdrop 伪元素以响应关联的元素事件监听器 (r287878)
  • 修复了 CSS color() 函数,使其不将通道限制在 0-1 范围内 (r287838)
  • 修复了当交叉轴固有尺寸大于视口时,带有 aspect-ratio 的 flex 项目的高度问题 (r287976)
  • 修复了将分布式自由空间舍入为弹性轨道的问题 (r287977)
  • 修复了 position: fixed 层,如果所有子元素都超出屏幕,则不分配后备缓冲区 (r288429)
  • 修复了在 ::marker 上设置 content: normal 后,计算样式返回解析值的问题 (r288054)

Web API

  • 为 Service Workers 添加了对 FetchEvent.handled API 的支持 (r287915)
  • 启用了 form.requestSubmit() (r288179)
  • 修复了无论 Timing-Allow-Origin 如何都暴露 nextHopProtocol 的问题 (r288219)
  • 修复了 shadow DOM 中的 input.labels 问题 (r288162)
  • 修复了接受颜色字符串作为参数的 canvas 函数,使其支持 CSS 支持的所有语法 (r288134)
  • 实现了 HTMLScriptElement.supports(type) 方法 (r287996)
  • 改进了 Service Worker FetchEvent.resultingClientId 的计算 (r288201)

Web 动画

  • 添加了对 animation-composition CSS 属性的支持 (r288433)
  • 更改了 CSS 动画的 getKeyframes(),使其不为关键帧使用计算样式 (r287835)
  • 修复了两个空转换列表动画期间的插值,使其始终产生“none” (r287917)

JavaScript

  • 修复了 Date 函数的参数强制转换 (r288066)
  • 放宽了 Date.parse 要求 (r288411)

WebAssembly

  • 修复了 WebAssembly.Table 的各种问题 (r288064)
  • 修复了 WebAssembly.Exception 中的各种问题 (r288065)
  • 修复了 WebAssembly.Global 中“anyfunc”的类型名称 (r288049)

Dialog 元素

  • 在用户代理样式表中为模态对话框添加了 visibility: visible (r288233)
  • 修复了模态对话框的一些溢出和剪裁问题 (r288267, r287845)

HTML

  • 修复了 HTMLTextArea 的 placeholder 文本中对换行的支持 (r288005)
  • 修复了在插入选定的 <option> 时保持 select 元素的选中状态的问题 (r288174)
  • 防止了 contenteditable 锚点卡住的问题 (r288420)

媒体

  • 修复了通过 <video> 元素上传 getUserMedia 流到 gl.texImage2D 失败的问题 (r288025)
  • 修复了 MediaStream canvas.captureStream() 播放问题 (r288435)
  • 修复了 HTML canvas 元素上竖屏视频播放问题 (r288053)
  • 修复了某些设备上从远程对等方没有 VP9-SVS 视频流的问题 (r287928)
  • 修复了“添加到联系人”菜单项 (r287959)
  • 收紧了 getUserMedia 的焦点检查 (r288087)

WebAuthn

  • 允许所有依赖方在没有用户手势的情况下单次使用 WebAuthn (r287957)

辅助功能

  • 将使用 role="button" 的切换按钮作为表单控件暴露 (r288100)
  • 改进了 ARIA 树中对 aria-owns 的支持 (r288117)

内容安全策略

  • 改进了多策略处理 (r288132)

隐私

  • 修复了一个网站可能跟踪敏感用户信息的问题 (r288078)

SVG

  • 修复了引用 SVG 滤镜的 filterRegionoutsets 的计算问题 (r288183)
  • 修复了引用 SVG 滤镜总是为其结果使用 sRGB 颜色空间的问题 (r287982)

滚动

  • 修复了有时在使用内置触控板后无法滚动的问题 (r287997)

Web 扩展

  • 修复了在空标签页上调用 browser.webNavigation.getAllFrames() 时崩溃的问题
  • 修复了如果匹配的每站点权限更改为“拒绝”,则移除标签页的“活动标签页权限”的问题
  • 修复了服务工作者后台脚本错误在每次成功加载后都会重置的问题