来了来了! NVDA2024.1和2024.2 更新简报

写在前面:NVDA 的更新策略

NV Access 在本周发布了 NVDA-2024.2,本年度的第二个大版本更新。当然,2024.1 的更新盘点虽迟但到,在本文中我将会把这两个大版本的重要更新给你掰扯明白。

在开始之前我想给你分享一下关于 NVDA 的更新策略,NVDA 的更新遵循版本发布计划——通常每年四个大版本,每周或每天如果有新功能合并,会由自动化流程发布若干个开发版,提供给社区用户试用便于第一时间发现严重问题。

源于 NVDA 的开放性,如果你愿意,你可以看到每一行代码更改,NVDA 绝对没有“闭门憋大招”之说,所以笔者撰写更新盘点并非“放大招”,原因无非以下几点:一是介绍新特性及其可能的用法,起到抛砖引玉的作用;二是对社区用户普遍关心的一些问题进行回应,比如影响社区用户的某些 Bug 是否已得到修复;三是介绍这个优秀的开源项目给感兴趣的伙伴,发现潜在的贡献者。

2024.1: 不再支持 Windows7,新增原生选择模式,手动朗读模式

每年的第一个版本,如 2024.1 是打破插件兼容性的版本——插件需要更新以与该版本兼容。随着 2023.2 引入了插件商店功能,打破兼容性的升级成本变得非常低,你只需要在更新新版NVDA,之前转到插件商店将插件升级到新版即可,为了给插件作者流出一些时间去适配,往往我们建议在每年的第一个版本发布后延迟一些时间等自己需要的插件完成适配后再选择升级,在此期间可以关注社区动态第一时间获得最新消息。

2024.1 最大的一项工作是将 Python 版本升级到 3.11,从安全性和稳定的角度而言这是必须的,随着该项举措的实施,也就意味着从 2024.1 版本开始 NVDA 不再支持 Windows7和 Windows8 操作系统,这是 Python 的兼容性要求。

另外值得关注的一项更新特性是原生选择模式,何为“原生选择”?简单讲一点背景知识: NVDA 将某些内容呈现给用户实际上是构建了一个虚拟文档,这个虚拟文档可以呈现复杂信息,能够接收用户交互,这是确保我们能够在网页中使用若干单键导航手势的大前提,实际上 NVDA 将这套依靠浏览模式交互的虚拟文档应用到了很多场景,例如 Microsoft Word、Outlook、PDF 阅读器等,确保了交互特性的统一自洽。如果想在虚拟文档中完全操作网页内容,必然需要一些桥梁去完成这一点,比如选择网页文本,目前我们在个别浏览器上缺少一个合适的桥梁,所以选择文本可能会丢失格式信息,比如你希望完整复制网页上一章表并将其粘贴到 Word 就会存在挑战。现在不一样了,FireFox 浏览器、Microsoft Word 和 outlook 都支持了浏览模式下的原生选择,你可以随心所欲的复制表格或字体排版信息,对于 Chromium 系浏览器,让我们继续期待吧。

本版还增加了一种新的朗读模式,被称为 speech on demand 我们将其翻译为“手动朗读”模式,开启此模式后,NVDA 不会自动朗读信息(例如在光标移动时),但仍会响应明确朗读信息的指令(例如读出窗口标题、读出时间、读出当前聚焦的对象)。有以下可能的受众:低视力用户或盲文点显器用户多数时候不需要朗读所有可见内容,但在某些时候又需借助屏幕阅读器的功能去及时获取个别信息;在开会或者听音乐的时候,我们对自己的操作场景有一定的预期和熟练度,不太希望实时朗读,在需要的时候读出必要信息即可,那么新增的“手动朗读”模式在这些场景就非常合适。该模式可以通过 NVDA+S 切换到,另提一句, NVDA+S 切换语音模式中的选项可以自定义了,对于你不需要的模式可以在语音设置面板中将其排除掉,据笔者所知,有些用户是不喜欢“提示音”模式的,所以在先前有个插件用于去除提示音模式,现在这个插件可以扔掉啦!

对于 NVDA 的插件商店,很多用户希望能够支持对插件的批量操作,如安装/卸载/禁用/启用,在本版中支持了这个操作。

