【问题标题】:Is there any benefit to writing aria-required="false"?写 aria-required="false" 有什么好处吗?
【发布时间】:2022-02-11 05:33:38
【问题描述】:

aria-required="false" 有什么好处,还是最好只在需要时添加aria-required="true",否则就不用了?

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

【问题讨论】:

    标签: html accessibility wai-aria


    【解决方案1】:

    为简单起见,即使 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- 属性确实必须将值专门设置为 truefalse 因为设置它to false notnot 具有属性相同,例如aria-expandedaria-pressedaria-checkedaria-selected .例如,not 具有aria-expanded 没有任何意义,但具有aria-expanded="false" 意味着您有一个当前折叠的可展开/可折叠部分。 拥有aria-checked 没有任何意义,但拥有aria-checked="false" 意味着您有一个未选中的复选框。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-18
      • 2020-10-29
      • 2011-04-24
      • 1970-01-01
      • 2012-08-18
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多