问题 键盘快捷键是否必须符合508标准


我对此进行了很多研究,似乎在SO和所有网络上得到了相互矛盾的答案。我理解,在508条款中,合规性并不等同于可访问性。

最大的问题是UI / UX设计师被告知下拉菜单NEEDS的键盘快捷键使键盘快捷键符合508标准。我看到Windows Forms应用程序有这个,但对于Web开发我不认为必须“合规”

我回答的另一个问题是: 符合MVC 4站点508


6199
2017-07-25 17:22


起源



答案:


我部分同意瘦,但同意留下的评论的前两句话。

我所说的句子是:

他们应该可以通过键盘来访问508.我一直强调快捷方式和可达性之间的区别

Crixus说:

最大的问题是UI / UX设计师被告知下拉菜单NEEDS的键盘快捷键使键盘快捷键符合508标准。

你需要弄清楚这一点。你的意思是简单吗? <select> 或下拉导航菜单?正如Thinice在评论中所述,第508节只是说需要可以达到。问题变成:

怎么样 你在应用程序中添加了快捷键吗?您是通过accesskeys属性添加它们还是Gmail / Yahoo Mail添加快捷键的方式?

我以为我做了一个关于AccessKeys的答案,但找不到它。基本上,accesskeys听起来很棒,但是如果你看一下你可以使用的那些不会干扰浏览器或辅助技术键的键,你就会非常有限。 Gez Lemon做到了 AccessKeys概述及其问题。如果你想做Yahoo! Mail方法,你必须做更多的工作。 Todd Kloots做了一个 关于ARIA的介绍,这可能会有所帮助。这让我进入了第二部分。如果你在网站上大量使用JavaScript来做东西,人们就会使用  1194.21(软件应用程序/ OS)  用于评估网站的1194.22(网络)标准。如果该网站使用JS制作navmenu(YUI菜单示例),下拉行为需要通过键盘访问。我会说这属于:

§1194.21软件应用程序和操作系统。
  (a)当软件被设计为在具有键盘的系统上运行时,产品功能应该可以从键盘执行,其中功能本身或执行功能的结果可以以文本方式识别。

(c)应提供明确定义的当前焦点的屏幕指示,当输入焦点改变时,该指示在交互式界面元素之间移动。重点应以程序化方式暴露,以便辅助技术可以跟踪焦点和焦点变化。

我说这两个标准都被使用,因为(a)说你必须能够通过键盘进入导航区域。 (c)因为有些菜单可以发挥作用 标签 对于所有父项,但是如果没有鼠标,则无法进入下拉部分。我看过菜单你可以 标签 到子菜单项,但菜单没有弹出。因此,如果您只使用键盘(移动设备),而不是使用JAWS,您将不知道自己身在何处。

我看到Windows Forms应用程序有这个,但对于Web开发我不认为必须“合规”

我会说实际应用程序,如Word,Outlook等,提供常用命令的快捷方式。如果您正在为Web应用程序执行此操作,我会考虑您执行的操作数量。这不是强制性的要求。如果您像导航栏一样制作,我建议使用 ARIA角色特别是 role="navigation",作为最佳实践的父元素。


5
2017-07-29 21:04





一些标准(以及许多法律)的问题在于它们可以解释......

我可以在508标准中找到唯一提到键盘使用的提及 这是 (逐字):

B部分 - 技术标准

§1194.21软件应用程序和操作系统。

(a)当软件设计为在具有键盘的系统上运行时,产品功能应可从键盘执行   函数本身或执行函数的结果都可以   以文字方式辨别。

我对此的看法是:

  • 键盘 捷径 鉴于给定部分可能包含的操作/特征量,导航选项可能是不切实际的。重要的是,它们可以通过键盘进行访问。
  • 从用户体验的角度来看,关键功能应该具有“仅仅因为”它是良好的用户体验实践的捷径。但要捷径 一切 从一条沟到另一条沟。
  • 508!=可访问性,但是如果您为gov / edu工作,那么您的PD可能符合要求。

另一方面是WCAG,它与508合规性相结合,在我的书中有更好的定义: 键盘内容在WCAG中处于“可操作”状态。

简而言之: 用户体验是一种很好的做法,可以为重要功能提供自定义键盘快捷键。但它本身与508合规无关。 (除了功能应该通过键盘 - 某些方式 - 可以访问)。


