Safari 技术预览版 163 发布说明

Safari 技术预览版 163 现已开放下载,适用于 macOS Monterey 12.3 或更高版本以及 macOS Ventura。如果您已安装 Safari 技术预览版,可在 macOS Monterey 的“系统偏好设置”中的“软件更新”面板,或 macOS Ventura 的“系统设置”中“通用”→“软件更新”下进行更新。

此版本包含 WebKit 在 258383@main…259548@main 之间的更改。

网页检查器

  • 通用
    • 修复了网页检查器无法记住其所附着的窗口侧边的问题 (259320@main)
    • 修复了在使用“台前调度”时,未停靠的网页检查器窗口被放置在其检查的窗口之外的不同窗口组中的问题 (258672@main)
  • 元素选项卡
    • 修复了“字体”详细信息侧边栏面板中 ITAL 变体轴滑块显示 NaN 值的问题 (259351@main)
    • 修复了如果元素被“显示所有节点”按钮隐藏,则“检查元素”无法在 DOM 树中显示所选元素的问题 (258805@main)
  • 时间线选项卡
    • 检查不支持屏幕截图时间线的目标时禁用该时间线 (259326@main)

瀑布流布局

CSS 自定义属性

  • 增加了涉及根样式的依赖循环处理 (258985@main)
  • 增加了对涉及多个循环的复杂自定义属性循环的检测 (259506@main)
  • 增加了对转换函数中计算依赖项的处理 (259353@main, 259298@main)
  • 更改了影子树中的规则以被忽略 (258880@main)
  • 更新了包含 var() 的 CSS 自定义属性,使其在引用的属性被动画化时同步更新 (258786@main)
  • 修复了在 registerProperty 中使用非通用语法且未提供 initialValue 时应抛出错误的问题 (258909@main)
  • 修复了“<color> | <color>+”以匹配“yellow blue”的问题 (259166@main)
  • 确保当其他过渡 CSS 属性与更长的项目列表一起使用时,transition-property 值会填充自定义属性 (258770@main)

:has() 伪类

  • 增加了对 :buffering:stalled 伪类的失效支持 (258891@main)
  • 使 :has() 要求选择器列表中的所有选择器都是有效选择器 (258712@main)

媒体查询 Level 4

CSS

  • 增加了对 leading-trim 的支持 (258766@main)
  • 增加了对 color-mix() 使用 currentcolor 的支持 (258970@main, 259145@main)
  • 修复了 box-shadow 在行内元素上绘制不正确的问题 (258923@main)
  • 使 CSS 动画参与级联 (258514@main)
  • 修复了 :nth-child() 选择器列表中类名失效的问题 (258917@main)
  • 修复了聚焦带有滚动捕捉的元素时不总是捕捉到该元素的问题 (259381@main)
  • 修复了 font-face src 列表在组件失败时提前失败的问题 (258749@main, 258870@main)
  • 修复了 font-face src local() 使 CSS 全局关键字失效的问题 (258695@main)
  • 修复了 text-decoration-thickness 属性更改时总是触发重绘的问题 (258641@main)
  • 修复了 overscroll-behavior: none 在页面过小无法滚动时阻止过度滚动的问题 (259227@main)
  • 修复了 appearance: slider-vertical 仅适用于范围输入的问题 (258924@main)
  • 修复了 window.matchMedia() 中初始空白字符会破坏查询的问题 (259357@main)
  • 修复了断开连接的 <fieldset> 元素有时错误地匹配 :valid / :invalid 选择器的问题 (259422@main)
  • 移除了渐变和 color-mix() 的“指定色相”颜色插值方法 (259190@main)
  • :nth-child:nth-last-child 中,不再要求 of 和选择器列表之间有空白字符 (258703@main)

CSS Typed OM

  • 不再将 grid-row-startgrid-column-startgrid-row-endgrid-column-end 视为列表属性 (258764@main)

表单

  • 修复了 input[type=submit]input[type=reset]input[type=button] 遵守字体大小/内边距/高度并支持多行值的问题 (258754@main)

渲染

  • 增加了对零或负空间不足的防护 (258647@main)
  • 将默认斜角从 20 度更改为 14 度,以匹配其他浏览器 (258722@main)
  • 修复了下划线未按预期出现和消失的问题 (258914@main)
  • 修复了涉及双向文本时选择上的细线问题 (259537@main)
  • 修复了 translate 属性动画绘制不正确的问题 (259173@main)
  • 修复了行内内容垂直收缩时重绘不正确的问题 (259141@main)
  • 修复了通过 clip-path 隐藏的内容滚动时不会向下传播的问题 (259368@main)
  • 修复了 margin: auto 是唯一针对“侵入性浮动调整的可用宽度”解析的规则(例如,百分比值基于容器宽度)的问题 (259125@main)
  • 修复了当 overflow: clip 仅在一个轴上设置时,图片延迟加载失败的问题 (259007@main)
  • 修复了在溢出滚动内具有变换祖先的固定标题的滚动问题 (259175@main)
  • 修复了自定义伪滚动条尺寸不正确的问题 (259389@main)
  • 改进了 borderpadding 和空块内容的平衡 (259246@main)

JavaScript

  • 修复了 Atomics.waitAsync 可从主线程调用的问题 (258856@main)
  • 修复了模块脚本始终使用 UTF-8 解码的问题 (259251@main, 259261@main)
  • 修复了 toLocaleLowerCasetoLocaleUpperCase 在空字符串上不抛出异常的问题 (259242@main)
  • 进一步优化了 Number 构造函数调用 (259533@main)
  • 优化了 WebAssemblyInstance#exports (259017@main)
  • 更新了 Intl.DurationFormat 以符合更新的标准 (259317@main)