你可以在插件商店的插件列表里按住 Shift 的同时案上下光标键以选择相邻的插件,也可以在按住 Ctrl+Alt 的同时案上下光标导航到相应插件,案空格键选中或取消选中相应插件,在选中多个插件之后案回车键即可弹出批量操作菜单,注意, Ctrl+Alt+空格的快捷键在微软拼音输入法下有可能无效,这是微软拼音的问题,已反馈给微软,但迟迟未能修复。

批量操作在很多场景都有用,例如在排除某些由插件引起的故障时,可以使用二分法快速找到导致问题的插件。

有一项调整有必要跟老用户分享一下:原本 NVDA+Ctrl+S 的语音合成器对话框中包含音频闪避和输出设备选择,现在,这两项设置被移动到了专有的音频设置面板 Ctrl+NVDA+U,尤其在 2024.2 中音频设置面板得到了充分的利用。

2024.1中其他的更新和改进集中于 Microsoft Office、LibreOffice、盲文点显器以及音频输出方面。

对于办公软件的支持 NVDA 一直走在前列,相信这一点是毋庸置疑的。办公软件的需求和功能多样,也就相当考验屏幕阅读器开发者的设计功底。笔者认为 NVDA 在办公软件方面的完善支持有两点不可忽视:一是社区贡献——众多的修复和特性支持来自于社区贡献者。二是 NV Access 挑起了一个辅助技术开发商的重担——与微软和其他厂商在接口支持方面始终保持着密切的沟通,当然也不乏代码贡献。从这个角度讲,其他屏幕阅读器开发商是应当学习和借鉴,至少是应当感谢 NV Access 和开源社区的。

LibreOffice 是一款免费开源且功能强大的办公软件,它支持 .docx、.xlsx、.pptx 等格式。在笔者看来,对于简约派用户来说,这款办公套件是非常合适的选择。2024年了,实在没有必要为了简约去用二十年前的 Office 2003 啦,这何尝不是 NVDA 带给我们的另一种可能呢?

关于 LibreOffice 的更多介绍可以参考 2022.3 的更新简报“NVDA2022.3更新简报:读屏新特性靠大家,Libre Office 是个啥?”

盲文支持已经无需多言,NVDA 几乎每次升级都少不了对盲文的改进——添加新型号的支持,更新盲文表等。同样,很大一个原因是有受众,据笔者所知,社区里有视听障碍者,且同样也是 NVDA 的代码贡献者。

2024.2: 单键导航遥遥领先,声音分离好用又好玩

最近几年的更新日志几乎全部是笔者翻译的,从更新盘点到日志翻译,乃至每个功能的增加/调整,偶尔也会参与 Code Review(代码评审)。作为一个深度参与者和观察者,我的感受是,社区贡献让这个项目变得越来越好了,尤其是 2024.2 这一点再一次得到了充分的体现。

声音分离:重要内容不丢失,开会摸鱼两不误

这个版本增加了一个名为“声音分离”的新特性,备受社区用户的青睐。在此之前该功能需要借助单独的插件去实现,且功能较为单一。简单讲,可以将 NVDA 的声音拆分到一个声道(例如左侧),而其他所有应用程序的声音则放在另一个声道(例如右侧)。一句话介绍就是这么简单,但自定义性很高,你也可以保持其他应用的声音不变,让NVDA 的声音放在单独一侧,亦或完全反过来。

可能的应用场景:当你正在欣赏带字幕的影片时,除了 NVDA 朗读的字幕内容以外,你更希望听到这不影片精心设计的声音效果,此时只需将 NVDA 的声音分离到单独一侧,从而弱化 NVDA 的存在感;当你在开一个并不重要的在线会议时,你可能需要用屏幕阅读器同时做别的事情,此时可以将会议软件的声音分离到单独一侧,实现声音上的主次分明。

你可以按 NVDA+Alt+S 循环切换声音拆分模式,默认情况下,循环序列中只有三种拆分模式,你可以在 NVDA+Ctrl+U 的音频设置面板中将你需要的模式添加到循环序列当中。

另外这个版本增加了保持设备唤醒的功能,解决在个别设备上 NVDA 的声音被截断,呈现出“吃字”、卡顿的现象,尤其是个别蓝牙耳机/音箱。同样,可以在音频设置面板中调节语音朗读后保持音频设备唤醒的时间,默认是 30 秒,30秒之后,设备会恢复默认行为,进入休眠状态从而达到省电的效果,对于绝大多数场景来说这个数值是够用的,不建议修改。