5
2017-07-28 05:13



您是否认为下拉菜单需要具有键盘快捷键才能适合出售给要求508合规性的政府或州政府机构?该网站的简单版本是否应该用于JAWS读卡器等人。? - Tom Stickel
他们应该可以通过键盘来访问508.我一直强调快捷方式和可达性之间的区别。您是否可以提供简单版本或RDF数据取决于您拥有的资源类型以及项目的设置方式。 ; - thinice


答案:


我部分同意瘦,但同意留下的评论的前两句话。

我所说的句子是:

他们应该可以通过键盘来访问508.我一直强调快捷方式和可达性之间的区别

Crixus说:

最大的问题是UI / UX设计师被告知下拉菜单NEEDS的键盘快捷键使键盘快捷键符合508标准。

你需要弄清楚这一点。你的意思是简单吗? <select> 或下拉导航菜单?正如Thinice在评论中所述,第508节只是说需要可以达到。问题变成:

怎么样 你在应用程序中添加了快捷键吗?您是通过accesskeys属性添加它们还是Gmail / Yahoo Mail添加快捷键的方式?

我以为我做了一个关于AccessKeys的答案,但找不到它。基本上,accesskeys听起来很棒,但是如果你看一下你可以使用的那些不会干扰浏览器或辅助技术键的键,你就会非常有限。 Gez Lemon做到了 AccessKeys概述及其问题。如果你想做Yahoo! Mail方法,你必须做更多的工作。 Todd Kloots做了一个 关于ARIA的介绍,这可能会有所帮助。这让我进入了第二部分。如果你在网站上大量使用JavaScript来做东西,人们就会使用  1194.21(软件应用程序/ OS)  用于评估网站的1194.22(网络)标准。如果该网站使用JS制作navmenu(YUI菜单示例),下拉行为需要通过键盘访问。我会说这属于:

§1194.21软件应用程序和操作系统。
  (a)当软件被设计为在具有键盘的系统上运行时,产品功能应该可以从键盘执行,其中功能本身或执行功能的结果可以以文本方式识别。

(c)应提供明确定义的当前焦点的屏幕指示,当输入焦点改变时,该指示在交互式界面元素之间移动。重点应以程序化方式暴露,以便辅助技术可以跟踪焦点和焦点变化。

我说这两个标准都被使用,因为(a)说你必须能够通过键盘进入导航区域。 (c)因为有些菜单可以发挥作用 标签 对于所有父项,但是如果没有鼠标,则无法进入下拉部分。我看过菜单你可以 标签 到子菜单项,但菜单没有弹出。因此,如果您只使用键盘(移动设备),而不是使用JAWS,您将不知道自己身在何处。

我看到Windows Forms应用程序有这个,但对于Web开发我不认为必须“合规”

我会说实际应用程序,如Word,Outlook等,提供常用命令的快捷方式。如果您正在为Web应用程序执行此操作,我会考虑您执行的操作数量。这不是强制性的要求。如果您像导航栏一样制作,我建议使用 ARIA角色特别是 role="navigation",作为最佳实践的父元素。


5
2017-07-29 21:04





一些标准(以及许多法律)的问题在于它们可以解释......

我可以在508标准中找到唯一提到键盘使用的提及 这是 (逐字):

B部分 - 技术标准

§1194.21软件应用程序和操作系统。

(a)当软件设计为在具有键盘的系统上运行时,产品功能应可从键盘执行   函数本身或执行函数的结果都可以   以文字方式辨别。

我对此的看法是:

  • 键盘 捷径 鉴于给定部分可能包含的操作/特征量,导航选项可能是不切实际的。重要的是,它们可以通过键盘进行访问。
  • 从用户体验的角度来看,关键功能应该具有“仅仅因为”它是良好的用户体验实践的捷径。但要捷径 一切 从一条沟到另一条沟。
  • 508!=可访问性,但是如果您为gov / edu工作,那么您的PD可能符合要求。

另一方面是WCAG,它与508合规性相结合,在我的书中有更好的定义: 键盘内容在WCAG中处于“可操作”状态。

简而言之: 用户体验是一种很好的做法,可以为重要功能提供自定义键盘快捷键。但它本身与508合规无关。 (除了功能应该通过键盘 - 某些方式 - 可以访问)。


5
2017-07-28 05:13



