Check page for valid XHTML
前几天在Freedom逛的时候看到这个话题后,当时不以为然,咱们WP用户那是铁定通过验证的。前天无事,突然想起这个,立马到W3C进行验证,结果令我大吃一惊、坐卧难安……哎呀!错误几近20个,此事儿引起了我的“高度重视”,好端端的一个本身是符合XHTML1.0过渡验证的Wordpress程序不能让自己糟蹋了,好在W3C组织还没有查上门来发“整改令”,遂战战兢兢、仔仔细细逐一对每个错误进行排查和纠正。
诊断结果及排查过程如下:
- 有几个错误源自Kubrick风格,好些个空标签没有闭合,而且是不太容易被注意的Head部分
- 有几个是图片没加alt属性,说到这个alt,不是不加,而是我曾经让这个alt郁闷了几次,好几个图片加了alt,src的地址会跳出来,后来把alt放在scr前面才解决问题。难道是WP的BUG?
- 最后一个错误,我费了三天,就是我那个Livesearch的问题,因为是Livesearch,必须不能在用户输入时跳出浏览器的历史记录表单,所以在form中有autocomplete=”off”的属性,这可是一个IE的私有属性。因为这个搜索框是Live性质,必须要有这个功能,为此,开始绞尽脑汁的想办法,改成JS……试了好多种,W3C都给认出来了。没辙,今天突然起到去Livesearch的官方看看源码,看看他们是如何解决这个的,嘿,才发现把他们的方法很巧,放在input里面,然后用JS,马上回来改,然后直扑W3C,终于看到让人心花怒放的This Page Is Valid XHTML 1.0 Transitional!
然后我也去几个WP用户那里转了一下,几乎没有通过验证的,倒不是WP程序的问题,主要还是写作时的一些陋习造成的,看到很多HTML时代的影子,包括我在内,有些文章肯定都是有问题的,下一步再打算逐一修正这些不符合XHTML的地方,至少从今开始的每一篇文章要严格要求自己啦。
补记(2004.11.20):
首页整改完了,开始着手文章的页面了,Mu兄提到的回复问题,仔细看了一下源码,也基本解决了,是我当初自己改这个“分离Trackback和Comments”时不细致造成的,有一个页面定位放在了<ol>和<li>之间;而且还发现了好几个小问题,都一并解决了,这都是平时页面上看不出来的。正因为分离了Trackbacks和Comments,还有一个问题就是,文章必须要都有Trackback和Comments或者都没有,则能通过XHTML,不然就会有一个<ol>是空的,这个只有再想想办法。还有就是我上面说的图片alt问题的原因也找到了,和alt没关系,主要是我那个acronym缩写插件闹的,上次有朋友说我那个“86件事儿”里面的部分链接不对就是因为这个,因为链接里面有缩写名词,呵呵,没办法,我目前的办法就是给他编一次码来躲过缩写插件。
现在好像Kubrick风格很火,好多都在用,对Kubrick用户写文章时注意第一段至你的<!–more–>按钮不用加段落标签,它会自动套上一个段落标签,不然就通不过验证。其它就没有什么了,按XHTML的规矩办就是了。
[…] 18:57 PM
见到Dark提到了WP的XHTML标准问题,也检查了一下自己的Blog,果然有些问题。例如 […]
谢谢Dark 我也回去修改修改我的WP =)
我怀疑WP或者这个Kubrik还是有些问题。主页没有问题,但单独的文章在留言这一块似乎有问题。。。
murj兄:我查了隔壁邻居的Kubrick的回复,没有问题,应该是我自己上次弄“分离Trackbacks和Comments”造成的一点点问题,解决纠正中。默认的WP和Kubrick是没有分离的,都是按时间排序的。
也谈Gmail的POP3
今天看了看Dark的关于Gmail POP3的Blog,觉得有几点讨论的很热烈且很有争论,一个就是为什么Gmail要提供POP3给用户,这样一个显而易见的事实就是丢失了所谓的广告,但现在还实在看不出来Gmail箮.
dark老师
关于autocomplete 属性的修改,能不能给个范例代码,我已经被折腾得不不行了,对js又不是太熟,恳请帮忙。
Jess,不太明白你是什么意思,你是想通过XHTML么?如果是这样,你可以到Livesearch官方Wiki给出的js看看,看前面几行就知道了。或者你直接扒我的js看也是一样的。
dark老师
我客户的页面里有一个需要提交的form,里面有一些选项和输入框。为了安全<form>里加了autocomplete=“off”,然后就无法通过w3c的check。这只是一个html,我想知道具体如何用其他代码替代autocomplete属性,因为我的客户要求所有页面都必须通过w3c的check。
不要再叫老师了,如果不用js来瞒天过海的话,你可以去看W3C的说明,没有其他办法。autocomplete是通过浏览器控制的,为此我还请教W3C的专家,他们回信告诉我的。
你只能在form旁边加个注释吧:为了安全,请关闭浏览器的“自动完成”功能。
Dark
我想看一下那段瞒天过海的js代码和应该加在什么位置,我好琢磨着自己改,不知道可不可以。
谢谢!
h++p://dark.supercn.net/livesearch.js
自己抠(这就是我的livesearch这个forum里面的js)
唉,这几天看过《网站重构》后才想起来你这篇文章的说,怎么说呢。我的BLOG基本上是没希望了,准备下次升级的时候再说吧。这人啊。。。懒啊。