在HTML中tabindex属性的用途是什么?
当前回答
当用户按下tab按钮时,用户将按如下示例所示的顺序依次进入表单。
例如:
Name: <input name="name" tabindex="1" />
Age: <input name="age" tabindex="3" />
Email: <input name="email" tabindex="2" />
其他回答
控制页内标签的顺序(按tab键移动焦点)。
参考:http://www.w3.org/TR/html401/interact/forms.html # h-17.11.1
tabindex用于定义用户在使用Tab键浏览页面时遵循的顺序。默认情况下,自然标签顺序将与标记中的源顺序匹配。
The tabindex content attribute allows authors to control whether an element is supposed to be focusable, whether it is supposed to be reachable using sequential focus navigation, and what is to be the relative order of the element for the purposes of sequential focus navigation. The name "tab index" comes from the common use of the "tab" key to navigate through the focusable elements. The term "tabbing" refers to moving forward through the focusable elements that can be reached using sequential focus navigation. W3C Recommendation: HTML5 Section 7.4.1 Sequential focus navigation and the tabindex attribute
tabindex从0或任何正整数开始,并向上递增。通常会避免使用0值,因为在Mozilla和IE的旧版本中,tabindex会从1开始,然后移动到2,只有在2之后才会变成0,然后是3。tabindex的最大整数值是32767。如果元素具有相同的tabindex,则该tabindex将匹配标记中的源顺序。负值将从制表符索引中删除该元素,因此它将永远不会被聚焦。
如果一个元素被赋值为-1的tabindex,它将删除该元素,并且它将永远无法聚焦,但是可以通过使用element.focus()以编程方式将焦点赋予该元素。
如果指定的tabindex属性没有值或为空值,它将被忽略。
如果在具有tabindex的元素上设置了disabled属性,则该元素将被忽略。
If a tabindex is set anywhere within the page regardless of where it is in relation to the rest of the code (it could be in the footer, content area, where-ever) if there is a defined tabindex then the tab order will start at the element which is explicitly assigned the lowest tabindex value above 0. It will then cycle through the elements defined and only after the explicit tabindex elements have been tabbed through, will it return to the beginning of the document and follow the natural tab order.
在HTML4规范中,只有以下元素支持tabindex属性:锚、区域、按钮、输入、对象、选择和文本区域。但是考虑到可访问性,HTML5规范允许所有元素被分配为tabindex。
--
例如
<ul tabindex="-1">
<li tabindex="1"></li>
<li tabindex="2"></li>
<li tabindex="3"></li>
</ul>
和
<ul tabindex="-1">
<li tabindex="1"></li>
<li tabindex="1"></li>
<li tabindex="1"></li>
</ul>
因为不管它们都被赋值为tabindex="1",它们仍然会遵循相同的顺序,第一个是第一个,最后一个是最后一个。这也是一样的。
<div>
<a></a>
<a></a>
<a></a>
</div>
因为如果tabIndex是默认行为,则不需要显式地定义它。默认情况下,div是不可聚焦的,但锚标记可以。
当用户按下tab按钮时,用户将按如下示例所示的顺序依次进入表单。
例如:
Name: <input name="name" tabindex="1" />
Age: <input name="age" tabindex="3" />
Email: <input name="email" tabindex="2" />
HTML tabindex属性负责指示一个元素是否可以通过键盘导航访问。 当用户按Tab键时,焦点从一个元素转移到另一个元素。通过使用tabindex属性,制表符顺序流被移位。
它可用于更改默认的表单元素焦点导航序列。
如果你有:
text input A
text input B
submit button C
通过使用tab键,您可以通过A->B->C进行导航。Tabindex允许你改变这个流程。
推荐文章
- 样式化HTML电子邮件的最佳实践
- CSS/HTML:什么是使文本斜体的正确方法?
- 我如何才能在表中应用边界?
- 如何使一个DIV不包装?
- CSS div元素-如何显示水平滚动条只?
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用“!”的含义是什么?重要的”?
- 资源解释为样式表,但以MIME类型text/html传输(似乎与web服务器无关)
- 复选框输入是否只在被选中时才发布数据?
- 是类型="文本/css"必须在<链接>标签?
- 如何将LaTeX与Markdown混合?
- 如何使<div>总是全屏?
- 如何中心div垂直内绝对定位的父div
- 创建一个可变长度的字符串,用重复字符填充
- 有效使用< >(锚标签)没有href属性?