以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 其他W3C规范 』  (http://bbs.xml.org.cn/list.asp?boardid=25)
----  10个常见W3C标准验证失败原因分析[分享]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=25&rootid=&id=74205)


--  作者:itshirt
--  发布时间:4/15/2009 8:59:00 AM

--  10个常见W3C标准验证失败原因分析[分享]
W3C validation有时难以操作,但用它你可以查看由版面设计引起的差错。验证程序抛出大量差错和警告,说明你的XHTML尚未完善,可能无法在不同浏览器上保持一致功能。下面十个细微的失效问题难住了大批程序员,我们告诉你如何解决。在本文开始前介绍一些使用W3C验证程序时需要注意的问题。

相关精彩文章
有效改善WordPress性能的11个技巧
Windows7启动再加速和修复启动错误
  不要担心验证程序的警告——如果验证程序说发现12处错误以及83处警告,不要理它,继续进行下一步。

  一次更正一个错误——按顺序进展工作,从上到下,一次修正一个错误。HTML用浏览器从上到下浏览,这些错误也是按同样顺序显示。

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

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

  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标签。这可能不会改变版块布局,但却会使你的版块设计失效。

  10、缺少“title”标签

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


此主题相关图片如下:
按此在新窗口浏览图片


--  作者:Humphrey
--  发布时间:4/23/2009 11:23:00 AM

--  
很早以前就听说过对网页进行兼容性验证一说,但是没有系统了解过。本文对常见的验证错误进行了阐述,提出了应该注意的地方。另外本文是楼主原创吗?对W3标准相当熟悉才能做到啊。
--  作者:holy2050
--  发布时间:12/29/2009 11:57:00 PM

--  
"Errors found while checking this document as XHTML 1.0 Strict!"

我的网站CSS通过,但是XHTML校验有这个错误,帮忙看一下什么问题。

网站是http://www.electric-power.us


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.988ms