`

写HTML注意事项

    博客分类:
  • html
 
阅读更多

 

1. 文档声明:<!Doctype>

首先要明确的是:<!DOCTYPE> 是一个关于文档的声明,指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。不是一个html标签,必须是 HTML 文档的第一行,位于 <html> 标签之前。

其实这跟 WCAG 根本上连不上什么直接关系,但为了一个兼容性更好,特别是向后兼容的页面,我推荐你这样写:

<!Doctype html>

 元素文档类型详情:http://www.w3school.com.cn/tags/tag_doctype.asp

 

2. 链接:<a>

互联网的链接乎可以说是用 <a> 来实现的,作为一个页面最常见的标签。我们应该如何对待呢?

  1. 为关键链接添加 accesskey
  2. 除非万不得已,不要去掉 focus 时虚线框
    <a href="" title="" accesskey="M" rel="" hidefocus>Link</a>

3. 缩写: <abbr>

对于用 HTML Tag 的正确使用,也是非常重要的,这有利于读屏软件使用者对于页面结构的理解。特别是在 H1,H2,H3 等这些标签的使用,滥用非常容易造成结构费解。当然,使用一般的标签,再利用 CSS 来使视觉上形成对比这也是常人能辨识的。但读屏软件用户呢。当然,这里只是顺带提起需要注意页面标签的使用方法,而 abbr 最重要的应该是应该添加一个 title 属性对缩写进行描述。比如:

<abbr title="Web Developer" >WD</abbr>

 

4. 大段引用: <blockquote>,一般引用: <cite>

 有大段引用的时候,使用 <blockquote>,而行内引用则使用 <cite>,让你的结构更加易读:

<blockquote>
    之前就一直想写这样的一篇文章,分享一下如何去创造一个可访问性更好的页面。今天的计划里有一条把 2HTML T2ag 和 WCAG标准结合起来。我推荐你这样去写你的 HTML,让某些人的生活可以更容易。
</blockquote>
<p>某A给我印象最深刻的一句话是,<cite>“做前端要有爱。不要动不动就有朩有地对各种人使用咆哮体”</cite>。</p>

 

5. 删除:<del>

在纸上写东西不能像在计算机上写东西一样,可以用撤销键可以按,但当我们想要强调某些东西是被删除的怎么办?那就是使用 <del> 标签了。比如这样:

<del>HTML上表示强调时,请使用 &lt;b&gt; 标签</del>
//HTML上表示强调时,请使用 &lt;strong&gt; 标签

 

效果是这样的:

HTML上表示强调时,请使用 <b> 标签
//HTML上表示强调时,请使用 <strong> 标签

 

6. 定义列表:<dl>

去年带着新人做支付宝前端博客的时候,他们给我印象最深刻的是很喜欢用 <dl>。当时在想,这些同学挺不错的,对语义化的理解还不错。我们还是比较少用到定义列表的。而是使用一般的 <ul> <ol> 这两个。<dl> 也是应该慎用的,最好只使用在某些有“定义”意义的条目,如 w3school 的这个例子,对咖啡和牛奶的定义:

<dl>
  <dt>Coffee</dt>
    <dd>- black hot drink</dd>
  <dt>Milk</dt>
    <dd>- white cold drink</dd>
</dl>

 

7. 无序/有序列表 <ul>/<ol>

列表,这个对于每个前端来说,都熟悉不过了。因为结构可以非常灵活地进行应用,在导航、列表、Tab 等,都经常要要用到。这个就无须多说了。但有一点还是需要明白的,不要相信什么 <ul>/<ol> 是 <table> 的替代品。在我们常用的 HTML Tags 中,每个标签都有自己的作用,谁都不是谁的替代品。

<ol>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ol>

 

8. 表格: <table>

如果是一个表格,那就,就不要用段落来替代,更不要用列表。除非万不得已,并且他们是可以转换的。另外,表格中还有一些需要注意的点:

  • 给 <table> 添加 summary 属性,有些表格非常大,并不需要去读完整个
  • 添加 <tbody>,如果我没记错,如果没添加的话,浏览器会自动为你添加
  • 必要时使用 <col> <colgroup> 来控制表示的
    <table summary="sofish's blog status">
        <thead>
            <tr>
                <th>DATE</th>
                <th>IP</th>
                <th>PV</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>2011.3.11</td>
                <td>3000</td>
                <td>8000</td>
            </tr>
        </tbody>
    </table>
     

9. 格式化片段 <code>/<pre>

<code> 是指 computer code text, 而 <pre> 是指 preformatted text。<pre> 的范围更广,并且是块状元素,可能被使用来格式化各种文本,特别是代码。使用没有需要特别注意的,主要是语义上的正确使用,比如不要用 <pre> 来代替一般的 <p>。

<code>text-align:center</code>
<pre>
{ ( 1 * 10
2
) + ( 9 * 10
1
) + ( 3 * 10
0
) }
</pre>

 

10. 换行: <br>

在现代网页中,使用 <br> 的情况是非常少的。网页中的留白,一般都是使用 CSS 的 padding 和 margin 来实现。这样更精准,并用更容易控制。现在推荐的用法是,使用到一般的段落 <p> 中做简单的换行,而不是用来控制页面留白。

<p>我是一个段落。<br />
诗歌都会用换行的。
</p>

 

11. 分割线: <hr>

<hr> 具有非常好的语义作用。但他的视觉效果很难控制。之前就写过这样的文章关于<hr />在各浏览器中的问题。一般也都很少用。如果专门为读屏软件使用者提供单独页面的话,或许 <hr> 会大有用处。

<h3>标题一</h3>
<p>Lorem Ipsum is ...</p>
<hr />
<h3>标题二</h3>
<p>This is the entry of... </p>

 

12. 无语义标签:<div>/<span>

其实 <div>/<span> 这两个标签是有语义的,都是 defines a section in a document。是的,和 HTML5 中的 <section> 其实是一样的。只是,因为搜索引擎的的原因,搜索引擎认为它们是无语义标签,因此他们成了 “无语义” 标签。推荐用法是尽量使用其他来做为页面框架的容器,比如布局、添加额外的视觉效果,而不是段落等的替代品。

<div id="container">
    <div id="content">
    </div>
    <div id="sidebar">
        <ul>
            <li><span>God</span>, oh my zsh</span></li>
        </ul>
    </div>
</div>

 

13. 段落/标题: <p>,<h1>/<h2>/<h3>…

这几个标签几乎可以说是一个页面标签等级结构中最重要的标签。我们可以用一本书的结构来说明这几个标签,而我们构建一个页面的时候,也应该有这样的一种思想在脑中:

  • 书的名称:H1
  • 书的每个章节标题: H2
  • 章节内的文章标题: H3
  • 章节的段落: P
  • 小标题/副标题: H4/H5/H6

是的,当然还有引用 <blockquoute>,技术类书中提供的代码 <pre class="code">,一些需要注意点的列表 <ul>,一些方便比较的表格 <table> 等。

<h1>LOGO</h1>
<h2>Title</h2>
<div class="entry">
    <h3>Summary:</h3>
    <p>lorem ipsum is ...<em>emphasize</em></p>
</div>

 

14. 强调: <em>/<strong>

<em> emphasize 的缩写。而 <strong> 是 strong emphasize。可能很多刚入门前端的同学会对 <em>、<strong>、<cite> 、<i>、<b> 这几个标签的使用拿捏不准。<i> 和 <b> 基本上是被废置的,相当于现在的 <em> 和 <strong>,一般情况下他们对于内容重要性的排序是这样的:strong > em ≈ cite。 

<strong>注意:</strong>别使用老掉牙的标签,比如<cite>FONT、CENTER</cite>等,特别是 <em>FONT</em>。

 

15. 表单项: <input>/<textarea>/<select>

表单项是 HTML 中相对比较复杂的标签,需要注意的点也比较多:

  1. 需要给每个表单项添加 <label> 对其进行描述,当不能使用 label 时,为表单项添加 title 属性
  2. 当表单项是必填项的时候,使用 “*“ 符号来标记
  3. 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 的用法,语义化的网页也不是一两篇文章能够写完的。慢慢来吧。从最常见的做起,养成好的习惯。回到文章前面的那句话,难道你忍心把页面写得这么难用吗?

 



 
分享到:
评论

相关推荐

    html编写edm时注意事项小结(一般发邮件需要注意的地方)

    主要介绍了html编写edm时注意事项小结(一般发邮件需要注意的地方),需要的朋友可以参考下

    Python 文件处理注意事项总结

    Python 文件处理注意事项总结 文件处理在编程中是常见的操作,文件的打开,关闭,重命名,删除,追加,复制,随机读写非常容易理解和使用。需要注意的是文件的安全关闭,采用with语句轻松便捷: with open...

    linux下php上传文件注意事项

    本文实例为大家分享了linux下php上传文件注意事项,供大家参考,具体内容如下 1、修改上传目录权限 linux 修改某目录下所有所有子目录权限 chmod -R 777 html 修改某目录为任何用户都用写读执行权限 chmod a+rwx ...

    华美卷皮淘宝客-自动生成商品HTML插件 v1.0.zip

    华美卷皮淘宝客-自动生成商品HTML插件注意事项: 1、访问插件的默认密码是:qdz123,为了安全,请到quandazhe/config.php修改为您的密码,改得复杂一些。(用dreamweaver等软件打开,不要直接用记事本修改,否则会...

    华美卷皮淘宝客-自动生成商品HTML插件 v1.0

    运行插件程序:http://域名/quandazhe/注意事项:1、访问插件的默认密码是:qdz123,为了安全,请到quandazhe/config.php修改为您的密码,改得复杂一些。(用dreamweaver等软件打开,不要直接用记事本修改,否则会...

    ASP动态网页设计技术(教案).rar

    2.5 开发ASP程序时注意事项 开发ASP程序的注意事项如下: 在ASP程序中,字母不分大小写。 在ASP中,凡是用到标点符号的,都是在英文输入状态下输入的标点符号,否则将会出错。只有一种情况除外,就是在字符串...

    JavaScript文本框脚本编写的注意事项

    在HTML中,有两种方式来表现文本框: 一种是使用input元素的单行文本,另一种是使用textarea的多行文本框。 使用input方式,必须添加type,设置为“text”。 size特性,可以指定文本框内能够显示的字符数。 value...

    vue 使用Jade模板写html,stylus写css的方法

    主要介绍了vue 使用Jade模板写html,stylus写css的方法,文中还给大家提到了使用jade注意事项,需要的朋友可以参考下

    HTML开发王

    18.3.1 注意事项 18.3.2 设计网页布局 18.3.3 使用框架和表格实现布局 18.3.4 实现主页默认中间模块 18.4 浏览产品 18.4.1 创建产品列表网页 18.4.2 创建产品详细信息 18.5 实现顶部广告模块 第19章 发布和管理网站 ...

    使用Ajax方法实现Form表单的提交及注意事项

    写在前面的话 在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说想要将控制权...

    浅谈js和css内联外联注意事项

    简单说:这两个问题其实是同一个问题,但是网上找了好久也找不到方法,外联的js和css文件里不能有任何HTML的标记注释,一旦有,浏览器就疯了!一去掉就好了!!! 问题:起因是网上看到一个css的表格样式,觉得挺...

    Android代码-Android平台下一个原生的富文本编辑器,功能丰富,集成简单,可以转成html,可以删除图片,回退功能。

    注意事项 这个webview编辑器由于需要获取焦点,比如改变字体颜色啥的,还有字体变粗,而我用的popwindow也是要获取焦点的,然而这不是重点, 重点是唤醒的键盘也是会获取焦点,而且优先级高于前面两者,所以当键盘...

    GT911驱动参考.zip

    注意事项: 移植时需要注意INT引脚在读取时保证浮空输入; 注意有两种读写地址; 复位时序一定要看仔细; 一定要记得清0X814E的标志; 在写入配置表前一定 一定 一定 要将原配置表读出来。 注:一部分代码来自...

    jQuery中get和post方法传值测试及注意事项

    用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可 以直接写回调函数...

    Vue 2中ref属性的使用方法及注意事项

    最近写东西遇到了莫名其妙的问题,用ref属性原以为它会获得一个数组 // html  &lt;li ref=refCon&gt;1  &lt;li ref=refCon&gt;2 // js created: function() {  this.$nextTick(() =&gt; {  console.log(this.$refs.refCon) ...

    asp.net上传头像预览裁剪源码

    安装及部署: 1. 上传到 apache,iis,tomcat 服务器,通过域名...注意事项:  1.确定存储图片目录可写权限, iis+win 存储图片目录是 everyone 用户,apache+linux,需要可写权限(777) 联系我们:  QQ:439884988

    华美卷皮淘宝客-自动生成商品HTML插件 1.0

    【注意事项:】 1、访问插件的默认密码是:qdz123,为了安全,请到quandazhe/config.php修改为您的密码,改得复杂一些。(用dreamweaver等软件打开,不要直接用记事本修改,否则会错误。) 2、本程序运行需在PHP4.3...

    7个让JavaScript变得更好的注意事项

    然而,一个写得不好的程序编码却拥有着打破整个网站,让用户为之沮丧和驱赶潜在客户的潜力。  开发人员必须使用所有供他们任意使用的工具和技术来提升他们的代码的质量,并有信心确认每次的执行都是可以预见的。这...

    CssTraining:在学习CSS期间,需要注意的事项

    在学习CSS期间,注意事项来自 待办事项:将通过成绩进行更正。 CSS-Adem ilter可扩展CSS CSS -浏览器开发人员编辑器选择 html结构内联和块元素 选择器 级联继承特异性框模型框大小调整reset.css normalize.css ...

Global site tag (gtag.js) - Google Analytics