Предположим, у нас есть классическая форма - несколько полей ввода, которые должны соответствовать некоторому шаблону. Когда пользователь вводит неверные данные и отправляет эту форму, все поля, которые были заполнены неправильно, помечены как недопустимые, и соответствующее соответствующее сообщение об ошибке предоставляется для каждого неправильного поля.WAI ARIA alert on form submit (с перегрузкой страницы)
Мне нужно сделать эту форму WAI ARIA совместимой, так что после подачи формы средства доступности сначала увидят эти ошибки. Я нашел solution, который реализует его с помощью динамического изменения HTML с помощью JS (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;
});
Здесь проверка не перегрузить страницу, и Зона «alert» динамически модифицируется.
В моем случае страница перезагружается на этапе валидации, и я не знаю, как сделать аварию. После нескольких часов расследования я не нашел никакого решения. Есть идеи?
'role =" alert "' имеет неявное поведение 'aria-live =" assertive "'. См. Http://www.w3.org/WAI/PF/aria/roles#alert. – ckundo
. Для обсуждения нюансов 'role =" alert "', см. Http://blog.paciellogroup.com/ 2012/06/html5-accessibility-chops-aria-rolealert-browser-support/ – ckundo