1 tabbing浏览
tabindex属性允许你定义它快捷键们的顺序

2 快捷键
没有必要为每一个连接都设置快捷键,但为主要导航连接都设置是一个不错的主意。

<href="somepage.html" accesskey="s">Some page</a>

流行的办法是在一个与快捷键相一致的字母上加下划线,类似于Windows程序菜单中的方法。

3 连接的标题
为连接添加标题属性title是一个好主意,这会给用户所指向连接的予说明,所以能改进导航。
假如这个连接是执行Javascript的,这也有利于为没有使用Javascript功能的用户解释什么将会(或不会)发生。

4 弹出窗口
可以用onkeypress和onclick来使得页面更易用。并且,在功能上定义了返回false的弹出窗口。
包含一个带有href属性指向普通页面的连接,对于一个没有使用Javascript功能的用户来说,可以以普通方式载入这个页面。
比如:

<script type="text/javascript">
function opennastypopup() {
window.open(
"monster.html""""toolbar=no,height=100,width=200");
return false;
}
</script> 
 
<href="monster.html" onclick="return opennastypopup()" onkeypress="return opennastypopup()">Monster</a>

5 相邻的连接
相邻的连接应该至少用空格隔开,以便为屏幕阅读器清晰辩明。
把连接放在列表里面也是一个好主意。然后可以用CSS来样式化显示,甚至可以是并行的列表(用 display: in-line)

6 跳过导航
你应该让使用屏幕阅读器的用户一个跳过导航直接到内容的机会。
这是因为,假设你的连接是固定的(应该是),用户不必经受每一页同样的信息,尤其是大量的。
注意:
最常见的办法可能是使用display: none。把元素宽和高设置为零(width: 0; height: 0; overflow: hidden;),这有相同的视觉效果

++++++++++++以下是表格部分++++++++++++传说中的无敌分割线++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

7 表格的列反罢工
colgroup和col标签允许你定义表格列和尽你所需地样式化它们,如果没有它们,你需要样式化每一个单独的单元格。
*******************************
例如

<colgroup> <col /> <col class="alternate" /> <col /> </colgroup>

对于一个多行3列的表格,它定义每行的第2个td 应用alternate类
*******************************
你当然可以在colgroup或者col上使用span属性,跟rowspan和colspan有相似的用途
colgroup一起使用可以定义属于列组的行数,比如<colgroup span="2"></colgroup>会组合头两列。当在colgroup使用span时,不应该再使用col标签。
在col里使用span是更明智的
*******************************
例如

<colgroup> <col /> <col span="2" class="alternate" /> </colgroup>

这将把alternate类应用到最后两列
*******************************

8 摘要和说明插曲
摘要可以在表格起始标签table中用summary属性应用到表格中。这不会显示,但可以辅助非可视化的表格表现。
caption标签在起始标签table后直接定义说明。它默认直接在表格顶端出现,但可以在CSS属性caption-side中设置top、right、bottom或者left值,尽管IE不会在意。

9 表头、表注和滚动表格的探讨
thead、tfoot和tbody允许你把表格分为表头、表注和表格主体。对于大表格尤其有用,在打印的时候,表头和表注应该会在每一页都出现。
这些元素必须按thead-tfoot-tbody的顺序定义
你可以让表格主体tbody在基于Gecko的浏览器(Mozilla、Firefox和Netscape 6+等)滚动,通过应用overflow: auto; max-height: [whatever] 的样式。
然后你可以看见表头和表注固定,而表的主体右边有滚动条。
你应该谨慎使用max-height属性因为IE不认识,比较安全的做法是使用height属性,IE将为它应用到每一行。
目前IE遇到表头和表注时还是没有什么线索,尽管还是当作表格来处理,但打印的时候不会在哦每一页都出现表头和表注,只孤零零地传递滚动的表格。
谨慎对待滚动表格。尽管它们提供十分有用的目的,大部分用户不习惯它们并且认为线性数据是唯一的。

++++++++++++以下是表单部分++++++++++++传说中的无敌分割线++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

10 标记
每一个表单域都应该有一个自己的标记。label标签挑选出来,跟for属性一起与一个表单元素关联。

<label for="yourName">Your Name</label> <input type="text" name="yourName" id="yourName" />

注意:name和id两者都是必须的──name为表单处理该表单域,id为标记关联到表单。

11 分组与图例说明
你可以为表单域分组,比如名字(姓,名,头衔等)或者地址(第一行,第二行,县,地区,邮编,国家等)。使用fieldset标签。
在表单域的分组内,你可以使用legend标签产生

<fieldset> <legend>Name</legend> <p>First name <input type="text" name="firstName" /></p> <p>Last name <input type="text" name="lastName" /></p> </fieldset>

12 选项分组
optgroup标签用于在一个层叠式选择菜单为选项分类,label属性是必须的,在可视化浏览器中,它的值将会是一个不可选的伪标题,为下拉列表分组。

<select name="country">
 
<optgroup label="Africa">
 
<option value="gam">Gambia</option>
 
<option value="mad">Madagascar</option>
 
<option value="nam">Namibia</option>
 
</optgroup> <optgroup label="Europe">
 
<option value="fra">France</option>
 
<option value="rus">Russia</option>
 
<option value="uk">UK</option>
 
</optgroup>
</select>

13 导航域

<input type="text" name="firstName" accesskey="f" tabindex="1" />