这是我在这里的第一篇文章。
我必须为一群有特殊需要的人开发一个应用程序。该功能确实微不足道,但是,我不知道如何为他们提供界面才能使用它。
他们的智力是完美的,他们实际上是在读高中,但是其中一种用鼻子打字,不用说,非常困难,另一种只能用一根手指慢慢地打字,也不能使用鼠标。
我想知道我是否可以使用 javascript 来开发一个可用的界面,基于巨大的网格或类似的东西,或者也许你们有更好的主意。
这是我在这里的第一篇文章。
我必须为一群有特殊需要的人开发一个应用程序。该功能确实微不足道,但是,我不知道如何为他们提供界面才能使用它。
他们的智力是完美的,他们实际上是在读高中,但是其中一种用鼻子打字,不用说,非常困难,另一种只能用一根手指慢慢地打字,也不能使用鼠标。
我想知道我是否可以使用 javascript 来开发一个可用的界面,基于巨大的网格或类似的东西,或者也许你们有更好的主意。
除了政治不正确,你为什么不问他们?您在这里谈论的是可访问性,如果他们使用计算机,他们必须能够告诉您他们喜欢或不喜欢他们遇到的用户界面。
我将把我的答案分成两部分——设计和实现。
从设计的角度来看,重要的是不要被用户以不同方式使用计算机的事实吓倒。像对待任何其他项目一样对待它。观察他们目前如何使用其他应用程序,并询问他们认为有帮助或有困难的事情。如果他们声称没有什么是困难的,请询问老师或助手,他们会熟悉他们所遇到的事情。
开始实施后,尝试一个想法并获得初步反馈。如果你只是问他们是如何找到原型的,他们可能会说没关系。相反,试着观察他们使用它而不说什么或提供指导。如果他们遇到困难,让他们自己找到解决问题的方法。如果合适,您可以要求用户大声说出他们的想法(例如“我需要保存此表单,所以我滚动到底部,然后单击保存”)。
在开发方面,尝试使用 Web 标准(有效的 HTML、CSS 和 Javascript)。人们经常提到“Web Content Accessibility Guidelines 2.0”(WCAG2),但这非常冗长且难以理解;还有很多关于“Web Accessibility”的友好文章。
身体残疾的人可能会使用替代输入设备,例如“开关”、屏幕键盘、头部跟踪设备、键盘上的按键设备或语音识别。其中许多方法都涉及模拟键盘,因此到目前为止,最重要的是考虑您的网站在不使用鼠标的情况下的可访问性。例如,尝试在页面中切换,看看您是否可以在合理的时间内访问所有元素。考虑使用 acesskey 属性来提供一种简单的方法来跳转到页面的不同部分(通常建议使用 0 到 9,这样您就不会干扰浏览器快捷方式)。
还要确保您网站的任何部分都不是时间依赖的,因为不同的用户可能需要不同的时间来执行任务。例如,不要使用 onchange Javascript 事件来更新基于列表框选择的页面。确保您有图像的替代文本,以便语音识别可以访问。使页面足够短,这样就不需要过度滚动,但又不要短到需要跟踪大量链接。
这些只是让您的思想朝着正确方向发展的一些想法 - 但互联网上有许多可访问性资源 - 自由窃取,不要重新发明轮子。
我意识到我没有解决你关于 Javascript 的问题——那是因为我认为这可能是不太重要的考虑因素之一。如果可能,使用渐进增强技术使网站在使用和不使用 Javascript 的情况下都能正常工作。您还可以查看 WAI-Aria 标准,为您的 Javascript 提供语义。
最后,重申我最初的观点——做一些简单的事情,向用户展示,tweek,然后再次展示。
你使用什么技术并不重要。使用适合您的套件。
但是,确保你的 UI 组件尺寸大(更大的按钮、更大的字体、粗体字体、彩色字体(有色盲吗?)。这是为了方便人们使用(你说有人用鼻子打字) .
此外,每当对应用程序执行某些错误操作时,最好将音频作为信息源以及通常的屏幕显示。这样视障人士将得到更多帮助。
做得好,你正在做一项神圣的工作。
您应该阅读的第一件事是W3C 编写的Web 内容可访问性指南。
简而言之,本文档描述了一般残疾人的基本原则。
对于有特殊需要的人,您可能需要查看Jakob Nielsen 关于儿童网站可用性的文章,其中概述了针对幼儿或认知能力有限的人的网页设计原则。