Предыстория: для пользователей Windows в Chrome и IE выпадающие списки, которые перезагружают или изменяют страницу, не подходят для специальных возможностей. Как только пользователь нажимает кнопку со стрелкой вниз, страница перезагружается. Это означает, что пользователь может получить доступ только к самой первой опции меню. Вот пример: http://html.cita.illinois.edu/script/onchange/onchange-example.php
Это описано в правиле WCAG: «Изменение настройки любого компонента пользовательского интерфейса не приводит к автоматическому изменению контекста, если только пользователь не был проинформирован о поведении перед использованием компонента. (Уровень А)”
ЗА ИСКЛЮЧЕНИЕМ пользователь может очень легко открыть раскрывающийся список и изучить все параметры, не вызывая событие onchange. Пользователь делает это нажатием пробела. Это очень известный трюк с клавиатурой, о котором, как я видел, все протестированные пользователи уже знают или могут быстро понять.
В моей системе мы используем раскрывающийся список для разбивки на страницы в длинных каталогах. Например: «вы находитесь на странице [1^] из 16» (при этом [1^] является раскрывающимся меню браузера по умолчанию). Дизайнеры не допустят никаких визуальных кнопок [go]. Это происходит на тысячах страниц, исправления javascript, которые я видел, должны учитывать каждое раскрывающееся меню, а в нашем случае это невозможно.
Используя пробел, пользователь может увидеть все параметры и сделать выбор из любого места в списке, используя только клавиатуру. Так почему же выпадающие меню страниц, которые автоматически перезагружаются при изменении, по-прежнему считаются недоступными? И будут ли они считаться доступными, если мы включим только текст для чтения с экрана, который гласил: «Нажмите пробел, чтобы открыть это меню, сделав выбор, вы загрузите следующую страницу».