当我显示一个对话框时,我需要使用aria-hidden="true"
隐藏屏幕阅读器中的元素。当取消显示该对话框时,我必须再次删除aria-hidden
。
如果有一些元素已经设置了aria-hidden
,我想在数据属性中缓存它们的原始状态,所以我可以在取消显示对话框时再次将其设置回原始值框。
$('body > :not(#dialog)').each ->
$el = $(@)
$el.data('dialog-aria-hidden', $el.attr('aria-hidden')) # Store original value
$el.attr('aria-hidden', true) # Set new value
我不想创建一个临时的$el
元素。有更快的方法吗?这样的事可能吗?
$('body > :not(#dialog)').data('dialog-aria-hidden', attr('aria-hidden')).attr('aria-hidden', true)