Я работаю над проектом сайта и исправляю дефекты доступности.
Ограничения моей настройки:
- Операционная система - Windows 7/10
- Браузер - Internet Explorer 11
- Программное обеспечение для специальных возможностей - JAWS 2018.1804.26
У меня нет контроля над этими ограничениями, поэтому, пожалуйста, не предлагайте никаких решений для каких-либо других настроек.
У меня есть дефект, который говорит о том, что HTML <select>
(раскрывающийся список) должен быть указан в «кликабельных» элементах JAWS. (Это модальное диалоговое окно, отображаемое при нажатии клавиши аккорда Ins + Ctrl + / .) Ранее я сталкивался с подобным вопросом с другими типами элементов HTML. , и я исправил те с комбинацией следующего:
- Добавить обработчик
onclick
(в моем случае пустую функцию)
- Добавить значение в атрибут
aria-label
(в моем случае, динамически)
При попытке выполнить эти шаги в текущем дефекте, я могу сделать так, чтобы <select>
отображался в модальном диалоговом окне «кликабельно», но текст не указан (полагаю, он «сообщает» о пустой строке). Это несмотря на то, что значение aria-label
.
Другие примечания:
- Рассматриваемый
<select>
находится внутри <span>
, который находится внутри <td>
1
Это выглядит так:
<table>
<tbody>
<tr>
<td>
<span>
<select> ... options ... </select>
<span>
</td>
</tr>
</tbody>
</table>
Я пытался изменить приведенный выше код следующим образом:
<table>
<tbody>
<tr>
<td>
<span>
<select onclick="emptyHandler" aria-label="Some text">
... options ... </select>
<span>
</td>
</tr>
</tbody>
</table>
function emptyHandler() {
/* This function is empty by design */
/* Its function is to expose an element */
/* as a clickable element to JAWS, when */
/* otherwise JAWS would ignore it. */
}
Внесение вышеуказанных изменений DID добавить элемент в список интерактивных элементов, но текст не отображается. Вы можете увидеть дополнительную строку и выделить ее, но это просто количество пробелов / текста (или, может быть, просто ничего).
1 Я не написал пользовательский интерфейс для этой страницы, и у меня нет желания (и я не уполномочен) переписать всю страницу. Я подозреваю, что обертывание элементов управления внутри элементов делает некоторые действительно странные вещи при взаимодействии с JAWS, но я не могу исправить эту часть этой проблемы.
У меня есть несколько вопросов по этому поводу, так как я не могу найти хорошую документацию о том, как именно это должно работать:
- Есть ли подробная документация о том, как это должно работать? Мои поиски на веб-сайте Freedom Scientific, а также в Mozilla и в Интернете дали некоторую информацию, но мне бы очень хотелось найти место, где я мог бы найти ответы такого рода. В частности, кажется, что нет последовательного, канонического определения, что такое «кликабельный» элемент. По умолчанию некоторые элементы обрабатываются как «кликабельные», тогда как добавление пользовательского обработчика
onclick
, по-видимому, позволяет добавлять в этот список элемент ANY . Что приводит меня к ...
- Как именно - работает "кликабельный" модальный диалог в JAWS? Я думаю, что выяснил, как добавить элемент в этот список, но то, что он отображает, кажется немного противоречивым. Что приводит меня к ...
- Что предполагается для отображения в этом модальном диалоге? В предыдущем тестировании выяснилось, что отображаемый текст является значением в атрибуте
aria-label
, так почему это здесь не работает?
- Неуместно ли ожидать, что здесь появится элемент
<select>
? По этой причине я всегда могу устранить этот недостаток, но я не хочу этого делать, если не уверен, что это правильный курс действий.