再此之前,很长的一段时间内 NVDA 需要安装“蓝牙音频”(BluetoothAudio)插件或“唤醒扬声器”(WakeSpeaker)插件来解决该问题,从 2024.2 版本起,这两款插件或具有类似功能的插件都可以卸载掉啦!

同样是浏览模式,同样是单键导航,NVDA 强在哪?

“多”、“快”、“稳”。我将 NVDA 的浏览模式特点概括为以上三个字。

多,有两个层面的意思,第一浏览模式覆盖的场景多,如Office、各大浏览器、、Outlook、Adobe Acrobat / 福昕 PDF 阅读器,以及支持内嵌网页的应用等;进而带来了第二大福音——支持众多的单键导航(快速跳转到特定类型的元素)。除了我们熟知的标题、表格、列表等单键导航命令以外,在这个版本 NVDA 又增加了 9 个单键导航命令,分别是文本段落、插图、垂直对齐的段落、菜单项、切换按钮、进度条、数学公式、相同样式的文本、不同样式的文本。

快,说到 NVDA 的响应速度/性能,不可否认一直在进步,但客观的讲,相对于国内某些同类软件而言,个别场景的响应速度还是不够的,比如在 QQ 聊天软件中的体验绝对算不上优秀。然而,反观 NVDA 在支持浏览模式的场景,如浏览器、Office、VS Code、PDF 阅读器等,可以说响应速度从来没让我失望过。

稳,即稳定性。在我的印象里, NVDA 的单键导航一直很稳定,且对支持的场景和不支持的场景有着明确的区分/提示,这何尝不是一种源于确定性的安全感呢?一个有意思的例子,当其他同类产品单键导航失灵时,反馈者为了证明是软件的问题给开发者作为参考,会附加一句“NVDA表现正常”,这个场景,你熟悉么?

注:以上例子并非抨击其他同类软件。笔者也层遇到相反的情况,在反馈问题时,将其他同类软件可以在相同情况下按预期工作的信息提供给开发者作为参考。的确有利于问题的排查和调试。

善用单键导航,快人一步

新增的这么多单键导航命令到底可以应用于什么场景呢?

对于笔者而言,每天超过 95% 的工作是在浏览器和各种复杂网页上完成。几乎无时无刻不在想着利用屏幕阅读器的现有功能提高工作效率,实现“快人一步”的“小目标”。

话虽如此,屏幕阅读器的操作逻辑和信息呈现规律极大多数都是线性的,而现代的网页多偏重以视觉呈现信息,二维的表格、图形、按不同功能区域划分的网页排版。

我们为了能够将线性的信息获取方式,还原为近似视觉的等效实现,绞尽脑汁在屏幕阅读器上进行打磨,例如我们已经可以利用表格导航快捷键浏览 / 填写二维表格;将复杂的数学表达式呈现为树结构,从而实现结构化的阅读。

场景举例

垂直导航

2024.2 新增了按垂直对齐的段落进行导航的命令,所谓垂直对其的段落,即在视觉上有着相同横坐标的段落。我的部分使用场景:

  • 微信订阅号文章/视频号评论区: 你可以在留言者及其发表的评论内容之间导航,因为他们在视觉上是垂直对齐的,所以可以完全忽略其他的焦点。
  • Youtube Music播放列表、搜索结果列表:你可以在播放按钮之间导航(会读出歌曲名称)而忽略其他的按钮,因为他们在视觉上是垂直对齐的,假如你用 B 导航按钮,则会存在冗余焦点,因为他们具有相同的“按钮”角色。
  • 对于在视觉上按表格呈现但却没有格式化为表格的内容(无法使用表格导航),例如 LX Music(洛雪音乐助手),你可以在搜索结果中,按歌曲名、歌手、专辑、时长等列标题进行导航。
  • GitHub Issue / PR 页面:在 issue /PR 之间导航。
  • 众多论坛,在帖子列表、每个楼层内容之间导航。

样式导航

2024.2 新增了在相同样式之间导航和在不同样式之间导航的命令。至于什么是文本样式笔者就不过多介绍了,请你按 NVDA+F 听一下这段文本的样式信息吧!

