这样去写你的 HTML 让你的代码更好的兼容性

2019-01-14 10:32:53王振洲

表单项是 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>

    网页中一定要包含标题,并且每个标签应该具有辨识性。比如支付宝中是这样体现的:

    alipay web page title

    <title>联系我 -- 幸福收藏夹</title>
    
    
    

    20. 总结

    好吧。就先写到这里了。WCAG 并不只是这些简单的 HTML Tags 的用法,语义化的网页也不是一两篇文章能够写完的。慢慢来吧。从最常见的做起,养成好的习惯。回到文章前面的那句话,难道你忍心把页面写得这么难用吗?