控制台应用程序和屏幕阅读器

问题描述 投票:0回答:1

由于我发现难以控制的原因,我陷入了不使用操作系统控件进行渲染的 gui 库的困境。提供应用程序的控制台版本是否是让必须求助于屏幕阅读器/盲文显示器的用户可以访问该应用程序的好方法?

accessibility screen-readers
1个回答
0
投票

这与“我的网站无法访问,我应该制作一个替代的纯文本版本吗?”基本上是同一个问题。 答案是否定的,不要。通过尊重 WCAG 来调整您的网站并使其易于访问,比制作两个不同的版本要好得多。

事实上,必须维护两个版本从来都不是一件好事,因为你迟早会忘记备用版本。缺乏时间、缺乏预算、缺乏知识、缺乏动力,瞧,一切不同步,差异越来越大,然后就肯定消失了。

与网站和本机 GUI 世界相比较,确实存在使用本机操作系统控件和/或具有良好的屏幕阅读器辅助功能支持的 GUI 工具包。例如,对于 Windows,有 wxWidgets、QT、Java SWT 等。 它们并不完美,一切都不是完全可访问的,平台之间存在差异,但多年来它们得到了广泛认可,维护良好,因此,它们应该是您的首选,而不是试图做出某种“纯文本版本”。

传统 GUI 工具包的另一个流行替代方案是使用嵌入式 Web 浏览器。我可以提到众所周知的 Elektron 和 nw.js。 优点是,您可以使用 HTML、CSS 和 JavaScript 制作应用程序,并且它几乎可以在任何地方运行。如果您遵循 WCAG,大多数事情都可以实现。缺点是,使用带有屏幕阅读器的网络应用程序不如使用本机应用程序那么流畅和自然,并且通常被认为更复杂、不太实用且更难访问。话虽这么说,与使用糟糕的 GUI 工具包相比,您可能会通过使用糟糕的 HTML 来制作更易于访问的应用程序。换句话说,本机应用程序的可访问性可以在 0 到 100% 之间,而 Elektron/NW.js 应用程序的可访问性可以在 25 到 75% 之间;你肯定会避免彻底的灾难,但也会避免完全的完美。


现在,要回答有关控制台应用程序的实际问题,事实上,从屏幕阅读器可访问性的角度来看,控制台应用程序不一定比 GUI 应用程序更好或更差。这取决于您所说的控制台应用程序的确切含义。

简单的控制台应用程序原则上是完全可访问的,但前提是操作系统本身提供可访问的终端。可能并非所有地方都是如此,即使据我所知,或多或少总是如此。

然而,简单的定义是非常严格的。当控制台应用程序只有简单的文本输出和简单的文本输入时,我们可以认为控制台应用程序很简单。换句话说,您输入命令,就会得到结果。就这样。 没有颜色,没有光标跳跃或向后移动,没有特殊的装饰字符,没有 ASCII 艺术,没有尝试通过将它们与像curse这样的库结合起来来创建伪GUI。

即使创建一个可以通过按箭头键选择选项的菜单,在控制台窗口中也很快会出现问题。 屏幕阅读器可能无法很好地跟随光标、检测更改并轻松确定要再次阅读或不阅读的内容,而在您这边,您没有真正的方法来帮助它找到这一点。

没有角色,没有 ARIA,没有显式控件和标签,活动区域,选择指示,什么都没有。控制台实际上只是一个单元格网格,其中每个单元格显示具有给定颜色的给定字符。 所以,只有简单、非常简单的时候它才能很好地工作,并且查看屏幕阅读器的命令也只能非常简单:读取字符、单词或行,仅此而已。

请注意,屏幕阅读器正在努力利用控制台应用程序中有限的信息来做到最好。 我是瞎子,所以我可以告诉你,毕竟结果还不错。

最后,它或多或少可用,是的,但比具有良好辅助功能支持的最先进的 GUI 应用程序更好?也许不会。这在很大程度上也取决于个人喜好。我不会成为邪恶的代言人。

总而言之,您为创建一个控制台应用程序而投入的资金是相当大的,其目标是更易于访问,但成功与否却相当不确定。 您将更好地花时间了解具有良好辅助功能支持的优秀 GUI 工具包。

© www.soinside.com 2019 - 2024. All rights reserved.