aria-hidden=true是否意味着您不需要使用display:none ?
Does aria-hidden=true mean you don't have to use display:none?
我听说将display:none
应用于不可见的东西比改变不透明度更容易访问。然而,使用display:none
会使我的一些css动画逐渐分层到核心功能上。
它是可访问的,如果在我的css元素是隐藏的opacity:0
和给元素的aria-hidden=true
角色,或者元素也应该有display:none
?
另一个要考虑的因素是aria角色是由javascript控制的(css有一个:hover
伪类回退)。因此,对于没有javascript的环境,该元素只能用opacity:0
隐藏。
好吧,这就是aria-hidden
的基本定义:
指示该元素及其所有子类对作者实现的任何用户都不可见或不可感知。参见相关aria-disabled.
如果一个元素只有在某些用户操作之后才可见,作者必须将aria-hidden属性设置为true。当元素出现时,作者必须将aria-hidden属性设置为false或删除该属性,表示该元素是可见的。一些辅助技术直接通过DOM访问WAI-ARIA信息,而不是通过浏览器支持的平台可访问性。作者必须设置aria-hidden="true"对于未显示的内容,无论用于隐藏它的机制如何。这允许辅助技术或用户代理正确跳过文档中的隐藏元素。
所以我会说&;yes&;
当然,只要您设置了aria-hidden
,使用它来实际上隐藏元素是微不足道的,即使对于非阅读器版本(例如[aria-hidden="true"] { visibility: hidden; }
)也是如此。理想情况下,你应该把它设置在"隐藏"的最后。动画。事实上,由于您使用opacity
来隐藏元素,因此没有理由使用display: none
- visibility: hidden
将更符合您的要求。
相关文章:
- 如何在使用jQuery应用display:none后正确显示元素
- Javascript -> CSS (display:none to display:block)
- 当display:none时,getElementById()无法获取元素
- Greasemonkey:当style=“display: none;”发生变化时如何做某事
- Pre 标记似乎忽略了样式属性(例如 display:none)
- override fadeout() display: none
- jQuery - display : none not working
- 在javascript中覆盖CSS样式“display:none”
- Javascript CSS Transitions to display:none 可以解决
- 通过jQuery将DISPLAY:NONE添加到span,当:鼠标单击span外部,或单击EXIT按钮,等等+
- slideDown() 在 css 设置为 display:none 时不起作用
- 设置 style.display= none 后优雅的 javascript 重新调整
- 如何使用属性 display:none 测量类的长度
- JS监视CSS属性的变化,如“display:none”=>“display:block”
- jQuery show element with display:none !important
- 如何将“display:none”与jquery或javascript一起使用
- 为什么javascript读取具有display:none的元素
- Javascript/Jquery alternative to "display:none"?
- 设置 style
- 标记时不显示.display = none
- element.style.display='none' 不起作用