WebAssembly

  • 增加了 ref.as_non_null 指令 (259420@main)
  • 为 GC 数组和结构体增加了缺失的类型扩展 (259042@main)
  • 增加了 struct.new_canon_default (258689@main)

游戏手柄 API

  • 增加了对 vibrationActuator 的支持 (258680@main)
  • 通过功能标志增加了对“trigger-rumble”效果类型的实验性支持 (259507@main)
  • 修复了 GamepadHapticActuator.playEffect() 作用力小于 0.1 时不起作用的问题 (258874@main)
  • 修复了传递给 GamepadHapticActuator.playEffect() 的作用力值处理方式 (258988@main)
  • 使 gamepad.vibrationActuator.playEffect() 在效果参数无效时抛出错误 (258752@main)
  • 使 vibrationActuator 限制振动效果的持续时间 (258759@main)
  • 使 vibrationActuator 在其文档隐藏时停止振动 (258802@main)
  • 使 Gamepad.vibrationActuator 可与 GameController 框架协同工作 (258674@main)
  • 使 Gamepad.vibrationActuator 在游戏手柄不支持双震动时返回 null (258812@main)
  • Gamepad.vibrationActuator.type 设置为“dual-rumble” (258758@main)

Web API

  • 默认启用了自定义元素的 ARIA 支持 (258743@main)
  • 实现了 StorageManager.estimate() (258610@main)
  • 为 Web Crypto 增加了对 Ed25519 密钥的支持 (259277@main, 259489@main)
  • 更改了 queryCommandValue("stylewithcss") 始终返回空字符串 (258777@main)
  • 禁用了 DOMParser 对声明式影子 DOM 的支持 (258768@main)
  • 修复了 FileSystemSyncAccessHandleclose 函数在第二次调用时抛出异常的错误 (258736@main)
  • 修复了通过 FileSystemSyncAccessHandle 写入的数据在创建新的 FileSystemFileHandle 后消失的问题 (258876@main)
  • 修复了负阴影重绘问题 (259497@main)
  • 修复了数字输入框 input.value 超过 39 个字符时返回空字符串的问题 (258614@main)
  • 修复了从右到左制表符处理问题 (259428@main, 259460@main)
  • 修复了 Clear-Site-Data HTTP 标头遵守源分区的问题 (259466@main)
  • 修复了一个错误,即旧的 SharedWorker 通过 SharedWorkerGlobalScope.close() 终止后,新的 SharedWorker 将无法正常工作 (259228@main)
  • 修复了 HTMLSelectElement 的值设置器在存在分组选项时设置不正确值的错误 (259249@main)
  • 修复了 URL.hostname 设置器中剥离前导斜杠的问题 (259366@main)
  • 修复了 formDisabledCallback() 有时在禁用状态未改变时也被调用的错误 (259372@main)
  • 使表单自动填充除了触发 change 事件外,还触发 input 事件 (259434@main)
  • oncopyoncutonpaste 移至 GlobalEventHandlers (258390@main)
  • 移除了 <input type="range"> 上的 precision="float" 属性 (258625@main)
  • 移除了 HTMLHeadElement.profile (258397@main)
  • 移除了 HTMLPreElement.wrap (258445@main)
  • 移除了 SVGFEMorphologyElement.setRadius(radiusX, radiusY) (258733@main)
  • 移除了 HTMLFrameElement.location (259067@main)
  • 更新了内容安全策略,当标头作为 304 响应的一部分发送时生效 (258931@main)

WebGL

SVG

  • 修复了 rotate: xtransform: rotate(x) 在 SVG 中产生不同行为的问题 (258882@main)
  • 修复了 SVG textLength 问题 (258921@main)
  • 处理了 repeatDur 不是 dur 的倍数时动画冻结的问题 (259212@main)
  • 修复了 SVG 在解析颜色更改时有时不重绘的错误 (259082@main)
  • 修复了离散值动画的 keyTimes 索引计算不正确的问题 (258939@main)

滚动

  • 修复了按下空格键或 Fn+下箭头时页面滚动超过一屏的问题 (259146@main)

媒体

  • 默认启用了 AudioSession API,但功能子集有所减少 (259074@main)
  • 将媒体源 API 设置移回实验性功能 (258853@main)
  • 更改为尝试对 WebRTC HEVC 编码器使用低延迟,如果可用 (259128@main)
  • 修复了 HLS 视频有时无法达到“结束”状态且无法重新启动的问题 (259342@main)
  • 修复了使用蓝牙耳机时,MediaStreamTrack 因捕获失败而终止的问题 (259150@main)
  • 修复了 AudioBufferSourceNode.start 带有持续时间有时会失败的问题 (259234@main)
  • 修复了文本轨道代码中重复的 timeupdate 事件 (259023@main)
  • 修复了蓝牙音频输入断开连接后视频元素暂停的错误 (259415@main, 259478@main)
  • 更新了 MediaController.currentTime 以返回之前设置的位置 (259020@main)

辅助功能

  • 修复了 aria-controlsAXLinkedUIElements 而非 AXARIAControls 形式暴露的问题 (258922@main)
  • 修复了在某些网站上选择“通过 Apple 登录”时 VoiceOver 的问题 (259147@main)

WebDriver

  • 修复了 Shift 修饰键不适用于输入文本的问题 (259039@main)

Safari 网页扩展

  • 在 declarativeNetRequest API 中增加了对 setExtensionActionOptions() 的支持
  • declarativeNetRequest 规则中 isUrlFilterCaseSensitive 的默认值更改为 false
  • browser.storage.session 数据限制增加到 10MB
  • 修复了 Safari 内容阻滞器的 :has() 选择器问题 (259068@main)