作为网站技术开发人员而言, 往往是站在自己的开发角度来实 施网站布署 (读取资料及开发的方便性等等), 而不是站在网站访问者与搜索引擎角度。因此大部分的网站在浏览方面不够直观或是方便, 特别是现在 w3c 的规范, 更是在大部分的网站开发人员脑里一片空白。何况百度 、 google 、 msn 、 yahoo 等专业搜索引擎更有自己的搜索规则及判断网页等级技术, 所以网站要优化, 优化的目的只有一个:符合标准, 符合蜘蛛爬行的标准, 更重要的是符合网站访问者浏览的方便及易用性。

 

什么是 W3C 标准

W3C 其实就是 World Wide Web Consortium, 全球全球资讯网联盟的简称。 W3C 的主要职责就是确定未来全球资讯网的发展方向, 并且制定相关的推荐 (recommendation, 由于 W3C 是一个民间组织, 没有约束性, 因此只提供建议) 。 HTML4.01 规范建议 (HTML4.01 Specification Recommendation) 就是由 W3C 所制定的。它还负责制定 XML,MathML 等其他网络语言规范。

 

怎样通过 W3C 标准的验证?

步骤方法如下:

1 、图片的 alt=”” 属性必须每张图片都加上,而且对齐属性用 CSS 来定义。不加不能通过 XHTML 1.0 的验证。

2 、每个文件必须加上 DTD 宣告。

a) !DOCTYPE html PUBLIC “-//W3C//DTDXHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

去掉后能通过验证,但有警告:No DOCTYPE found! Checking with default XHTML 1.0 Transitional Document Type.

3 、 RSS 的 XML 通过时其中的域名地址必须与检测的地址一致,否则会报错。

4 、标签的连结属性加上 JAVASCRIPT 事件时必须为 #空链, 不能为 javascript:; 或 javascript:void(null);

5 、同一个页面当中,同名的 ID 会产生冲突。所以以 ID 定义样式的必须改成类引用。

111
222

如果不用 W3C 来检测的话,在 CSS 设计里是允许这样做的。

那是程序的角度不能相同,CSS 上是可以相同的!

之前就是相同的产生问题,后面就改成类引用了!

6 、不可省略双引号或单引号。

a) 这个是指属性,标准是双引号~

单引号也能通过验证。

7 、标签之间不可错位巢状。

原文连结:WordPress 官方网站

这是不允许的。

8 、所有的标签都使用小写。

9 、 FLASH 的标签程序码中不能含有, 必须采用其它的方法实现。

10 、所有的标签中含有的属性必须有值 (官方的说法) 。

11 、标签必须配对完成, 单标签必须以/关闭

12 、 JS 和 CSS 外部引入档案必须加上型别定义。

13 、所有的样式全部写在外部档案。用类名定义。在使用的地方引用。

14 、页面上的一些特殊字元必须用 HTML 程序码来标识. 如 “&” 写成 “&“

 

没通过 W3C 标准验证的原因

每次修正程序码后要重新整理程序码,使它们重新生效——一个小错误常常会引发之后整页的连串错误。因此如果操作不当,“修正错误” 也可能引发更多错误。每次修正后使程序码重新生效,这样就可以确保完全解决问题。

知道了上面这些基本的异常情况,下面就来看看版面设计无效的几个原因。

1 、 div 标签未关闭

这是版面设计失效的最常见原因之一。当我们了解到这是多少精致的版块设计失效的罪魁祸首时,总会大吃一惊。开启的 div 标签是最普遍的版块设计失误之一,也是最难诊断的失误之一。验证程序有时会指向错误的开启 div 标签,诊断时就像大海捞针一样麻烦。

2 、麻烦的 embed 标签

九十年代早期,Microsoft 和 Netscape 的浏览器开始能够辨认非标准的独有字型。遗憾的是这意味著 W3C 验证程序还不能识别某些关键 HTML 标签,如 “embed”,即使这些标签已经被广泛使用。如果确实希望得到严格的 DOCTYPE(文件型别) 验证,就只能放弃巢状。

如果同时想要生效的版面设计和嵌入式媒体,可以试试 Flash Satay 方法。

3 、不当的 DOCTYPE 宣告

不宣告 DOCTYPE,或者在档案开始错误宣告 DOCTYPE,也是一个常见错误。根据一般经验,Strict DOCTYPE 是大家追求的最高阶验证。 Strict validation 表明你的网页能够在所有浏览器上都得到最佳展示。 Strict 宣告程序码如下:

4 、结尾斜线

如果你的网站不能验证,很有可能是在程序码的某个地方漏写了结尾斜线。我们很容易忽略结尾斜线之类的东西,特别是在 image 标签等元素中。例如:

在严格的 DOCTYPE 中这是无效的。要在 img 标签结尾处加上 “/” 以解决此问题。

5 、 Align 标签

如果 DOCTYPE 被设为 Transitional,你就会使用 “align” 标签,但如果要求更高一点希望得到 Strict 验证,你会看到很多错误。 Align 是另一个不可用于版面设计的标签。可以尝试用 “float” 或者 “text-align” 来代替 align 转换元素。

6 、 JavaScript

如果已经宣告 Strict DOCTYPE,就需要在 JavaScript 中覆盖 CDATA 标签。验证程序的这一方面难倒了很多程序设计师,因为网站倾向于为广告和追踪指令码使用嵌入的 JavaScript 。如果必须用到 JavaScript,可以在其前后加上如下标签:

7 、影象需要 “alt” 属性

你可能还没有注意到,影象也是高阶验证的潜在绊脚石。除了结尾斜线,高阶验证也要求用 alt 标签来描述影象,如 alt= ”Scary vampire picture”.

搜索引擎也靠 alt 标签来识别网页上的影象,所以无论怎样加上 alt 标签总是好的。

8 、未知实体资料

实体资料是又一个影响验证的易犯错误。我们可以考虑用适当的编码字元来代替 “&” 等符号。 entire list 中列出在 XHTML 版块设计中可用的适当的编码字元实体资料。

9 、不良巢状

巢状就是元素里又包括元素,如下所示:

Sweet!

我们容易混淆巢状元素的顺序。例如在 div 标签前启动 strong 标签,但又先关闭 div 标签。这可能不会改变版块 Elementor 布局,但却会使你的版块设计失效。

10 、缺少 “title” 标签

尽管这看上去是一个很明显的错误,很多程序设计师 (包括我自己) 还是经常会在 “head” 版块中遗漏 title 标签。当你看到 “missing a required sub-element of HEAD”(缺少 HEAD 的必要子元素) 时,才会发现自己忘记新增 title 标签了。