例说网页Semantics:Html/Xhtml是否真正符合标准

2016-01-29 11:43 8 1 收藏

例说网页Semantics:Html/Xhtml是否真正符合标准,Semantics可翻译为语义的(学),它是Html/Xhtml是否真正符合标准的重要一环。Jorux在这和大家讨论一些自己的观点,如有不妥之处,还请各位网友指正。在西方,为什么这么多人如此重视网页的Semantics,也许你会说,西方比较守规矩,重视标准,但我想说的是,在这些表象的背后有着“一只无形的手”控制着。

【 tulaoshi.com - Html 】

原文链接:http://jorux.com/archives/what-is-semantics/

Semantics可翻译为语义的(学),它是Html/Xhtml是否真正符合标准的重要一环。Jorux在这和大家讨论一些自己的观点,如有不妥之处,还请各位网友指正。在西方,为什么这么多人如此重视网页的Semantics,也许你会说,西方比较守规矩,重视标准,但我想说的是,在这些表象的背后有着一只无形的手控制着。

在此,举个导航条的例子来说明我的观点。大家应该看见过很多诸如下类的导航结构:

首页 | 关于 | 博客 | 留言 | 相册

它们有着共同的特点,都有分割条|将各个条目分开。要实现以上效果的导航栏,其Html/Xhtml有很多种写法,在此仅具几个比较典型的例子:

例1:

<p<a href=home.html首页</a | <a href=about.html关于</a | <a href=blog.html博客</a | <a href=message.html留言</a | <a href=album.html相册</a</p

例2:

<ul
<li<a href=home.html首页</a</li
<li|</li
<li<a href=about.html关于</a</li
<li|</li
<li<a href=blog.html博客</a</li
<li|</li
<li<a href=message.html留言</a</li
<li|</li
<li<a href=album.html相册</a</li
</ul

例3:

<ul
<li<a href=home.html首页</a | </li
<li<a href=about.html关于</a | </li
<li<a href=blog.html博客</a | </li
<li<a href=message.html留言</a | </li
<li<a href=album.html相册</a</li
</ul

例4:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/html/) <ul
<li<a href=home.html首页</a</li
<li<a href=about.html关于</a</li
<li<a href=blog.html博客</a</li
<li<a href=message.html留言</a</li
<li<a href=album.html相册</a</li
</ul

以上为说明Semantics而举的四个导航条Html/Xhtml例子.
例1使用了段落p作为导航条的语义元素标识(相对于结构元素,诸如div等)。很显然它犯了很典型的错误,错误的把原本是条目(list)的导航栏看成了段落。
例2,3,4都使用了ul/li作为导航栏的语义元素标识,它们的区别进在于分割条|的位置,以及是否在Html/Xhtml中出现。
由于CSS的存在,利用其控制表象的能力,可以将以上四个例子的外表变得一模一样,而不被肉眼察觉。但是这只是表象,随着搜索引擎的互联网地位提升,以及 XML的使用频率和重要性增加,它们作为Robot,只读Html/Xhml/XML源代码,而不读CSS,也就是说它们更在乎你的网页的实际含义,而不是你的网页好看与否。也就是说让你的网页符合语义规范,就是让这些Robot更好的读懂你的网页,提高你的网站在搜索结果中的排名,获得更大的利益,这只无形的手决定了西方对Semantics的重视,甚至超过网页是否通过W3C的检测的重要性。

我个人认为的Semantics的含义就是:
将CSS去除,你的网页表现依然规范,易懂。

这条法则,能让你的肉眼和Robot的逻辑达到某种程度的统一。利用以上理论,在例1中犯的错误,就比较容易理解,条目中的关键词比段落中的关键词,更具价值。一个原本是条目的内容为什么还要使用段落?!

那么例2,3,4中,分隔条怎么会如此重要。

例2,3之中只是位置的区别,现在不用任何CSS来控制表象,那么其Html/Xhtml表现的区别是显而易见的,读者可以试试。在例2中,分割条会单独占据四个li,原本五个li变为了九个。打个比方,一个五个人的公司现在变为了九个人的,大家的股份被稀释了一半,每个股东的重要性当然会被削弱。更要命的是有四个股东居然是一模一样的。Robot可能会认为那四个股东(|)更为重要,而降低了其他股东(关键词)的重要性。在例3中,使分隔条成为原来股东的秘书,自然不会影响关键词的重要性。
从表象考虑,也是例3优于例2的表现,例2中分隔条单独占据一行,让人费解。

那么例4中,没有使用分隔条,其在语义学上更优。分隔条的表现,可以在CSS中用图片背景轻松实现,而且像这种类型的单色分隔条,用gif格式的话,只有几个字节,不影响下载速度。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/html/)

以上是Jorux在跟西方人交流中,结合用户反馈,得到的一些心得体会。大家如有不同观点或是问题,尽管拍砖。

希望以此引起各位大陆朋友的重视,重视使用h1/h2/p/ul/li/blockquote/table等语义元素的使用和规范,不要滥用div等结构元素,Robot是不太亲近此类元素的。比方说,严格意义上说单个网页,只允许出现一次h1,就是你的网页title,h1在Robot中的地位仅次于<title</title。

注:已经忘了上次更新是什么时候了,如此更新速度,已经让我几乎想放弃。原以为,这种半死状态的网站,会逐渐被遗忘,但是Feed的订阅量却在攀升,这让我怀疑Feedburner的计数器是不是出了故障。
能让我聊以慰藉的就是这篇 Write Articles, Not Blog Postings ,Jakob Nielsen 这位研究交互界面的权威显然找到了其蜗牛式速度的合理性。大家可以订阅一下此人的Alertbox。

来源:http://www.tulaoshi.com/n/20160129/1483069.html

延伸阅读
标签: Web开发
使用DIV+CSS建立符合W3C标准网站对程序员是有非常多的益处的,我们看如下的八条优势。 一、使用div的方式进行程序的嵌套,特别是使用php这样的代码嵌套,可以减少出现像table中那样繁重的代码,对于页面嵌套可以减少因table代码而带来的问题。 二、使用div对于设计使用AJAX等的时候,可以减少Javascript代码对于页面控制时候的复...
标签: Web开发
    本系列由两部分组成,EddDumbill分析了实现Web作者、浏览器开发人员和标准体所提议的HTML的不同方法。本系列将介绍WHATWG规范所表述的渐进式方法和W3C提议的XHTML的推倒重来的激进式方法。此外,作者还将简要介绍W3C新的RichClientActivity。本文是该系列的第2部分,Edd将目光放在W3C正在进行的工作上,以指示Web标记的未来...
本文参考了以下文章: Kevin Yank的 《New-Window Links in a Standards-Compliant World》 《Standards-based Replacement for target="_blank" in External Links》 我们要在新窗口中打开链接通常的做法是在链接后面加target="_blank",我们采用过渡型的DOCTYPE(xhtml1-transitional. dtd)时没有问题,但是当我们使用严格的DO...
标签: Web开发
在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在a标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问题. HTMl4.0规范里拿掉了target属性.但它添加了另外一个属性:rel.这个属性是用来指定包含链接的文档和所链接文档之间的关系的.规范里定义了其属性值(如:next,pr...
标签: Web开发
    这篇文章主要阐述 HTML 和 XHTML 的区别。简单来说,XHTML 可以认为是 XML 版本的 HTML,为符合 XML 要求,XHTML 语法上要求更严谨些。 以下是 XHTML 相对 HTML 的几大区别: XHTML 要求正确嵌套 XHTML 所有元素必须关闭 XHTML 区分大小写 XHTML 属性值要用双引号 XHTML 用 id 属性代替 ...

经验教程

396

收藏

53
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部