繁体   English   中英

我应该使用JavaScript更新aria- *属性吗?

[英]Should I be updating aria-* attributes with JavaScript?

假设我有以下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代码,将明确地切换aria-hidden之间truefalse取决于我的CSS规则是否显示或隐藏段落标记?

我正在努力解决这些aria属性的使用方式,以及它们是否暗示JavaScript开发人员需要添加其他代码来更改HTML标记,从而以反映我的CSS描述的行为的方式来思考。

您的特定示例有些奇怪,但是总的来说,是的,应该使用javascript来更改aria属性的值。 就像可以使用JS更改任何element属性的值一样。

如果您有一个自定义复选框,例如<span role='checkbox' aria-checked='false'> (*),那么当选中该复选框时,您需要JS将aria-checked的值从FALSE更改为TRUE。 (当然,反之亦然)。

(*)如果您有一个自定义复选框,那么您将拥有其他未在此处显示的其他属性,例如tabindex,鼠标和键盘处理程序等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM