搜索
首页web前端H5教程HTML5实战与剖析之焦点管理(activeElement和hasFocus)

  现在的网站越来越注重残障人士了,很多网站都开始有专为视力不好的人们制作一些便捷通道,方便他们进行浏览网页。下面就为大家介绍一下有关焦点管理和盲人网站方面的事儿,希望能对大家有所帮助。

  21世纪的网站,越来越注重残障人士了,其他伤残类型还好说一些,要是视力方面不太好的人们去浏览网站,基本上是不知道怎么浏览。视力不好的人们去浏览基本上是靠获取焦点来浏览网站的,主要是靠获取焦点以后读取内容来浏览网站的。所以焦点管理在为视力不好的人们制作网站的时候是尤为重要的。

  正因为考虑到视力不好的人们是客观存在的,所以HTML5添加了辅助管理DOM焦点的功能。

  1、document.activeElement属性

  Document.activeelement属性始终会引用DOM中当前获得了焦点的元素。元素获得焦点的方式有用户输入(通常是按Tab键)、在代码中调用focus()方法和页面加载。先来看个小例子。

  HTML代码

<body id="body">
  <input id="btn" type="button" value="梦龙小站" />
</body>

  JavaScript代码

window.onload = function(){
	var btn = document.getElementById("btn");

	//页面加载获取焦点
	alert(document.activeElement.id) // body
	
	//调用focus()方法获取焦点
	btn.focus();

	alert(document.activeElement.id) // btn
};

  默认情况下,文档刚刚加载完成的时候,document.activeelement中保存的是document.body元素的引用。文档加载期间,document.activeelement的值为null。通过document.activeelement可以判断文档是否加载完成。

  2、document.hasFocus()方法

  HTML5除了新添加了document.activeelement属性,还添加了document.hasfocus()方法。这个方法用于确定文档是否获得了焦点。先来看个小例子。

  HTML代码

<body id="body">
  <input id="btn" type="button" value="梦龙小站" />
</body>

  JavaScript代码

window.onload = function(){
	var btn = document.getElementById("btn");

	alert(document.hasFocus())  //true
};

  有了hasFocus()方法,我们就可以检测文档是否获得了焦点,可以知道用户是不是在与页面交互。

  查询文档获知哪个元素获得了焦点,以及确定文档是否获得了焦点,这两个功能最重要的用途是提供Web应用的无障碍性。无障碍Web应用的一个主要标志就是恰当的焦点管理,而确切知道哪个元素获得了焦点是一个极大的进步,至少我们不用像过去一样靠猜测了。先来看个小例子。

  hasFocus()应用小例子

  HTML代码

<p id="meng">鼠标放上来</p>
<p id="long" style="display:none;">获取焦点了</p>

  JavaScript代码

window.onload = function(){
	var oMeng = document.getElementById("meng");
	var oLong = document.getElementById("long");

	oMeng.onmouseover = getFocus;
	oMeng.onmouseout = loseFocus;

	function getFocus(){
		if (document.hasFocus())
		{
			oLong.style.display = "block";
		}
	}
	function loseFocus(){
		oLong.style.display = "none";
	}

};

  上面这个例子充分运用了hasFocus()方法来判断是否获得了焦点。从而也让我们感觉了一下hasFocus()方法的魅力,以及焦点管理的用处。能够实现这hasFocus()方法和activeElement属性的浏览器有:FireFox 3+、Safari 4+、Chrome、Opera 8+ 和IE 4+。

  HTML5实战与剖析之焦点管理(activeElement和hasFocus)就为大家分享到这里。中国Web应用无障碍化还有待发展,掌握好焦点管理(activeElement和hasFocus),基本上能够实现Web应用无障碍化。感谢大家对梦龙小站的支持,更多有关HTML5的跟新敬请关注梦龙小站HTML5实战与剖析的相关更新。


以上就是HTML5实战与剖析之焦点管理(activeElement和hasFocus) 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
html5的div一行可以放两个吗html5的div一行可以放两个吗Apr 25, 2022 pm 05:32 PM

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别是什么html5中列表和表格的区别是什么Apr 28, 2022 pm 01:58 PM

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

html5怎么让头和尾固定不动html5怎么让头和尾固定不动Apr 25, 2022 pm 02:30 PM

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有哪些html5中不支持的标签有哪些Mar 17, 2022 pm 05:43 PM

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是什么HTML5中画布标签是什么May 18, 2022 pm 04:55 PM

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了哪个列表标签html5废弃了哪个列表标签Jun 01, 2022 pm 06:32 PM

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

Html5怎么取消td边框Html5怎么取消td边框May 18, 2022 pm 06:57 PM

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

html5为什么只需要写doctypehtml5为什么只需要写doctypeJun 07, 2022 pm 05:15 PM

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。