MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-Learn-Section-Survey

这篇翻译不完整。请帮忙从英语翻译这篇文章

本文将向你介绍到底什么是可访问性(accessibility)——这包括我们需要考虑的用户群体,这些特殊的人群使用什么工具与web交互,以及我们如何将可访问性问题融入开发工作之中。

预备知识: 基本的计算机知识,对HTML和CSS的基本理解。
目标: 要熟悉可访问性,包括它是什么,以及它对web开发人员的影响。

可访问性是什么?

可访问性是让你的网站尽可能多的人使用的做法——我们传统上认为这是关于残疾人的,但实际上它也涵盖了其他群体,比如使用移动设备的人群,或者那些网络连接缓慢的人群。

你也可以把无障碍看成是对每个人都一样的对待,给他们同样的机会,无论他们的能力或环境如何。 就像不应该把某人从物理大楼里排除在外,因为他们是坐在轮椅上(公共建筑通常有轮椅或电梯);同样的,我们的网站也不应该拒绝那些可能有视觉障碍的人群的访问。我们都是不同的,但我们都是人,因此拥有同样的(人的)权利。

使网站有可访问性是正确的做法,同时它也是一些国家法律的一部分,它将打开一些重要的市场,否则就无法使用你的服务,购买你的产品等等。

可访问性和它所需要的最佳实践可以使每个人受益:

  • 语义化的HTML(这将提高可访问性)也提高了搜索引擎优化,使你的网站更容易获得。

  • 关心可访问性展示良好的伦理道德,它提高了你的公众形象。

  • 其他一些改善可访问性的好的做法也会让你的网站更容易被其他群体使用,比如移动电话用户,低速网络环境的用户等等。事实上,每个人都可以从很多这样的改进中受益。

  • 我们有没有提到在某些地方法律也是如此?

我们关注的是什么类型的残疾?

无论是否有残疾的人都是多样化的。人们可能面临的残疾和生理障碍也多种多样。这里的关键经验是,不依赖于你自己使用电脑和网络的经验方法,而是开始学习别人如何使用它——你不是你的用户。下面将解释主要的残疾类型,以及它们用于访问web内容的任何专业工具(称为辅助技术或ATs)。

Note: 世界卫生组织(World Health Organization)的残疾和健康(Disability and health)状况说明书指出,“超过10亿人,约占世界人口的15%,患有某种形式的残疾”,“1.1亿至1.9亿成年人在功能上存在重大困难。”

有视觉障碍的人

这包括盲人、低水平视力、色盲等。很多人会使用屏幕放大镜(物理放大镜,或者软件缩放功能——大多数浏览器和操作系统现在都有缩放功能),有些人会使用屏幕阅读器,这是一种可以大声朗读数字文本的软件:

  • 有些是付费产品, 比如 JAWS (Windows) 和 Window Eyes (Windows).
  • 有些是免费产品, 比如 NVDA (Windows), ChromeVox (Chrome, Windows and Mac OS X), 和 Orca (Linux).
  • 有些是内置在操作系统中,比如 VoiceOver (Mac OS X and iOS), Narrator (Microsoft Windows), ChromeVox (on Chrome OS),和 TalkBack (Android).

让自己熟悉屏幕阅读器是个好主意;您还应该设置一个屏幕阅读器,并对其进行处理,以了解它是如何工作的。请参阅我们的跨浏览器测试屏幕阅读器,以了解更多使用它们的细节。下面的视频还提供了一个简单的例子,说明了体验是怎样的。

就统计数据而言,世界卫生组织估计“全球有2.85亿人视力受损:3900万人失明,246人视力低下。”(参见视力障碍和失明)。这是一个庞大而庞大的用户群,因为你的网站没有被正确的编码——几乎和美国的人口一样大。

有听力障碍的人

有听觉障碍的人,或聋耳人,这群人有听力水平低甚至听不到的不便。这些人使用 ATs(请访问 Assistive Devices for People with Hearing, Voice, Speech, or Language Disorders), 但是并没有特定的AT为计算机网页技术所服务。

但是,现在有特别的技术提供给那些不方便的人通过语言交流来阅读,通过简单的文本扫描,文本追踪,文本通过语音读取,下面的文章来专门介绍。

听力受损的人可以通过一个有意义的设备来表达自己——“360 全世界百万人将拥有听力”,一个全世界聋哑健康组织声明。

行动障碍的人

       那些有行动障碍的人,也许仅仅深陷于身体的问题(比如肢体或神经方面),或者是神经上的/遗传上的紊乱导致的虚弱或者无法控制身体。有些人也许困于准确移动手臂去使用鼠标,但是有些人却可以使用顺畅。也许很难准确定位到点,当页面使用光标去和电脑交互。

还有一种残疾是因为老了,不仅仅因为创伤或者外部条件,也因为艰苦环境限制,也不能使用鼠标。

办法通常影响web框架工作,需要键盘的控制,我们讨论键盘在稍后的模块,这有益于提炼出有些网址仅仅使用键盘去访问。你能使用tab键移动光标在表单上数码吗?你讷讷个找出更多有用的技巧去控制键盘操作屏幕通过Cross browser testing Using native keyboard accessibility 模块。

依据一个数据,一个对行动障碍者有意义的数据,美国疾病控制中心和疾病阻止和防御中心(18岁以上管控的人)报道美国有15.1%的成人都有一些身体功能疾病。

有认知障碍的人

可能最多的疾病可归统于最后一个分类——精神损伤由于精神疾病难以去学习,难于理解和集中注意力ADHD(注意力受困于脑力调用),对那些孤独边缘,那些精神分裂的人,对许多混乱类型的边缘人。这些疾病可以影响他们生活的方方面面,由于脑力原因,问题解决,理解,注意力等。

最普遍的方法就是这些残疾人使用网络最难的在于理解怎么去完成一个任务,记得怎么去做意见以前做过的事,或者提高消化那些使人混乱的工作流程或者那些矛盾的布局,导航,或者其他页面结构。

不像其他相似的网页问题,那也许不可能规定去快速修复那些相似的问题产生于认知失能。最好的改变就是你掌握设计网页的能力,坚持,然后实践,所以尽可能做到以下几点:

  • 页面风格一致——导航、头部、页脚、主要内容在一个规整的位置。
  • 使用易于设计和简便的工具。
  • 多个网页之间易于出问题在于逻辑设计,和有规律的提示失败于个人,多久你能完成进度,如果合适的安排。
  • 工作流是有逻辑的、简单的、需要尽可能相互作用去完成。例如:注册和登录通常诶有很大的关联
  • 页面没有必要很长或者繁杂为了一次性展示很多信息。
  • 页面使越简单的语言越容易让人注意,不要放很多专业术语或者流行语。
  • 重要的点和文本通常可以高亮显示。
  • 用户错误明显突出,给点提示信息操作。

这些本身都不是易访问性技术-他们有很好的设计能力。他们有益于每个使用你的网站和将成为你的工作准则。

依据数据,增加数据是非常有意义的。康奈尔大学2014 Disability Status Report (PDF, 511KB)指明在2014年,在美国年龄在21-64岁之间的人有4.5%有认知障碍。

提示WebAIM's Cognitive 页面提供对这些观点非常有用的扩述,确实非常值得阅读。

将无障碍接入到你的项目中

有一个通用的传言说,将无障碍化接入到项目中去是一个代价高昂的“额外部分”。这个传言倒也不假,如果你是如下面这两个情景:

  • 你在一个已存在的有众多无障碍问题的网站上试图“翻新”。
  • 你在项目的最后一步才刚刚开始考虑无障碍化和处理相关问题。

然而如果你能在项目的开始阶段就考虑到无障碍化的话,使大部分内容无障碍的代价就会变的相当小。

当为你的项目列计划时,将无障碍测试分解开来并加入到你的测试管理中去,就像测试任何其它重要目标受众部分(例如桌面目标或者移动浏览器)。早早测试经常测试,理论上运行自动化测试来捕捉可编程察觉的遗失功能(例如缺少图像独一无二的文本或者坏链——具体请看元素关系和上下文),并对禁用的用户组进行一些测试,以了解更复杂的站点功能对它们的工作效果如何。例如:

  • 我的日期选择器小部件是否可供使用屏幕阅读器的人使用?
  • 如果内容动态更新,视力受损的人知道吗?
  • 我的UI按钮是否可以使用键盘和触控接口访问?

您可以并且应该记录您的内容中可能存在的问题区域,这些领域需要工作才能使其可访问,确保对其进行了彻底的测试,并考虑解决方案/替代方案。文本内容(如您将在下一篇文章中看到的)很简单,但是您的多媒体内容和您的时髦的3D图形呢?您应该查看您的项目预算,并现实地考虑您有哪些解决方案可以使这些内容可访问?你可以付钱让你所有的多媒体内容转录,这可能是昂贵的,但可以做到。

