【发布时间】:2022-02-11 05:33:38
【问题描述】:
写aria-required="false" 有什么好处,还是最好只在需要时添加aria-required="true",否则就不用了?
我一直在努力在我阅读的 WCAG 文档中找到对此的任何澄清。
【问题讨论】:
标签: html accessibility wai-aria
写aria-required="false" 有什么好处,还是最好只在需要时添加aria-required="true",否则就不用了?
我一直在努力在我阅读的 WCAG 文档中找到对此的任何澄清。
【问题讨论】:
标签: html accessibility wai-aria
为简单起见,即使 false 是默认值,我也总是不使用该属性,而不是将其设置为 false。 大多数情况下(*) 无论哪种方式你都没事。从 javascript 的角度来看,有时使用条件(三元)运算符比删除属性更容易。
disabled = obj.getAttribute('aria-disabled');
obj.setAttribute('aria-disabled', disabled ? "false" : "true");
/* versus */
disabled = obj.getAttribute('aria-disabled');
if (disabled)
obj.removeAttribute('aria-disabled')
else
obj.setAttribute('aria-disabled', "true");
有时文档中有一条说明不这样做,就像aria-hidden
注意
在撰写本文时,已知aria-hidden="false"在浏览器中的工作方式不一致。随着未来实施的改进,请谨慎使用并在依赖此方法之前进行彻底测试。
(*) 有一些 aria- 属性确实必须将值专门设置为 true 或 false 因为设置它to false not 与 not 具有属性相同,例如aria-expanded、aria-pressed、aria-checked、aria-selected .例如,not 具有aria-expanded 没有任何意义,但具有aria-expanded="false" 意味着您有一个当前折叠的可展开/可折叠部分。 不拥有aria-checked 没有任何意义,但拥有aria-checked="false" 意味着您有一个未选中的复选框。
使用aria-required,因为它的值通常在设置后不会改变(不像刚才提到的四个属性,do 通常会根据用户交互而改变),我保持代码简单,只是不要'没有属性。
【讨论】: