HTML5-焦点管理

栏目: Html5 · 发布时间: 6年前

内容简介:在开发TV web 应用时,发现在交互方式上和传统web开发很不一样。PC上的页面上都是通过鼠标进行交互,而TV则不同,它是通过遥控器按键进行交互,它有点击、移动(上下左右)、返回、主页等操作。移动的实质则是切换焦点,所以我们需要去理解什么焦点。focusable元素: 能够被聚焦的元素,比如

在开发TV web 应用时,发现在交互方式上和传统web开发很不一样。PC上的页面上都是通过鼠标进行交互,而TV则不同,它是通过遥控器按键进行交互,它有点击、移动(上下左右)、返回、主页等操作。

移动的实质则是切换焦点,所以我们需要去理解什么焦点。

focusable元素: 能够被聚焦的元素,比如 buttoninput

接下来我们需要了解一下 tabindex 属性,这个很重要,没有它实现不了焦点管理。

Tab Index

根据HTML5规范,属性 tabindex 定义了元素是否可以聚焦。

也就是说如果一个元素声明了 tabindex="0" ,那么这个元素就允许聚焦了。

<div tabindex="0"></div>
复制代码

tabindex 的值有一些规则,我们接下来看一看。

它的值必须是一个整数(Integer),包括正整数、负整数、0。

负整数

如果该属性值为负整数,浏览器必须允许该元素可被聚焦,但,不能允许它被连续聚焦导航触及。

连续聚焦导航: 通过键盘进行连续导航,比如 tab

举个具体例子,在chrome下,给一个 div 设置 tabindex="-1"

<div id="test" tabindex="-1" ></div>
复制代码

如果使用 tab 键进行焦点切换,这个div是选不中的,如果使用 focus 事件,是可以选中的。

document.getElementById("test").focus()
复制代码

0

如果该属性值为 0,浏览器必须允许该元素可聚焦,允许该元素可被连续聚焦导航触及,遵循平台(platform)约定去判定该元素的相对顺序。

也就是说不论通过键盘(tab键),还是 focus 事件,都可以选中元素。

正整数

如果该属性值为正整数,浏览器必须允许该元素可聚焦,允许该元素可被连续聚焦导航触及,应该安排该元素在连续聚焦导航中的顺序

在0和正整数中出现了导航顺序这个概念,那这又是什么呢?

导航顺序

导航顺序,使用tab键进行焦点切换的顺序。

根据HTML5文档来看,假设有一个元素设置了tabindex,且属性值为正整数,那元素 排序 具体有以下几个规则:

  • 在任何tabindex属性被忽略或对其值解析后返回一个错误的可聚焦元素之前
  • 在任何tabindex属性值小于等于零的可聚焦元素之前
  • 在任何tabindex属性值大于零,小于该元素的tabindex值的元素之后,
  • 在任何tabindex属性值等于该元素的tabindex值且在文档的树顺序(#tree order)中比该元素靠前的元素之后,
  • 在任何tabindex属性值等于该元素的tabindex值且在文档的树顺序(#tree order)中比该元素靠后的元素之前,
  • 在任何tabindex属性值大于该元素的tabindex值的元素之前。

我根据规范在chrome中进行了测试,顺序在chrome中简单来说就是:

  • 导航顺序以从小到大的顺序,正序排列,  0  特殊,始终在最后面。(e.g. [1, 2, 3, 4, 5, 6, ..., 0]  )
  • 负整数不在导航顺序之中
  • 如果属性值一样,那就依据在文档流中的顺序进行排列(0和正整数都适用)

默认的聚焦元素

HTML5规定,有一些元素默认是聚焦元素

  • 具有href属性的a元素
  • 具有href属性的link元素
  • 没有被禁用(#disabled)的button元素
  • type属性不为隐藏(#Hidden)状态且没有被禁用的input元素
  • 没有被禁用的select元素
  • 没有被禁用的textarea元素
  • 没有disabled属性的command元素
  • 设有draggable属性的元素,如果有可能user agent允许用户使用非指针设备进行拖拽操作的
  • 编辑宿主(#Editing hosts)
  • 浏览上下文容器( #Browsing context containers )

另外,每一个由area元素生成的形状都应该为可聚焦元素。除非平台约定有不同的描述。

我在chrome下测试了几个元素,发现实现和规范还是有一些出入。比如:具有href属性的link元素,不能被聚焦。


以上所述就是小编给大家介绍的《HTML5-焦点管理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Dreamweaver CS3 Bible

Dreamweaver CS3 Bible

Joseph W. Lowery / Wiley / May 21, 2007 / $49.99

Book Description Learn to create dynamic, data-driven Web sites using the exciting enhancements in the Dreamweaver CS3 version. You get a thorough understanding of the basics and then progress to l......一起来看看 《Dreamweaver CS3 Bible》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具