是否存在可访问性或语义目的,以在输入[type =“reset”]中包含tabindex属性?或者是否应该避免这种情况,因此不会意外地重置表格?
答案 0 :(得分:5)
如果您有重置按钮,则设置tabIndex=-1
可以通过从按Tab键顺序中删除按钮来降低按钮带来的风险。 tabIndex
属性的任何负值意味着浏览器不“允许使用顺序焦点导航来访问元素”。 (这不是在HTML 4中定义的,它不允许负值,但它是常见的浏览器行为并在HTML5中标准化。)这意味着用户不会通过跳到重置按钮并按下来意外破坏他的输入数据输入
另一方面,在极少数实际需要重置按钮的情况下,这将是一个可访问性问题。没有鼠标或具有运动障碍的用户会发现重置表格很困难或不可能。对于使用键盘导航和控件以方便用户而言,这也是一个可用性问题:他会注意到在选项卡中跳过了重置按钮,可能不知道该怎么做。
类似的考虑因素适用于其他值,这些值可能会更改Tab键顺序中元素的位置。通常,使标签顺序与元素的明显顺序不同往往会混淆。但是,如果重置按钮位于标记中的提交按钮之前,则稍后将其放入Tab键顺序可能会降低用户销毁其数据而不是提交数据的风险。
重置按钮的关键问题,在可用性和可访问性方面以及其他方面,不应该使用它,除非在非常罕见的情况下(它通常应首先出现在表单中,包括标记和标签)订购)。正如可用性专家雅各布·尼尔森(wrote很久以前一样:“如果删除几乎所有的重置按钮,网络将会更加幸福。这个按钮几乎从不帮助用户,但经常会伤害他们。“