鱼鱼读屏:为视障者设计的 OCR 读屏辅助工具

鱼鱼读屏

我们都知道 Apple 为其设备提供了良好的无障碍支持和工具,视障者可以使用 VoiceOver(旁白)流畅的操作电脑,甚至可以写代码做 App。但这些工具能否发挥效果很大程度上取决于开发者是否针对无障碍进行了适配。由于大众对无障碍的认知还比较欠缺,很多软件其实并没有为盲人优化使用体验,尤其在那些热衷于自己造轮子的软件中,无障碍很容易成为一个问题。

iOS 14 为视障者提供了有限的 OCR 识别功能,但在 macOS 上这还是一个空白。尤其是一些 macOS 软件由于构建方式不同,完全没有使用系统提供的 UI 元素,这使得他们无法被 VoiceOver 识别,常见的比如游戏中那些使用图片作为按钮的区域等。尤其对于有音乐影视相关爱好的视障者来说,这一问题更是经常遇到,一些插件几乎是完全无法使用的。鱼鱼读屏就是为了解决这个存在很久的问题。

使用体验

鱼鱼读屏使用 OCR 服务来识别屏幕上出现的文本,将识别到的内容对应到屏幕的相应位置上,使得你可以在其中进行导航并完成点击。在鱼鱼读屏中,所有快捷键都使用修饰键 Command + Shift + Option,在本文之后提到这一组合时,我会直接使用 CSO 来表示。

使用非常简单,在开始使用时,首先按下 CSO + C 来截取整个屏幕或者按下 CSO + V 来截取显示在最前面获取到焦点的窗口。你将会听到「正在上传,请稍候。」「识别完毕,发现了XX个项目。」此时程序已经识别完你的屏幕截图并将其转换为一个可以导航的表格。这个表格不会显示在屏幕上,而是直接通过按键和语音来交互的。

接下来你可以使用 CSO + T 和 CSO + Y 来在项目之间进行移动。列表会按照项目在屏幕上的位置纵向排序,按 CSO + G 和 CSO + H 可以在列之间直接移动。在移动的过程中,鼠标也会被移动到你正在阅读的文本上,方便你与周围的非视障者进行交流。

找到需要点击的按钮后,按下 CSO + U 即可点击项目,按下 CSO + I 可以右键点击项目。因为在阅读过程中鼠标就被移动了,所以也可以手动操作鼠标直接点击。

每次画面产生变化时,需要重新进行一次识别来刷新结果列表。记不住快捷键也没关系,所有的快捷键都有列在菜单栏图标的菜单中可以随时查看。

功能特性

根据实际的使用情况,鱼鱼读屏设计了一些优化使用体验的方法。

为了能够提高 OCR 识别结果的可用性,我设计了一些可选的过滤器。如把只包含标点符号的这种无效内容删除,把只包含数字的无效内容删除等。这主要是为了解决 OCR 服务会把一些图标识别为文字的问题,比如小三角被读成 0 之类的。如果不删掉就会出现 「零零零零零零零」的尴尬局面。这些过滤器可以在偏好设置中自己选择开关。

另外 OCR 提供了微软谷歌和百度三家的识别服务可以选择,您可以选择最适合您的服务来使用,默认软件会使用微软的引擎识别。其中谷歌的识别率是理论上最好的,如果有条件比较推荐选择使用。

此外程序还针对中文用户一直会遇到的语音问题做了处理。由于在中文状态下 VoiceOver 会使用中文的语音阅读英文,发音非常的 Chinglish,很多时候你完全不知道他在说啥。鱼鱼读屏在阅读过程中遇到纯英语的字符串,会主动选择英语语音来朗读,就不会出现以上的问题了。由于 macOS 的语言识别准确度很差,所以目前我会把所有的语言都解释为中文或英文,针对其他语言的适配方案还在开发中。

由于软件才刚发布不久,可能会出现各种各样的问题,如果有任何疑问,可以通过偏好设置关于选项卡中的「联系开发者」发送邮件。

视障者评价

@三横一竖5964

「因为工作之余喜欢玩一玩电脑编曲,会经常使用到一些软音源和效果插件。然而这些音源和插件很多情况下是无法通过旁白进行操作的,所以在平时,我只能通过明眼人帮忙点击,或是自己通过各种办法胡乱摸索。因此,当我刚拿到这款软件时,便怀着无比激动的心情打开了平时无法操作的一款软音源。当我按照鱼鱼读屏的操作说明,用热键开始浏览返回的结果时,惊喜的发现,读屏能完美的朗读到音源的参数信息,虽然这样还无法使用音源的全部功能,但相比之前那种胡乱摸索的操作而言,已经方便很多很多了。而且,鱼鱼读屏有个很贴心的功能,就是当我们浏览OCR返回的结果时,鼠标指针会跟随我们的浏览过程,随时聚焦于我们当下浏览到的项目,这样当我们与明眼人进行交流的过程中,明眼人通过鼠标能够很明确的看到我们的浏览过程。从而能够效率更高的给以帮助。」

全文: GitHub

@顾伶磊

「旁白用户现在可以用它操作很多之前操作不了的第三方应用了。在现阶段苹果还没有推出 macOS 的屏幕识别功能的情况下,这是最完美的解决方案,也是全世界唯一一款此类工具。推荐所有的 macOS 视障用户下载。」

@贾祎涵

这位朋友制作了一个语音演示,可以点此下载音频文件:GitHub

Q&A

  1. 为什么快捷键这么复杂:由于很多的专业软件的快捷键也都很复杂,这样做主要是为了避免冲突。
  2. 识别窗口找不到内容怎么办:首先可能是没有给录屏权限,给一下就好。还可能是窗口没有获得焦点,请首先在窗口上点一下再按快捷键。如果实在不行可以换全屏识别试试。
  3. 我不是视障者,我想玩玩看:玩啊为什么不玩,体验一下视障者如何操作电脑手机,大家一起来关注无障碍,提高盲人的生活质量。

我开始做这个 App 其实是因为 @贾祎涵 找我询问关于我另一款 App 无障碍优化的问题。在聊天的时候提到现在 macOS 上有很多 VoiceOver 完全没法读的 App,只能用 OCR 之类的东西来解决,但是却从来没有开发者给 Mac 用户做这样的工具。他找了很多开发者都没有人愿意做。一方面原因是因为 Mac 开发本身很麻烦,另一方面也是因为这种会把鼠标挪来挪去的玩意过审难度很大。我一开始也不确定能不能做,直到过审前我都不确定这玩意能不能成。不管怎么样现在成功上架了,但是需要改进的地方还有很多,希望各位盲人朋友多来试试,给我提供反馈。


本文转发自鱼鱼读屏开发者原创文章。

鱼鱼读屏
评论