Как сделать доступным апплет на странице с помощью кнопки?
На странице HTML у меня есть <button>
, Нажав на нее, JavaScript вставляет апплет в <div>
в другом месте на странице. Повторное нажатие скрывает div. Больше щелчков переключает его. (Если это имеет значение, то это апплет GeoGebra.)
У меня есть несколько вопросов о том, как сделать такую вещь доступной. Я надеюсь, что некоторые гуру доступности могут иметь ответы.
- Моя кнопка имеет заголовок "Показать калькулятор" и при нажатии переключается на "Скрыть калькулятор". Что-нибудь еще может быть связано с атрибутами кнопок?
- Правильно ли вводить апплет в
<div>
вместо, скажем, HTML<object>
? - Когда кнопка нажата, может ли фокус остаться на кнопке или она должна перейти к апплету? Если фокус остается на кнопке, нужно ли предоставить пользователю программы чтения с экрана простой способ перехода к апплету? И если да, то как таким образом общаться с пользователем? Должен ли я предоставить простой способ вернуть фокус с апплета на кнопку?
- Для такого рода вещей, если на
<div>
? Есть ли подходящая роль арии? И уместно ли в этой ситуации использовать область живого арии, объявляющую показ / скрытие div?
1 ответ
Решение
Для лучшего доступа, вы должны следовать шаблону раскрытия виджета.
Чтобы ответить на ваши конкретные вопросы.
- Шаблон раскрытия говорит об атрибутах ARIA, которые должны быть установлены на вашей кнопке.
- Извините, это не относится к доступности, поэтому я не могу ответить на него.
- В общем, вы не должны перемещать фокус после выбора кнопки. В противном случае это может привести к нарушению WCAG 3.2.2 "На входе", "если пользователь не был проинформирован о поведении перед использованием компонента".
Если дать пользователю знать, как добраться до апплета, если вы будете следовать шаблону виджета раскрытия, он будет слышать "развернутый" или "свернутый" при изменении значенияaria-expanded
так что пользователь будет знать, что что-то следует. Ваш апплет сразу следует за кнопкой в DOM? Это было бы лучшим решением. Если между кнопкой и новым внедренным апплетом есть элементы, это может сбить с толку. aria-live
может быть очень удобно, но в этом случае не должно быть необходимости, если № 3 следует.