ARIA 属性是否需要存在于实际的 HTML 中?或者,它们可以在运行时通过 Javascript 添加吗?
考虑以下场景...
<button id="submit" type="submit">Submit</button>
<div id="validation-message"></div>
如果用户的浏览器没有 Javascript,我们会在新页面上向他们展示验证(由服务器处理和生成)。如果用户的浏览器确实有 Javascript,我们在上面的 HTML 中添加以下内容,然后在 DIV 中动态显示验证。
$('#submit').attr({'aria-haspopup':true, 'aria-owns':'validation-message'});
$('validation-message').attr({'role':'alert', 'aria-live':'assertive'});
我想另一个问题是,将这些 ARIA 属性直接包含在 HTML 源代码中是否会造成伤害?如果 Javascript 不存在,ARIA 会做任何事情吗?