您是否认为下拉菜单需要具有键盘快捷键才能适合出售给要求508合规性的政府或州政府机构?该网站的简单版本是否应该用于JAWS读卡器等人。? - Tom Stickel
他们应该可以通过键盘来访问508.我一直强调快捷方式和可达性之间的区别。您是否可以提供简单版本或RDF数据取决于您拥有的资源类型以及项目的设置方式。 ; - thinice


如果您正在谈论政府项目,那么有508个合规级别。有些部门会为开发人员分配508分,这会影响您未来合同的分数。 508合规性仅要求键盘可以访问所有内容,这在某种程度上通常是正确的。屏幕阅读器将读取未隐藏的所有内容,并且Tab键将使人们通过链接。但如果你想得到一个好成绩,你必须解决意图而不仅仅是法律条文。

编辑:屏幕阅读器将读取一些隐藏的元素。一种方法是将物品绝对定位在屏幕上方,具有负顶部位置。另一种方法是使用clip属性。 http://adaptivethemes.com/using-css-clip-as-an-accessible-method-of-hiding-content/ 但是如果你使用display:none,高度为零,并且javascript切换,很多屏幕阅读器都不会说这些项目。

在下拉列表的情况下,您正在主动隐藏屏幕阅读器等元素,因此您必须修复它,因为大多数读者都不会听到display:none。

您将找不到关于键盘导航的权威文档。没有人会确切地说明要做什么的原因是,有很多潜在的冲突 - 浏览器,操作系统等等。虽然Aria正在取得进展,但也没有标准: http://www.w3.org/TR/wai-aria-practices/#keyboard

我不会把accessKeys放在菜单上,如果这就是你的意思。
相反看: http://www.w3.org/TR/wai-aria-practices/#aria_ex_widget 

我会为“搜索”和“主页”等主要内容保存实际的访问权限。如果您拥有所有内容的accessKey,那么为您的网站添加学习曲线将无济于事。例如,如果您将“关于我们”命令为accessKey = A,并且您将20个accessKeys分配给字母,则会很糟糕。

我已经做了很长时间的508个网站,而且就个人而言,我只是不使用下拉菜单。添加子页面菜单要简单得多。我个人讨厌点击下拉列表。下拉菜单需要精确点击,这只会让我感到烦恼,并且对辅助功能没有帮助,因为记住可访问性还包括不能很好地点击的人。此外,下拉菜单的级别数量有限,不是技术上的,而是来自UX视图。

我用的是什么:

  • 标签索引。
  • 仔细放置菜单,以便用户在听到网站或页面的基本概念之前不会获得大量链接。
  • 在某些项目中,顺序显示具有匹配箭头键页面导航的树状菜单。
  • 如果需要,Accesskeys H用于家庭,S用于搜索。

问题尤其在于对信息进行排序。想想你扫描一长串链接的速度有多快,然后想象坐在那里等待它被你读。也许,将您的内容整理成易消化的部分并让搜索框进行扫描。取决于内容。

运气。 :)


0
2017-07-31 08:50



对不起詹妮弗,你给的建议不是最好的。 “屏幕阅读器将阅读所有未隐藏的内容” - 实际上,有些人会阅读它,这取决于它 怎么样它是隐藏的。 AccessKeys可以使用,但在有限的范围内 - 如果你想使用它们,我建议使用英国的标准。你列出你使用tabindexes,但给 没有 附加信息。该 只要 应该使用的值确实是0或-1。除此之外,您可能会为您,开发人员或最终用户带来麻烦。 - Ryan B
对Ryan来说,如果您觉得它有误导性,可以编辑帖子。但我也希望你能考虑是否缺乏有用的信息可能部分是由于没有人得到发言而没有得到这种反应。请不要采取这种消极方式,只是每次我尝试帮助这个话题的人时都会发生这种情况。我将编辑隐藏的含义。 - Jennifer Michelle
我没有编辑它,因为编辑会改变你答案的基调。例如,您提倡使用选项卡索引。好吧,如果OP只在导航器上打了1-6,一些浏览器/ AT会将用户发送回第七个标签键上的网址栏。 “如果没有得到这种反应,任何人都不会发言。”,你能解释一下吗?我的反应是因为你抛弃了关键词,几乎没有解释。如果你知道这个话题,再花两分钟教这个人和回答这个问题。 - Ryan B