Читатель экрана челюстей IE 11 выберите проблему тега
У меня есть некоторые проблемы с IE 11 и Jaws. Пожалуйста, посмотрите на пример ниже.
Пример упрощенного кода:
<input type="text" />
<span role="alert" aria-live="assertive" id="err"></span>
<select id="colours">
<option value="White">White invalid</option>
<option value="Green">Green invalid</option>
<option value="Red">Red</option>
<option value="Blue">Blue</option>
</select>
var i = 0;
$('#colours').on('keyup', function (e) {
if ($(this).prop('selectedIndex') < 2) {
$('#err').html('an error has occurred ' + i++);
}
else {
$('#err').html('');
}
});
jsfiddle: https://jsfiddle.net/obwapffq/2/
По сути, я проверяю выбранный элемент в раскрывающемся списке (в примере "белые" и "зеленые" значения недопустимы). Я использую только кнопки вверх и вниз на клавиатуре, чтобы изменить выбранное значение. Если выбрана неверная опция, я обновляю содержимое элемента span соответствующим сообщением об ошибке. Элемент span имеет role="alert" и aria-live="assertive". У меня есть 2 вопроса:
- Если выбранный параметр недействителен, сообщение об ошибке считывается, но выбранный параметр не считывается, и поэтому пользователь не знает, какой параметр недопустим, т. Е. Какой параметр вызвал эту ошибку.
- Иногда даже действительные параметры не считываются. Это в основном происходит с первым допустимым параметром в списке, т.е. в примере "Красный"
Это работает на 100% правильно с NVDA.
Есть идеи?
1 ответ
Пожалуйста, добавьте атрибут aria-label="yourOptionText" в ваш тег опции. например, aria-label="White Invalid". Надеюсь, это поможет.