`
yiminghe
  • 浏览: 1460259 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

tab 滚屏的浏览器差异

阅读更多

 按键 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文件浏览器

    "Tab文件浏览器"是一款专为处理MapInfo的TAB格式数据设计的应用软件。TAB格式是MapInfo公司开发的一种地理信息系统(GIS)数据存储格式,广泛应用于地图制作、地理数据分析等领域。这款软件提供了对TAB数据的基本...

    ie tab.zip_Tabú_ie 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浏览器(c#)” 【描述】:“选项卡式浏览器”是一种用户界面设计,它允许用户在一个单一的窗口中同时打开多个网页,每个网页在一个单独的选项卡中显示,类似于许多现代网络浏览器的功能。这个项目...

    自绘tab 实现浏览器分页效果

    本示例中的"自绘tab 实现浏览器分页效果"是一个利用MFC(Microsoft Foundation Classes)库在C++/C语言环境下实现的项目。MFC是微软提供的一个面向对象的框架,它简化了Windows应用程序的开发,尤其是涉及到Windows ...

    仿 浏览器tab效果实现

    在IT行业中,浏览器的Tab效果是一种常见的用户界面设计,它模仿了浏览器标签页的功能,让用户在同一个窗口内轻松切换不同的内容区域。这种效果在网页应用、桌面应用甚至移动应用中都得到了广泛的应用,提升了用户...

    网页tab控件 支持多浏览器

    4. 兼容性处理:由于不同浏览器对某些CSS特性和JavaScript API的实现可能存在差异,开发者需要进行兼容性处理,确保在IE和Firefox这样的多浏览器环境中都能正常工作。例如,使用polyfill库来弥补旧版浏览器不支持的...

    wpf+CefSharp模仿浏览器Tab分页,下载文件,收藏,刷新,删除,新窗口

    在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)和CefSharp库来创建一个功能丰富的浏览器应用,其中包括Tab分页、文件下载、收藏、刷新、删除以及新窗口等核心功能。CefSharp是一个.NET...

    Winform 高仿 Chrome 的 Tab页控件

    在.NET框架下的Windows Forms(Winform)开发中,创建一个高仿Chrome浏览器样式的Tab页控件是一项常见的需求。这个控件通常用于提供多页面浏览或切换的功能,以提升用户体验。"Winform 高仿 Chrome 的 Tab页控件...

    谷哥浏览器Tab页优化插件

    谷哥浏览器Tab页优化插件,当打开很多的页面时,会自动优化Tabl页,提高浏览器的性能

    chrmoe 浏览器Tab页定时轮播插件(最新版 1.0)

    这个插件会自动轮播当前打开的所有 chrome tab 页,默认轮播间隔为 15s。 开启轮播功能:点击这个 icon,这时候 icon 上会冒出个小叉 关闭轮播功能:再次点击这个 icon,icon 变回 置轮播间隔:右键点击 插件...

    易语言浏览器控件(支持Tab)

    《易语言浏览器控件(支持Tab)》 在IT领域,开发人员经常需要在应用程序中集成浏览器功能,以便用户能够浏览网页或者实现某些基于Web的交互。易语言,作为一款面向初学者和专业开发者的中文编程环境,提供了一系列...

    CefSharp模仿浏览器Tab分页,刷新,删除,新窗口

    CefSharp提供了丰富的API,使得开发人员能够轻松地创建具有类似浏览器界面的应用程序,包括Tab分页、刷新、删除和新窗口等操作。下面我们将详细探讨这些知识点。 首先,我们来看“Tab分页”功能。在Web浏览器中,...

    Delphi TAB 多页面浏览器编写实例.rar

    Delphi TAB 多页面浏览器编写实例,一个未完成作品,无心继续下去,发布出来供大家参考,基于IE内核的多页浏览器,界面和MAXTHON类似,多页面TAB风格,一些功能用到了 EmbeddedWB_D2005(已经包含其中),作者:书...

    支持移动浏览器(手机、ipad等)左右滑动切换tab标签

    标题“支持移动浏览器(手机、ipad等)左右滑动切换tab标签”描述了一种常见且实用的交互设计,即在移动设备上通过左右滑动来切换页面上的Tab标签。这种功能使得用户能够轻松浏览多个相关但独立的内容区域,而无需点击...

    一个简单的多TAB的IE内核浏览器源码

    标题中的“一个简单的多TAB的IE内核浏览器源码”是指一种基于Internet Explorer(IE)渲染引擎的浏览器实现,它支持多个标签页同时打开。在软件开发领域,尤其是Web浏览器开发中,多标签功能是非常常见且重要的特性...

    JS可关闭tab 实用

    本文将深入探讨如何使用JavaScript实现浏览器标签页的关闭功能,这对于提升用户体验和网页交互性具有重要意义。 首先,理解浏览器环境下的JavaScript限制是至关重要的。由于安全原因,JavaScript不能直接关闭当前...

    经典实用的Tab标签控件(浏览器效果)

    这里我们讨论的“经典实用的Tab标签控件(浏览器效果)”是模仿了浏览器界面中的标签页功能,提供了类似的功能和交互体验。 首先,让我们深入了解Tab标签控件的基本概念。Tab控件通常由一组可切换的面板组成,每个...

    浏览器页面标签切换的TAB选项卡代码

    浏览器页面标签切换是Web开发中的常见功能,它允许用户在同一个浏览器窗口内浏览多个网页或内容区域,而无需打开新的窗口或标签。这种交互方式提高了用户体验,减少了浏览器资源的消耗。在HTML、CSS和JavaScript技术...

    c#版多标签页浏览器

    【C#版多标签页浏览器】是一种基于C#编程语言实现的桌面应用程序,它允许用户在同一窗口内同时浏览多个网页,类似于我们常见的浏览器如遨游、360浏览器和腾讯TT。这种设计提供了方便的多任务浏览体验,用户可以通过...

    浏览器tab收藏标签详情

    浏览器tab收藏标签详情

Global site tag (gtag.js) - Google Analytics