分离内容和表现
HTML从来就不是表现的手段,但从用户端结合元素来格式化文本,开发者从中找到操作布局的方法。CSS的强大,使得现在不再需要用HTML做任何表现了,而内容也可以完全从表现(CSS)中分离出来。
这样做有很多好处──通常可以压缩文件容量,有着用一个主要样式表就可控制整个网站而不是单个页面的灵活性,也可能使页面更易用,更具亲和力。
遵循这些基本原则基本上意味着你不应该在HTML内使用样式化的任何事物了。比如font的标签,比如bgcolor的属性不应该再使用。甚至在图像标签img内的边框属性border在XHTML 1.1中也是非法的了。别担心,过时的HTML可以样式化,CSS更可以样式化,而且可以做得更好。
不仅仅是从HTML内剥离表现,内容的结构意味着在适合的地方使用明确的HTML标签。比如,h1,h2等应用在标题上──而不仅仅是使用CSS使字体变大而已。
最佳指引就是一个可视化的浏览器上使用其默认的样式来呈现一个没有样式表(或者有样式表,但不支援样式表的文本浏览器,比如lynx——译者注)的页面。
表格不应该用在布局上──表格用来表示表格式的数据(我们已经不厌其烦地说了很多次──译者注)。也许对于已经习惯传统结构的HTMLer来说,完全改变有很大的技术难度。这个方法很大程度上压缩了文件,而且,基于这些显性代码,它变得更易用,更具亲和力。
关于更多,请阅读CSS高级指南的布局。
在XHTML中所有的标签都必须小写和关闭。没有闭合标签的(如br和img)必须用英文半角正斜杠“/”在后面自关闭(如<br />)。注意在斜杠前应该有一个英文半角空格。
标记也必须是合式的,使元素正确嵌套(比如<strong><em>this</em></strong>,而不是<strong><em>this</strong></em>)。
所有的文档都要有html,head,title和body元素。也必须从文档类型声明开始。
文档主体应该从 p, h1,h2, h3,h4,h5,h6,div, pre,address,ins或者del开始。
属性
所有的属性必须是小写的,它们的值也要用英文半角引号括(")起来。
精简属性是不允许的(比如<input type="checkbox" checked />)。按惯例,精简属性必须给出跟属性名称一样的值(如 <input type="checkbox" checked="checked" />)。
名字 name属性不再是合法的了(除了在表单元素中),应该使用id来代替。
目标属性target不是一个合法的属性。庆幸吧,它有些癫狂。
在img里,alt属性是必须的。
亲和力
为残障人士制做具有亲和力网页的理由是不证而明的。不仅是人道的,而且也对老年用户和五官功能减退的用户有利(想一想,有一天我们老了,视力消退,五官不灵,怎么浏览互联网?为年老积点德,现在就考虑亲和力吧!——译者注)。亲和力不仅与有严重残障人士方便,也使大部分少量消退功能(特别是视觉)的用户更为易用。
这个问题越来越牵涉法律问题了,比如美国的“508条款”的采用,试图积极推动强制使用亲和力;在英国,所有的政府网站必须有一个指定的亲和力程度。什么时候才可以有像在建筑物上的亲和措施的立法,以便普遍用在商业网站上?(中国还不知道什么时候有这种立法呢!但不等于我们就不要关注我们设计的网页的合法性。——译者注)
如果能遵循上述的建议,你的HTML应该已经具备了为残障用户服务的高度亲和力。还有更多的创作使你的亲和力更上一层楼,而且不难。见亲和连接和亲和表单指南。