假设我有以下HTML代码:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p {
display:none;
}
input:focus + p {
display:block;
}
</style>
</head>
<body>
<input />
<p aria-hidden="true">This field should not exceed 200 characters.</p>
</body>
</html>
当我将鼠标光标放在
input
字段中时,将出现该段落。但是,尽管可见,该段落仍具有属性aria-hidden="true"
。在网络可访问性方面,我是否应该引入JavaScript代码,这些代码将根据我的CSS规则显示还是隐藏段落标记来在
aria-hidden
或true
之间显式切换false
?我想弄清楚如何使用这些
aria
属性,以及它们是否暗示JavaScript开发人员需要添加其他代码来更改HTML标记,从而以反映我的CSS描述的行为的方式来思考。 最佳答案
您的特定示例有些奇怪,但是总的来说,是的,应该使用javascript来更改aria属性的值。就像可以使用JS更改任何element属性的值一样。
如果您有一个自定义复选框,例如<span role='checkbox' aria-checked='false'>
(*),那么当选中该复选框时,需要JS将aria-checked的值从FALSE更改为TRUE(当然反之亦然)。
(*)如果您有一个自定义复选框,那么您将拥有其他一些此处未显示的属性,例如tabindex,鼠标和键盘处理程序等。