用tabIndex轻松实现网页导航

网页

最近,当我在一个网站上输入表格数据时,我填写了一栏,并点击[Tab]键移到下一栏;当我抬头时,我惊奇的发现光标跳到页面下方的另一栏中。我用鼠标将光标移到正确的文本栏中,但不久[Tab]键又再次出现问题。这一情形使我想了解一下页面设计,以及tabIndex属性如何通过键盘帮助导航。

通过[Tab]键访问元素

HTML DOM tabIndex特性允许你设置或返回一个HTML元素的tab键顺序。IE 4.0最先支持此特性。起初,只有真正可通过[Tab]键访问的元素受到支持,如输入栏、链接等。如今,所有的网络浏览器,以及页面上显示的所有元素都支持此特性。在应用它之前,你可以双击HTML规范保证某个元素支持此特性。

tabIndex特性

应用tabIndex特性是一个简单而又直接的过程。例如,下面的HTML源代码将tabIndex值1赋值给输入栏,它是tab顺序的第一栏:

如果最初选择了[Tab]键,带这个输入栏的网页会将光标移动到firstName栏。

在给tabIndex特性赋值时,要留意几个问题。下面是几个赋值规则:

  • 带0值tabIndex的元素根据源代码(或默认页面行为)进行排序。
  • 大于0的tabIndex值设定其tab顺序。所有带正tabIndex值的元素出现在所有带0 tabIndex值的元素之前。
  • 如果你犯了一个错误,把同一个tabIndex赋予给多个元素,像其它元素一样,它们会以一个0值tabIndex进行处理。
  • 将tabIndex赋值为-1,则在使用[Tab]键时,此元素被忽略。注意:如果使用-1值时,onfocus与onblur事件仍被启动。
  • tabIndex的值可为0至32767之间的任意数字。

列表A中的样本HTML代码将一个tabIndex值赋予给页面中的每一个项目。输入栏与DIV标签包含tabIndex特性,允许用户用键盘仔细阅读页面元素。(DIV标签并不提供与获得焦点有关的太多信息,但我想用非输入元素说明tabIndex的应用情况。)值为-1的按钮被赋值,在应用[Tab]键时,它们即被忽略。

当输入元素充满(达到最大长度)时,你可以增加一小段JavaScript脚本来实现自动定位功能。这是一个基本的函数,我们来看看脚本如何实现其功能:

function checkLen(x,y) {

if (y.length==x.maxLength) {

var next=x.tabIndex

if (next < document.getElementById("frmTest").length) {

document.getElementById("frmTest").elements[next-1].focus()

} } }

该函数接受两个变量。第一个变量为输入栏,第二个变量包含该栏的值。并将栏的长度与栏的可接受最大长度相比较。如果它们相等(即该栏是充满的),则从栏中读取tabIndex的值;如果该值小于最大长度,则焦点被移动下一栏中。

此函数为每一栏的onkeyup事件赋值,因此每次在栏中输入一个值,以检验其是否达到最大长度时,都要调用该函数。如果达到最大值,则光标按tab顺序移动到下一栏中。列表B中的源代码将此函数添加到上面的例子中。

提高访问能力

为元素指定tabIndex可帮助经常使用键盘的用户更为方便地接触网络界面;非标准用户,如PDA、移动电话以及残疾人使用的屏幕阅读器也从中受益。任何扩充应用软件功能的事件都是有益的。

小事一桩

你可能要花许多时间来设计网络窗体,使其具有视觉吸引力,并能被后端服务器组件正确处理。但是,你可能忽略了要用非标准技术或浏览器对其进行测试。典型的例子就是放弃鼠标,而依靠键盘来导航窗体。HTML标准包含tabIndex特性,它允许你控制通过[Tab]键访问的项目。

时间: 2024-10-11 13:57:35

用tabIndex轻松实现网页导航的相关文章

html教程:用tabIndex轻松实现网页导航

最近,当我在一个网站上输入表格数据时,我填写了一栏,并点击[Tab]键移到下一栏:当我抬头时,我惊奇的发现光标跳到页面下方的另一栏中.我用鼠标将光标移到正确的文本栏中,但不久[Tab]键又再次出现问题.这一情形使我想了解一下页面设计,以及tabIndex属性如何通过键盘帮助导航. 通过[Tab]键访问元素 HTML DOM tabIndex特性允许你设置或返回一个HTML元素的tab键顺序.IE 4.0最先支持此特性.起初,只有真正可通过[Tab]键访问的元素受到支持,如输入栏.链接等.如今,所

网页导航设计技巧:计网页导航的基本准则

