隐藏咏叹调的人需要一个值吗?

时间:2019-03-08 10:18:46

标签: html accessibility

我可以代替<div aria-hidden><div aria-hidden="true">吗?还是应该总是做<div aria-hidden="true">

3 个答案:

答案 0 :(得分:2)

它不是布尔属性。必须提供一个明确的值。

答案 1 :(得分:2)

The current version of spec表示“隐藏的状态”是一种状态,它可以具有三个值:

  

false :该元素像呈现的一样暴露于可访问性API。

     

true :该元素从可访问性API中隐藏。

     

未定义(默认):元素的隐藏状态由用户代理根据是否呈现来确定。

这意味着当在没有显式true或false值的元素上设置aria-hidden属性时,如果未呈现该属性,则将其视为隐藏的。

  

我可以代替<div aria-hidden><div aria-hidden="true">吗?还是应该总是做<div aria-hidden="true">

<div aria-hidden><div aria-hidden="true">不是等效的,如果元素在屏幕上可见,但您希望将其从可访问性API中隐藏,则必须设置aria-hidden="true"

答案 2 :(得分:1)

您需要使用aria-hidden="true"(或分别使用false)。

不过,对aria-hidden="false"的评论:据我所知,这没有用。即使将display:none;设置为aria-hiddenfalse仍将使屏幕阅读器看不到内容,因此,这并不是将元素拖出屏幕阅读器的可见性。

请注意,应谨慎考虑使用aria-hidden:根据所使用的浏览器,可能会发生意想不到的影响。由于aria-hidden将一个元素及其所有子元素标记为隐藏,但可能不会否定其他属性,因此在使用aria-hidden时,需要彻底测试UI。例如,子元素可能是可聚焦的,但被标记为隐藏的-焦点仍移至该元素,但未呈现任何可访问性信息,因为该元素应被隐藏。