【发布时间】:2014-01-11 21:43:17
【问题描述】:
假设我们有一个经典表单 - 一些必须符合某种模式的输入字段。当用户输入错误的数据并提交此表单时,所有填写错误的字段都将被标记为无效,并为每个错误的字段提供相应的错误消息。
我需要使此表单符合 WAI ARIA,以便在表单提交后辅助工具会首先看到这些错误。 我找到了solution,它通过使用 JS 的动态 html 修改来实现它(http://jsfiddle.net/nS3TU/1/):
HTML:
<form id="signup" method="post" action="">
<p id="errors" role="alert" aria-live="assertive"></p>
<p>
<label for="first">First Name (required)</label>
<input type="text" id="first">
</p>
<p>
<input type="submit" id="button" value="Submit">
</p>
</form>
JS:
$('#signup').submit(function () {
$('#errors').html('');
if ($('#first').val() === '') {
$('#errors').append('Please enter your first name.');
}
return false;
});
这里验证不会重新加载页面,并且“警报”区域是动态修改的。
在我的情况下,页面在验证阶段重新加载,我不知道如何使 aria alert 起作用。经过数小时的调查,我根本没有找到任何解决方案。有什么想法吗?
【问题讨论】:
-
role="alert"具有aria-live="assertive"的隐式行为。见w3.org/WAI/PF/aria/roles#alert -
要讨论
role="alert"的细微差别,请查看blog.paciellogroup.com/2012/06/…
标签: accessibility alert wai-aria