笔者的使用场景举例:

  • 阅读文章时跳转到加粗斜体的重点内容。无需过多赘述,如果你一时不能理解,那么动手实践一下,你一定会感谢我把这个功能告诉你
  • Code Review 查看 diff 例如删除的行用红色表示,增加的行用绿色表示,不过多赘述,码农自然懂。

数学公式导航

笔者曾经学习高数的时候用过一个非常给力的平台名为“知能行考研数学”,其数学公式完全用 LaTeX 写成。意味着我们用 NVDA 可以在该平台实现顺畅刷题,彼时 NVDA 还无法在数学公式之间导航,然而现在可以了。依然不过多赘述,能用到的人自然懂。

了解 NVDA 如何阅读数学内容请查看 “数学公式不再愁——使用 NVDA 朗读数学公式你需要知道的那些事儿”

文本段落导航

本版新增了一个文本段落导航命令,分配了字母 P 与前面提到的“垂直的文本段落导航”不同,文本段落被定义为由一组完整句子组成的区域,使用场景侧重于定位浏览模式中的正文文本。

从实践操作来看,与我们熟知的字母 N 类似,在中文环境中,对于寻找网页中的正文区域,,笔者仍然认为 N 是更合适的选择。

一些有用的提示

为了在实用性和有限的按键之间做出取舍,将最合理的按键留给最实用的功能。上述提到的单键导航命令除了在文本段落之间导航分配了字母"P"以外,其他的导航命令在本版中默认都没有分配快捷键。笔者已经提议为垂直导航分配默认快捷键,需要等待社区反馈确定是否实施。

下面列出为单键导航命令分配快捷键的具体步骤,以“垂直对其的段落”为例:

注意,每种类型的元素都有两个命令,用于在文档中向前移动和向后移动,并且你必须为这两个命令分配手势,以便能够在两个方向上实现快速导航。
例如,若你想使用z/shift+z键快速导航垂直对其的段落,你可以执行以下操作:

  1. 在浏览模式下按 NVDA+N 展开“选项”,打开按键与手势对话框。一定要在浏览模式,比如先在浏览器中打开网页。
  2. 在浏览模式类别找到“移到上一个垂直对齐的段落”。
  3. 为该命令分配快捷键 shift+z。
  4. 找到“移到下一个垂直对齐的段落”。
  5. 为该命令分配快捷键 z。
    注: 为相应命令分配快捷键,按 Tab 找到“添加”按钮,按下空格键,随后不要执行任何不相关的操作,直接按下想分配的快捷键,随后会弹出菜单,允许你选择该快捷键的所属键盘布局,建议选择“所有布局”。

结语:关于情怀和一些有意思的事情

这次的更新盘点都是笔者在下班通勤的地铁上写出来的,我认为很有趣。实际上社区里的每个贡献者都有着自己的本职工作,做贡献只是他们生活的一部分, NVDA 因为有了繁荣的社区而发展壮大。

以上在 2024.2 更新盘点中提到的新特性,几乎全部由 Tony 完成,Tony 是我非常敬佩的社区贡献者,现就职于 Meta 工作方向是机器学习,平时工作忙碌,一有假期就为 NVDA 写代码,为了离大佬更近一点,我帮他分担了一些项目的维护工作。

10年前,其他的屏幕阅读器还只能支持老旧的 IE 浏览器,而 NVDA 已经带我使用 Chrome、Firefox 遨游精彩的互联网世界了。

8年前台湾的 tsengwoody 开发了 A8M 让 NVDA 成为了视障者阅读数学公式的不二之选,这一点今天依然没有改变。

6年前,我学不懂中医的时候就写一些非常烂的代码,摸索着想给 NVDA 做点贡献,就在昨天,我的又一个 PR——为 NVDA 增加模拟鼠标滚轮滚动的功能,被合并到了 2024.3。

1 年前,我成为一名打工人,NVDA 是企业内推荐的也是我首选的屏幕阅读器,自己赖以生存的工具里跑着自己亲手写的代码,熟悉、自豪、安心。

为 NVDA 做贡献,与我而言始于感恩,为情怀而坚持。

标签: none

仅有一条评论

  1. 天痕

    大佬66666,感谢付出!

添加新评论