还有,现实点。“100%可访问性”是一个无法实现的理想-你总是会遇到某种边缘情况,导致某个用户发现某些内容难以使用-但你应该尽你所能去做。如果您计划包含一个使用WebGL制作的时髦的3D饼图,您可能希望包括一个数据表,作为数据的可访问的替代表示。或者,您可能只需要包含表并去掉3D饼图-每个人都可以访问该表,编写代码更快,CPU密集型更少,维护也更容易。

另一方面,如果你正在一个展示有趣的3D艺术的画廊网站上工作,那么期望每一件艺术品都能被视障人士完全访问是不合理的,因为它是一种完全的视觉媒介。

要表明您关心并考虑过可访问性,请在站点上发布可访问性声明,详细说明您的策略是如何实现可访问性的,以及您为使该站点可访问所采取的步骤。如果有人抱怨您的站点存在可访问性问题,请与他们开始对话,保持同情心,并采取合理步骤来解决问题。

注意:我们的“处理常见的可访问性问题”文章介绍了应该更详细地测试的可访问性细节。

To summarize:

  • 从项目一开始就考虑可访问性,并尽早进行测试。就像任何其他bug一样,当发现可访问性问题时,修复它的代价会更高。
  • 请记住,许多无障碍最佳实践对每个人都有好处,而不仅仅是残疾用户。例如,精益语义标记不仅对屏幕阅读器有好处,而且加载速度和性能也很快,因此对每个人来说都更好,尤其是那些在移动设备上和/或慢协议上的人。
  • 在您的站点上发布可访问性声明,并与有问题的人接触。

无障碍指南和法律

有许多可用于基于可访问性测试的检查列表和指南集,乍一看,这些准则可能会让人望而却步。我们的建议是让自己熟悉你需要注意的基本领域,以及理解与你最相关的指导方针的高层结构。

  • 首先,W3C发布了一个庞大而详细的文档,其中包含了非常精确的、与技术无关的可访问性一致性标准。这些被称为Web内容可访问性指南(Wcag),它们绝不是短读的。这些标准分为四大类,它们指定如何使实现具有可感知性、可操作性、可理解性和鲁棒性。最好的地方得到一个简单的介绍和开始学习是一目了然。没有必要用心学习wcag-注意主要关注的领域,并使用各种技术和工具来突出任何不符合wcag标准的区域(更多信息见下文)。
  • 贵国还可能有具体立法,规定为其人口提供服务的网站必须能够访问-例如,美国“康复法”第508条、德国关于无障碍信息技术的联邦法令、联合王国的“平等法”、意大利的“无障碍法”、澳大利亚的“残疾歧视法”等。

因此,虽然wcag是一套指导方针,但您的国家可能会有关于网络可访问性的法律,或者至少是对公众提供的服务的无障碍(包括网站、电视、物理空间等)。找出你的法律是个好主意。如果您不努力检查您的内容是否可访问,您可能会陷入法律的麻烦,如果有二重性的人抱怨它。

这听起来很严肃,但正如上文所述,您只需要将可访问性视为Web开发实践的主要优先事项。如果有疑问,请咨询合格的律师。我们不会提供比这更多的建议,因为我们不是律师。

可访问性API

Web浏览器使用特殊的可访问性API(由底层操作系统提供),这些API公开对辅助技术(ATS)有用的信息-ATS大多倾向于使用语义信息,因此这些信息不包括样式信息或javascript之类的内容。此信息是在一个称为可访问性树的信息树中构造的。

不同的操作系统有不同的可访问性API:

  • Windows: MSAA/IAccessible, UIAExpress, IAccessible2
  • Mac OS X: NSAccessibility
  • Linux: AT-SPI
  • Android: Accessibility framework
  • iOS: UIAccessibility

在web应用程序中由html元素提供的本地语义信息下降的地方,您可以通过添加语义信息到可访问性树以改进可访问性的waw-aria规范中的特性来补充它。你可以在我们的瓦伊里亚基础文章中了解更多关于外咏叹调的知识。

摘要

本文应该给您提供一个有用的可访问性的高级概述,向您展示为什么它是重要的,并研究如何将它融入您的工作流程。现在,您还应该渴望了解可以使站点可访问的实现细节,我们将在下一节中开始,了解为什么html是可访问性的良好基础。

In this module

文档标签和贡献者

最后编辑者: mdnwebdocs-bot,