表单项是 HTML 中相对比较复杂的标签,需要注意的点也比较多:
-
需要给每个表单项添加 <label> 对其进行描述,当不能使用 label 时,为表单项添加 title 属性
当表单项是必填项的时候,使用 “*“ 符号来标记
Flash 创建表单项一般是不会生成 <label> 的,请勾上 auto label 那个选项
<form method="post" action="http://sofish.de">
<fieldset><legend>My Form</legend>
<label for="firstname">* First name:</label> <input type="text" id="firstname" />
<label for="speech">Say something:</label>
<textarea id="speech" />
</textare>
<input type="submit" value="submit" title="submit button" />
</fieldset>
</form>
16. 图片: <img>
对于图片,盲人看不到。提供 alt 来表示替代文本。告诉他们这是一张什么样的图。
<img src="http://sofish.de/favicon.ico" alt="幸福收藏夹的 favicon" />
17. 框架: <iframe>
尽量避免 <iframe>框架的使用,但当你需要使用的时候,最好提供一个 title 属性对其进行描述。
<iframe src="http://sofish.de" title="幸福收藏夹" /></iframe>
18. 流媒体:<video>/<audio>/<object>/<embed>
媒体也是比较复杂的格式,处理起来比较麻烦。通常我们可以这样做:
为视听媒体提供相应的文本,包括相应的场景,比如演讲中的鼓掌等有利有阅读者感知现在气氛的,都应该体现在演讲文本中。其他的依此类推。
如果像交响乐这种不能提供具体描述的,可以进行简单的说明
如果文本较长,不能在当前页面展示,可以在媒体后提供一个链接到相应替代文本的链接
如果媒体中有可能会引起癫痫发作的,应做相应的说明
<audio src="mozart.mp4">莫扎特39号交响曲</audio>
19. 网页标题:<title>
网页中一定要包含标题,并且每个标签应该具有辨识性。比如支付宝中是这样体现的:

<title>联系我 -- 幸福收藏夹</title>
20. 总结
好吧。就先写到这里了。WCAG 并不只是这些简单的 HTML Tags 的用法,语义化的网页也不是一两篇文章能够写完的。慢慢来吧。从最常见的做起,养成好的习惯。回到文章前面的那句话,难道你忍心把页面写得这么难用吗?









