Html 在输入[type=";reset";]中包含tabindex属性是否有目的?

Html 在输入[type=";reset";]中包含tabindex属性是否有目的?,html,forms,accessibility,semantics,Html,Forms,Accessibility,Semantics,在输入[type=“reset”]中包含tabindex属性是否具有可访问性或语义目的?或者应该避免这种情况,以免表单意外且经常重置?如果您有重置按钮,则设置tabIndex=-1可以通过从选项卡顺序中移除按钮来降低按钮所带来的风险。属性的任何负值都意味着浏览器“不允许使用顺序焦点导航访问元素”。(这在HTML4中没有定义,HTML4不允许负值,但这是常见的浏览器行为,在HTML5中被标准化。)这意味着用户不会通过点击重置按钮并按Enter键意外破坏输入数据 另一方面,在极少数实际需要重置按钮的

在输入[type=“reset”]中包含tabindex属性是否具有可访问性或语义目的?或者应该避免这种情况,以免表单意外且经常重置?

如果您有重置按钮,则设置
tabIndex=-1
可以通过从选项卡顺序中移除按钮来降低按钮所带来的风险。属性的任何负值都意味着浏览器“不允许使用顺序焦点导航访问元素”。(这在HTML4中没有定义,HTML4不允许负值,但这是常见的浏览器行为,在HTML5中被标准化。)这意味着用户不会通过点击重置按钮并按Enter键意外破坏输入数据

另一方面,在极少数实际需要重置按钮的情况下,这将是一个可访问性问题。没有鼠标或有运动障碍的用户将发现很难或不可能重置表单。对于为了方便而使用键盘导航和控件的用户来说,这也是一个可用性问题:他会注意到在选项卡中跳过了重置按钮,可能不知道该做什么

类似的考虑也适用于其他值,这些值可能会更改元素在选项卡顺序中的位置。通常,使制表符顺序不同于元素的外观顺序容易混淆。但是,如果在标记中重置按钮位于提交按钮之前,则将其稍后放入选项卡顺序可能会降低用户销毁数据而不是提交数据的风险


从可用性和可访问性等方面来看,重置按钮的关键问题是不应该使用它,除非在非常罕见的情况下(在这种情况下,它通常首先以标记和选项卡顺序出现在表单中)。正如可用性大师雅各布·尼尔森(Jakob Nielsen)很久以前所说:“如果几乎所有的重置按钮都被移除,网络将是一个更快乐的地方。这个按钮几乎不会帮助用户,但往往会伤害他们。”

如果你有一个重置按钮,那么设置
tabIndex=-1
可以通过从选项卡顺序中移除按钮来降低按钮带来的风险。属性的任何负值都意味着浏览器“不允许使用顺序焦点导航访问元素”。(这在HTML4中没有定义,HTML4不允许负值,但这是常见的浏览器行为,在HTML5中被标准化。)这意味着用户不会通过点击重置按钮并按Enter键意外破坏输入数据

另一方面,在极少数实际需要重置按钮的情况下,这将是一个可访问性问题。没有鼠标或有运动障碍的用户将发现很难或不可能重置表单。对于为了方便而使用键盘导航和控件的用户来说,这也是一个可用性问题:他会注意到在选项卡中跳过了重置按钮,可能不知道该做什么

类似的考虑也适用于其他值,这些值可能会更改元素在选项卡顺序中的位置。通常,使制表符顺序不同于元素的外观顺序容易混淆。但是,如果在标记中重置按钮位于提交按钮之前,则将其稍后放入选项卡顺序可能会降低用户销毁数据而不是提交数据的风险


从可用性和可访问性等方面来看,重置按钮的关键问题是不应该使用它,除非在非常罕见的情况下(在这种情况下,它通常首先以标记和选项卡顺序出现在表单中)。正如可用性大师雅各布·尼尔森(Jakob Nielsen)很久以前所说:“如果几乎所有的重置按钮都被移除,网络将是一个更快乐的地方。这个按钮几乎不会帮助用户,但往往会伤害他们。”

可访问性和可用性之间有区别——如果用户经常意外地重置表单,那么这听起来像是一个可用性问题。如果你有一个重置按钮,它应该像任何其他表单控件一样可以访问。这有点不相关,但是为什么你有一个重置按钮呢?您上次使用表单并决定重置其内容是什么时候?你最后一次不小心用它是什么时候?简而言之:重置按钮对你有帮助吗?可访问性和可用性之间有区别——如果你的用户经常意外地重置表单,那么这听起来像是一个可用性问题。如果你有一个重置按钮,它应该像任何其他表单控件一样可以访问。这有点不相关,但是为什么你有一个重置按钮呢?您上次使用表单并决定重置其内容是什么时候?你最后一次不小心用它是什么时候?简言之:重置按钮对你有帮助吗?