写aria-required="false"有什么好处吗?

Is there any benefit to writing aria-required="false"?

aria-required="false" 有什么好处,还是最好只根据需要添加 aria-required="true",否则就不要写?

我一直在努力在我阅读的 WCAG 文档中找到对此的任何说明。

为简单起见,即使 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

一样

Note
At the time of this writing, aria-hidden="false" is known to work inconsistently in browsers. As future implementations improve, use caution and test thoroughly before relying on this approach.

(*) 有几个 aria- 属性,您 do 必须将值专门设置为 truefalse 因为将它设置为 falsenotnot 相同属性,例如 aria-expandedaria-pressedaria-checkedaria-selected。例如,具有 aria-expandednot 没有任何意义,但具有 aria-expanded="false" 意味着您有一个当前折叠的 expandable/collapsable 部分。 Not 具有 aria-checked 没有任何意义,但具有 aria-checked="false" 意味着您有一个未选中的复选框。

使用 aria-required,因为它的值在设置后通常不会改变(不像刚才提到的四个属性 do 通常会根据用户交互而改变),我保持代码简单,只是没有属性。