按键 tab 在 可访问性
中具有重要作用,会使得下一个可聚焦元素
获得焦点,若将要获得焦点的元素在当前屏幕之外,还会引起浏览器滚屏(即触发 scroll
事件),但是对于是先触发将要获得焦点元素的 focus
事件,还是先触发 scroll ,ie 与 标准浏览器有分歧:
场景:
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a id='after' href='#'>after</a>
打开该页面,点击空白区域后,按下 tab 键,则会使得 after 获得焦点并滚屏。
demo
差异:
ie 6,7,8
触发顺序为:
tab - > scroll -> focus
先滚屏再使元素获得焦点
ie9,firefox,chrome
触发顺序为
tab -> focus -> scroll
标准:
既然 ie9 都和 ie6,7,8 不一样,那么标准应该是
tab -> focus -> scroll
先获得焦点再滚屏,不过具体规范出处未知。
ps:
如果设置 tabIndex
为 -1,根据规范该元素一定能获得焦点,并且不能被 tab 顺序聚焦机制选中。
但是在 ie6 中,该元素仍然是能被 tab 选到。
如果设置 tabIndex 为 0,该元素一定能获得焦点,焦点顺序和该元素在dom节点中的顺序对应(不完全相同)。
ps2 : 使用 javascript 操作 tabIndex
判断是否设置 tabindex :
var attr = elem.getAttributeNode("tabindex");
return attr ? attr.specified : false;
读取 elem 设置的 tabindex :
return elem.tabIndex;
设置 tabindex :
elem.tabIndex=1;
由于 tabindex 属于 html 属性,则最终生成 html :
<x tabindex='1' ></x>
和设置 setAttribute 一样效果,不过直接用 setAttribute 的话会有很多麻烦
。
清除 tabindex 属性 :
element.removeAttribute("tabindex");
element.removeAttribute("tabIndex");
两个都要写,后一个主要为了 ie6,7 ,ie6,7不能区分 content value 与 dom value
.
分享到:
相关推荐
"Tab文件浏览器"是一款专为处理MapInfo的TAB格式数据设计的应用软件。TAB格式是MapInfo公司开发的一种地理信息系统(GIS)数据存储格式,广泛应用于地图制作、地理数据分析等领域。这款软件提供了对TAB数据的基本...
"ie tab.zip_Tabú_ie tab_浏览器"是一个与网络浏览相关的压缩包,主要包含两个浏览器扩展:IE-Tab_v7.7.24.1.crx和IE_Tab_extension_3_9_20_1.crx。这些扩展是为了解决用户在使用非Internet Explorer浏览器(如...
【标题】:“Tab浏览器(c#)” 【描述】:“选项卡式浏览器”是一种用户界面设计,它允许用户在一个单一的窗口中同时打开多个网页,每个网页在一个单独的选项卡中显示,类似于许多现代网络浏览器的功能。这个项目...
本示例中的"自绘tab 实现浏览器分页效果"是一个利用MFC(Microsoft Foundation Classes)库在C++/C语言环境下实现的项目。MFC是微软提供的一个面向对象的框架,它简化了Windows应用程序的开发,尤其是涉及到Windows ...
在IT行业中,浏览器的Tab效果是一种常见的用户界面设计,它模仿了浏览器标签页的功能,让用户在同一个窗口内轻松切换不同的内容区域。这种效果在网页应用、桌面应用甚至移动应用中都得到了广泛的应用,提升了用户...
4. 兼容性处理:由于不同浏览器对某些CSS特性和JavaScript API的实现可能存在差异,开发者需要进行兼容性处理,确保在IE和Firefox这样的多浏览器环境中都能正常工作。例如,使用polyfill库来弥补旧版浏览器不支持的...
在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)和CefSharp库来创建一个功能丰富的浏览器应用,其中包括Tab分页、文件下载、收藏、刷新、删除以及新窗口等核心功能。CefSharp是一个.NET...
在.NET框架下的Windows Forms(Winform)开发中,创建一个高仿Chrome浏览器样式的Tab页控件是一项常见的需求。这个控件通常用于提供多页面浏览或切换的功能,以提升用户体验。"Winform 高仿 Chrome 的 Tab页控件...
谷哥浏览器Tab页优化插件,当打开很多的页面时,会自动优化Tabl页,提高浏览器的性能
这个插件会自动轮播当前打开的所有 chrome tab 页,默认轮播间隔为 15s。 开启轮播功能:点击这个 icon,这时候 icon 上会冒出个小叉 关闭轮播功能:再次点击这个 icon,icon 变回 置轮播间隔:右键点击 插件...
《易语言浏览器控件(支持Tab)》 在IT领域,开发人员经常需要在应用程序中集成浏览器功能,以便用户能够浏览网页或者实现某些基于Web的交互。易语言,作为一款面向初学者和专业开发者的中文编程环境,提供了一系列...
CefSharp提供了丰富的API,使得开发人员能够轻松地创建具有类似浏览器界面的应用程序,包括Tab分页、刷新、删除和新窗口等操作。下面我们将详细探讨这些知识点。 首先,我们来看“Tab分页”功能。在Web浏览器中,...
Delphi TAB 多页面浏览器编写实例,一个未完成作品,无心继续下去,发布出来供大家参考,基于IE内核的多页浏览器,界面和MAXTHON类似,多页面TAB风格,一些功能用到了 EmbeddedWB_D2005(已经包含其中),作者:书...
标题“支持移动浏览器(手机、ipad等)左右滑动切换tab标签”描述了一种常见且实用的交互设计,即在移动设备上通过左右滑动来切换页面上的Tab标签。这种功能使得用户能够轻松浏览多个相关但独立的内容区域,而无需点击...
标题中的“一个简单的多TAB的IE内核浏览器源码”是指一种基于Internet Explorer(IE)渲染引擎的浏览器实现,它支持多个标签页同时打开。在软件开发领域,尤其是Web浏览器开发中,多标签功能是非常常见且重要的特性...
本文将深入探讨如何使用JavaScript实现浏览器标签页的关闭功能,这对于提升用户体验和网页交互性具有重要意义。 首先,理解浏览器环境下的JavaScript限制是至关重要的。由于安全原因,JavaScript不能直接关闭当前...
这里我们讨论的“经典实用的Tab标签控件(浏览器效果)”是模仿了浏览器界面中的标签页功能,提供了类似的功能和交互体验。 首先,让我们深入了解Tab标签控件的基本概念。Tab控件通常由一组可切换的面板组成,每个...
浏览器页面标签切换是Web开发中的常见功能,它允许用户在同一个浏览器窗口内浏览多个网页或内容区域,而无需打开新的窗口或标签。这种交互方式提高了用户体验,减少了浏览器资源的消耗。在HTML、CSS和JavaScript技术...
【C#版多标签页浏览器】是一种基于C#编程语言实现的桌面应用程序,它允许用户在同一窗口内同时浏览多个网页,类似于我们常见的浏览器如遨游、360浏览器和腾讯TT。这种设计提供了方便的多任务浏览体验,用户可以通过...
浏览器tab收藏标签详情