创建一个符合逻辑的tab顺序_20160824

原文地址


说明

当默认tab顺序不符合逻辑顺序时,该技巧用来创建一个符合逻辑的tab书按需。但是,如果html源的内容顺序已是符合逻辑的,该技巧不是必须的。当精确设置tab顺序的时候,很容易引起可用性缺陷。

在某些情景下,开发者可能想要指定一个tab顺序,该顺序遵循内容中的关系,而不遵循代码中交互元素的顺序。在这种情况下,可以使用tabindex属性指定一个替代顺序。tabindex的范围是0~32767。

当使用tab键导航交互元素时,元素以tabindex属性值增长的顺序获得焦点。tabindex值大于0的元素将会比没有tabindex或其值为0的元素先接收焦点。所有高tabindex值元素获得焦点后,剩下的交互元素才会获得焦点,以其在web页面中出现的顺序。


样例

样例1:

一个搜索婚姻记录的家族搜索表单。搜索表单包含几个新郎和新娘的文本框。表单使用一个数据表格标记,该表格的第一列是新娘区域,第二列是新郎区域。内容中的顺序是一行一行的,但是开发者感觉一列一列的导航更符合逻辑。因此,所有新娘的条件可以在移动新郎区之前填写。编辑框的tabindex属性被用来指定一列一列导航的tab顺序。


效果

婚姻记录搜索
搜索条件 新娘 新郎
出生地

样例2:

一个页面在右上角包含一个搜索框。搜索框的tabindex属性为1,这样搜索框可以第一个获得tab焦点,尽管其不是内容顺序中的第一个。

样例3:

tabindex值不需要连续,也不必开始于特定的值。tabindex的值可以相同。具有tabindex的元素以其出现在字符流中的顺序被导航。

在内容中,其tab顺序遵循其内容顺序,给定所有元素一个相同的tabindex值,比为每一个元素指定不同的数值,更不容易出错。这更容易去重新排序这些元素或添加信息元素并保持符合逻辑的tab焦点。


效果