浅谈nvda读屏和浏览模式的突破_by海豚
文章作者:海豚
转自:知行软件园
无视觉桌面访问 (NVDA)网址: http://www.nvaccess.org/版权归 (C) 2006-2017 与 NVDA 贡献者所有NVDA 遵循 GNU 通用公共授权协议第二版, 您可以自由分享或者以任何方式修改本软件, 但在重新发布时必须包含本协议, 同时必须公开原版和修改版的源代码, 并附上任何用本软件的源代码所产生的软件。关于授权协议的详情,您可以通过“帮助”菜单的“授权信息”访问。您也可参看以下网页: http://www.gnu.org/licenses/old-licenses/gpl-2.0.htmlNVDA 是由非赢利组织“NV Access”开发的一个用于协助视障用户的免费且开放源代码的解决方案。若您觉的 NVDA 很实用,并希望他可以继续发展,请赞助“NV Access”。您可以通过选择位于 NVDA 主菜单的“捐赠”菜单打开捐赠页面。
以上是nvda的关于内容,我这里省略了版本信息,毕竟开发板的版本号是那么长。之所以写这篇文章有两个目的。第一,希望能有更多的人了解、认识并使用nvda,第二希望我们国内的盲人能摆脱一些关于读屏软件浏览方式的枷锁。可能这话说的有点儿大了,但是处于一个混迹了网络十余年,用过了两位数以上的读屏软件的人,我想我有必要做些什么。
1.nvda是什么:nvda是一个开元且免费的读屏软件,通俗一点儿说,任何人可以随意修改分发编译这个读屏软件的程序代码,而且不需要支付任何费用,但是上面关于写的很清楚,必须遵守开元协议,具体的跟开发者挂钩,开发者不需要我啰嗦,普通用户也没必要关心这些是什么,总结到最后一句话nvda是自由的,开放的,免费的,读屏软件。
2.如何获取nvda:对于英文比较精通的朋友可以访问http://www.nvaccess.org下载nvda,如果您需要了解更多nvda的中文内容可以访问http://www.nvdacn.com,这里包含了国内无数nvda爱好者贡献的内容,一定能帮你快速上手nvda。
3.nvda的优势和劣势:其实这是最难写的一条内容了,因为目前国内外基本在屏幕阅读器上使用的是一样的技术,区别无非是文本处理和效率优化上的不同。但是nvda有别于国内其他厂家的地方在于nvda丰富的插件扩展机制以及对新版操作系统和新的取词技术的率先支持。展开说,插件机制就代表了很多的可能,全世界的开发者那么多,总有能贡献出优秀扩展插件的开发者,这时当你应用了这些插件以后会发现nvda的不一样,比如适应国内环境的yy助手插件,其实这个插件并没有多少代码内容,但是它的确解决了nvda在yy语音软件上的根本需求,这只是其中的一个例子。记得win10版本还是9926的时候,只有开发者预览版,作为一个对于操作系统有着狂热偏执的我连夜在不到200k的校园网上下载了这个版本,第一时间装上了国内外的几款读屏软件,事实上结果是令人遗憾的,国内其他厂家的商业/免费读屏软件都存在这样那样的问题,甚至有的直接不能运行。记不清是什么时候了,微软推出了有别于msaa的取词技术叫UIA,相比于存在了多年的msaa来说新的UIA在很多方面都有着一定的优势,比如支持的控件更多,但是这不意味着UIA可以取代MSAA,当我知道这个技术以后,看了一下nvda的日志查看器,果然发现了这么一行UIAutomation: IUIAutomation3,不管你是否是开发者应该都足够惊喜了,因为nvda已经应用了最新的技术在它自身上。然而nvda并非毫无缺点,我笃定很多已经用过nvda或者正在尝试使用nvda,或者曾经用过但是放弃了nvda的朋友认为nvda所存在的缺点无非是如下内容,第一:快捷键我们并不适应,对于被国内的已某厂家为首的一套传遍了大江南北所有厂家的快捷键方案,甚至吃饭睡觉时嘴里都能冒出几个熟悉的快捷键来,这样的根深蒂固的思想如何能一夜改变呢?第二:一些我们熟悉的名词变了什么是屏幕浏览模式,什么是文档浏览模式,什么是对向浏览模式,甚至是语音合成器的概念,具体sapi4和sapi5都对应什么语音库,简直是一头雾水。第三:操作方式变了,理解不了对向,屏幕and文本浏览模式的我们,如何找到那种小键盘4-6配合加减号操作的畅快淋漓的感觉?但是上面这些其实都不是真正意义上的缺点和劣势,nvda的劣势在于很多代码依赖python编写,python是脚本语言,不管啥时候脚本语言都需要依赖脚本解释器来运行,在这个解释脚本的过程中会影响程序的执行效率,也就是我们老鸟在使用nvda的时候抱怨的速度上不来,不过我们很欣喜的发现从2015.3或者更早的版本开始,nvda已经逐渐的开始依赖c++更多。不过从根本上来说,目前的新购买的计算机都是性能过剩的,跑nvda是没有什么问题的,比如我现在撰写时使用的m3-6处理器虽然是移动处理器,跑nvda已经绰绰有余了。
4.作为用户的我们应该做出的突破和改变:突破和改变其实是很艰难的事情,不管让我们放弃数年或数十年的对读屏软件浏览方式的认识,还是让我们改变数年或数十年的操作习惯,这都是让我们很难抉择的事情。毕竟作为普通用户的我们也许真的对计算机要求没那么高,能满足我们日常所需也就足够了,就算出现一些这样那样的小问题只要还能用下去我们也会忍受。但是我希望看了我上面啰嗦了这么多的朋友能对读屏软件有其它的考虑和追求,并非局限于现状,我们还是引入nvda的屏幕浏览模式来举例子,如果偏要有一个对应和参照,大家可以理解成国内的加减号的形式,快捷键可以自行查阅nvda帮助文档,竹行浏览屏幕内容的时候我们是按照一个空间顺序在浏览的,也就是你可以清晰的知道这个当前朗读的控件在屏幕上的位置,假如你需要告诉一个明眼朋友如何操作一个软件,那么你可以清晰的告诉它点击屏幕下边靠近右侧的那个确定按钮,如果你只告诉它确定按钮,不说明位置那么造成的情况也许是需要寻找一些时间,当然这算不上什么,看下面这个例子,如果你需要明眼人的帮助,当你用某厂家的读屏软件的4-6找到某个内容的时候,问题出现了这里也许只朗读xxx客户端或者是按钮,你根本不知道是什么,更不知道它在什么位置,你会焦急的询问协助你的朋友这是什么,看到这里有人会问了,我可以把鼠标移动过来啊,或者开启某些鼠标跟随功能,其实通常情况下这些没有什么问题,但是面对现在的软件情况是这样的,有些控件你浏览到的时候鼠标无法跟随过去,更可怕的是,有些软件在鼠标移动到某个区域的时候会出现悬浮窗口,比如我们常用的yy和qq就有这种情况。说到这里也许作为高手的你可以有无数种办法告诉我怎么确定位置,什么像素坐标什么xxx的。也许这个例子并不恰当,但是它可以用来说明一些我们目前对于读屏软件在浏览方式上的错误的认识,作为眼睛存在残缺的我们,也许从出生到现在就没有办法用视觉阅读屏幕,也许是在某个时间点因为一些不可控因素造成了势力障碍,对于前者来说也许只要达到操作目的,对于这些所谓的屏幕位置界面布局不需要有任何认识,但是这种想法是错误的,也是不可取的,哪怕只是为了脑补一些画面,我们也需要对我们操作的界面,或者是生活中的物体有一个基本的认识。对于后者来说,也许已经习惯了空间顺序的浏览,如果让他/她想要顺利上手并且可以接受读屏软件,空间顺序的浏览或许是最好的选择,因为这并没有颠覆他/她脑海中对于屏幕阅读顺序的认知。对于上面所述的关于浏览的例子还有很多,可能没办法通过一篇文章表达的很清楚,或者通过我上面的苍白的叙述不能引起广大用户的一些共鸣,如果是这样请您x掉这个窗口当做什么也没发生过,如果您觉得是时候做出一些改变和突破请坚持去构建你脑海中的UI。
特别声明:本文是知行软件园原创文章,转载时请注明来源。