首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Role=“应用程序”在role=“导航”中有效吗?

Role=“应用程序”在role=“导航”中有效吗?
EN

Stack Overflow用户
提问于 2014-10-22 13:24:23
回答 1查看 344关注 0票数 1

我们目前正在测试新的PostFinance.ch网站的一些方面。

我们经历过,在火狐和Chrome中,NVDA成功地检测到菜单(div#topNav)作为应用程序(人们可以使用EnterEsc进入并离开它),而在Internet中却没有。

在查看了一下IE之后,我发现IE似乎不喜欢这样:

代码语言:javascript
复制
<div role="navigation">
  <div role="application">
    ...
  </div>
</div>

当直接使用DOM检查器将属性更改为以下内容并重新加载NVDA (NVDA+F5)时,它是工作的:

代码语言:javascript
复制
<div role="application">
  <div><!-- No role here! -->
    ...
  </div>
</div>

但它并没有宣布“导航”和“应用”,而只是“应用”,而在FF和Chrome (在原版),它宣布两者,这是一种有用的感觉。

现在我的问题是:谁是对的,FF/Chrome还是IE?是否允许向应用程序“分配多个角色”?有没有办法可以做这样的事情:<div role="application navigation">

它也将是有趣的是,无论是下巴还是其他AT的行为方式相同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-28 21:44:58

在这种情况下,我不会使用role=application地标,因为role=navigation本身就足够了。地标的目标是改进导航,并提供页面内容的概述。添加更多的(和嵌套的)地标会增加混乱、复杂性,并且不会为用户提供任何有用的东西。FWIW,我从来没有发现需要使用role=application。

如需参考,请参阅马可·泽赫的推荐--这是几年前的事了,但我认为它仍然非常相关:http://www.marcozehe.de/2012/02/06/if-you-use-the-wai-aria-role-application-please-do-so-wisely/

要记住的另一件事是:谨慎地使用ARIA。看看这个菜单栏的代码,一些ARIA属性被滥用了,没有提供任何值。半月板也不能正常工作。

关于菜单应该如何工作的一个很好的例子:http://test.cita.illinois.edu/aria/menubar/menubar1.php

注意:他们使用role=application,但它并不是菜单功能所需要的。

此外,DHTML工作组还就菜单应该如何工作提出了一些建议。实际上,菜单栏是一个带有弹出式菜单的工具栏。请参阅:http://access.aol.com/dhtml-style-guide-working-group/

我希望这是有帮助的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26508506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档