Добавление поддержки WAI-ARIA в метод jQuery .toggle()
Я хотел бы соединить WAI-ARIA aria-hidden
поддержка метода.toggle() в jQuery.
Так дано <p id="myElement">Hi there</p>
$('#myElement').toggle()
будет скрывать элемент и установить aria-hidden="true"
:
<p id="myElement" style="display: none;" aria-hidden="true">Hi there</p>
И выполняя то же самое $('#myElement').toggle()
Сценарий снова будет показывать (переключать) элемент и устанавливать (переключать) aria-hidden="false"
:
<p id="myElement" style="display: block" aria-hidden="false">Hi there</p>
Я, вероятно, хочу использовать полную функцию метода, может быть, что-то вроде
$('#myElement').toggle(
if ($this.css('display')==='none'){
$this.prop('aria-hidden', 'true')
}
else
{
$this.prop('aria-hidden', 'false')
}
)
Какое самое эффективное решение для расширения .toggle()
также переключать aria-hidden
государство?
2 ответа
Короткий ответ: в этом нет необходимости.
Доступная технология поддерживает CSS display: hidden;
свойство таким образом, что уже правильно скрывает элемент. Так что уточнение aria-hidden="true"
является избыточным, с точки зрения программы чтения с экрана, на jQuery .toggle()
метод установки display
собственность на hidden
, Определение aria-hidden="false"
(или удаляя aria-hidden
свойство) является избыточным для jQuery's .toggle()
метод установки display
собственность на inline
,
Пожалуйста, см. /questions/39906299/kak-uvedomit-programmyi-chteniya-s-ekrana-s-pomoschyu-wai-aria-chto-div-teper-viden/39906308#39906308 и Steve Faulkner HTML5 Специальные возможности доступа: скрытый и скрытый пост в блоге (в частности, "Сводка результатов") для получения дополнительной информации.
Принятый ответ является правильным по духу, но имеет некоторые проблемы в специфике:
Для свойства CSS Display нет скрытого значения - оно должно быть "none".
jQuery.toggle () не устанавливает отображение на "встроенный", когда скрывается; он устанавливает его обратно в пустое значение, которое возвращается к тому значению, которое диктуется каскадом. Так что, если вычисленное значение для отображения было "блоком", это то, к чему оно возвращается.