文章描述:网页导航是设计网站时需要考虑的一个最重要的方面.网页导航的首要的目的是让访客在你的网站简单迅速地找到他们想要搜寻的内容.高效的导航可以引导浏览者在你的网站尝试搜寻其他内容.在本文中,我们将探讨一些设计网页导航的基本准则. 网页导航是设计网站时需要考虑的一个最重要的方面.网页导航的首要的目的是让访客在你的网站简单迅速地找到他们想要搜寻的内容.高效的导航可以引导浏览者在你的网站尝试搜寻其他内容.在本文中,我们将探讨一些设计网页导航的基本准则. 有效的网页导航 在设计网页导航时,你需要将以下

值得学习总结的网页导航设计最佳实践

  优质的网页设计通常都有着相当不错的导航设计来支撑.如果你的网站有着有趣的内容和受欢迎的视觉设计,那么一个体验良好,可用性优异的导航栏无疑是必须的.可用和易用一直是高效交互的核心,也是激发创意.创造高效设计和优秀视觉设计的基础.所以说,是时候重新审视你的菜单和导航设计,尽量以简约的方式将它们重新组织起来. 导航是必不可少的.高素质是网站导航是让网站从不错走向卓越的必经之路.在今天,千变万化的网页导航设计开始趋于系统化.规则化,网页导航的最佳实践也并非虚无缥缈的都市传说,而今天我们要聊的也就是这

关于网页导航的一些建议

网页导航是设计网站时需要考虑的一个最重要的方面.网页导航的首要的目的是让访客在你的网站简单迅速地找到他们想要搜寻的内容.高效的导航可以引导浏览者在你的网站尝试搜寻其他内容.在本文中,我们将探讨一些设计网页导航的基本准则. 有效的网页导航 在设计网页导航时,你需要将以下几点铭记于心: 1. Organized Links 组织良好的链接 确保你的链接按照重要性有序排列.浏览者能在不同分类中轻松找到他们想搜索的内容. 例如:我们的主链接都可以在页面的上方即,我们的服务.产品.简介及资源等等.其他有趣

PhotoShop简单制作斜纹质感网页导航按钮教程

用PhotoShop制作一种斜纹质感的网页导航按钮效果,简单易学. 效果图: 大家好,下面由我来开始教如何做上图效果的简单按钮: 1.首先打开photoshop软件,Ctrl+N新建一个10 x 10px的72dpi(分辨率)的文件: ①.我们先在图层面板新建一个新的图层,然后把背景图层删除(可按del键快捷键) ②.接着在"导航器"把界面放到最大 可按ctrl+"+" 快捷键,然后选择矩形选框工具,再选择上面的"添加到选区",然后按照下图选出那

用CSS制作的很不错的简洁的网页导航下拉菜单

用CSS和javascript制作的非常简洁的网页导航菜单,而且还具有下拉的功能啊!呵呵 <style type="text/css">/*Credits: Dynamic Drive CSS Library *//*URL: <a href="http://www.dynamicdrive.com/style/" target="_blank">http://www.dynamicdrive.com/style/<

Flash AS3制作个性的旋转圆形网页导航

核心提示:Flash AS3制作个性的旋转圆形网页导航教程. Flash AS3制作个性的旋转圆形网页导航. 1.用矩形工具绘制一个黑色的矩形,转换为MC影片剪辑,打开属性窗口 2.双击这个影片剪辑编辑它,使用文本工具,设置为动态文本,绘制一个区域,设置颜色是白色,命名实例名为abelBtn. 3.回到场景1,删除掉刚刚建立的影片剪辑. 4.我们选择第一帧,然后打开动作面板,输入下面代码,主要是为了导入Tweenlite engine. import com.greensock.*; impor

Photoshop制作金属质感的网页导航条

本教程主要使用Photoshop设计金属质感的网页导航条,大部分都是在图层样式下完成的. 效果 1, 在PS中新建文件,宽度定义为1000px,实际上我们所要用到的宽度一般在950px-980px之间.为了方便更好的展示网站的整体效果.所以文件的宽度应大于网页实际的宽度.高度自定,但最好要大于整个页面的高度,在没有办法确定页面的高度范围时,我们可以把高度定到大于网页高度.这样,整个页面制作好了.我们可以使用裁切工具.将多余的部分裁切掉. 2, 这个实例,以网站实际宽度为800像素为例进行操作.为

Photoshop教程:打造实用网页导航

Photoshop设计教程:打造实用的网页导航菜单. 话不多说来看一下效果图是什么样的. 1.打开PS新建一个新文档,尺寸大小由你的网站规格决定.并填充背景#1a1a1a.(木木:在这一步你可以新建一个图层,这样好方便你以后的修改.) 2.双击该图层,弹出图层样式,选择颜色渐变.并设置如下: 3.为了增强效果,添加内阴影. 4.新建一个图层,并便用矩形选区工具,在导航上画出一个矩形大小约有原来的一半.填充#FFFFFF.透明度40%,更改混合模式:叠加. 5.现在来做一个光标滑过的效果.用矩形工