哪一个是更好的解决方案?隐藏的咏叹调,从DOM或其​​他东西中删除元素

时间:2017-01-08 22:29:19

标签: javascript accessibility wai-aria

就个人而言,我认为删除元素可能更适合网站维护,但为了便于访问,它是否可以保存?

样本将是

      <input type="radio" value="single" name="userGroup" id="single" required />
      <label for="single">Single</label>

      <input type="radio" value="families" class="form-checkbox" name="userGroup" id="families" required />
      <label for="families" >Families</label>

其余表单字段将根据userGroup

而有所不同

当用户在单身家庭和家庭之间切换时,家庭小组将有额外的字段,如“帐单支付”部分(合并与否)和“您希望如何共享数据计划”(限制使用与否)单一表格字段

作为一种形式,像“账单支付”这样的元素应该是咏叹调隐藏真实还是从DOM中移除?

1 个答案:

答案 0 :(得分:7)

如果没有更多的上下文和/或URL来查看它的实际效果,很难回答这个问题。

如果您允许用户返回并更改选择,然后更改后续字段,则考虑用户何时出错。通过完全从DOM中删除字段,用户已输入的任何内容都将丢失。如果这是一个错误,那么用户切换回来看到丢失的信息,可能会生气。

严格来说,从可访问性的角度来看,我只会隐藏字段,以便用户可以在Single和Families之间切换,而不会丢失他/她可能难以输入的任何信息。

如果您使用CSS将容器设置为aria-hidden,您也可以跳过使用display:none,因为这也会将其隐藏在屏幕阅读器中。这意味着您在切换时不必管理CSS和HTML属性,您只需管理其中一个。