aria-hidden=true是否意味着您不需要使用display:none ?

Does aria-hidden=true mean you don't have to use display:none?

本文关键字:display none 不需要 true 是否 意味着 aria-hidden      更新时间:2023-09-26

我听说将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将更符合您的要求。