XHTML 简史及XHTML V2 背后的设计理念

[b]XHTML 简史[/b]

理解 XHTML V2 背后隐藏的设计理念需要了解一点历史。20 世纪 90 年代初,第一个 HTML 版本是基于标准通用标记语言(SGML)的。主要的区别在于超链接特性 — 万维网的关键基础和成功因素。和 SGML 一样,HTML 允许作者描述文档的结构,把头部和段落、有序列表、无序列表分开。在屏幕上的显示结果和浏览器有关。

随着 Web 日渐普及,HTML 用户要求控制页面的观感。浏览器厂商在 HTML V2 和 V3 中推出了新的特性。网页变得难以理解,复杂的嵌套表结构成为控制页面布局的主要手段。文档的其余部分则充斥着 font 标记和 color 声明。原来的文档结构已经难以理清。

HTML V4 的出现就是为了结束这种混乱,它将表示逻辑推给了 CSS,为高级的内容定位引入了层(DIV)。和 HTML V3 相比这意味着代码编写模式上的变化。为了简化迁移的过程,通过 HTML V4 的 Transitional 版本来支持旧的 HTML V3 结构。适用于高级用户的 Strict 版本则要求将内容和表示彻底分开。

第一个 HTML V4 网站把 DIV 当作新的圣杯一样使用,页面中几乎每个需要略加修饰的元素都用上,包括(但不限于)头部。HTML style 属性是常见的描述表示细节的地方。最终从网页中消灭了泛滥成灾的表格。但内容和表示逻辑仍然混在一起。必不可少的 CSS 文件只有寥寥数行。

最近,一些知名的 Web 开发人员为 HTML V4 样式表提出了一种更巧妙的办法。在现代浏览器中,CSS 属性并没有局限于 DIV 元素。只要愿意可以为任何 HTML 元素指定样式。很多 weblog 开始谈论语义 HTML。没有完全禁止 DIV 元素,但是网页编写者开始使用最适合描述其内容的 HTML 元素。比方说,多数网站的导航菜单最好用无序列表来描述。再比如,不对段落元素使用 bigHeader 这样的类名,而改为 H1 元素,然后用 CSS 根据要求修改表示形式。

同时,W3C 提出 XHTML V1 作为符合结构良好而有效的 HTML V4 的 XML 版本。对于 XML 用户来说,这样做简化了将 XML 内容转化成网页并用已有验证程序检查转换结果的工作。XHTML V1.1 尝试将不同的问题隔离到不同的模块中。模块化方法便于针对不同的需要重用标准的不同部分,也有利于用新的功能扩展标准。

和 HTML V4 相比,XHTML V1.1 的用户甚至更多,把内容和表示分离开。但是和过去一样,一些实际问题只能使用 CSS 中技巧来解决。比如,无序列表表示的菜单结构通常包括漂亮的图片。但是,图像不大容易通过文本-语音设施读给有视觉障碍的人听。而且 Lynx 这样的文本浏览器也不能显示图像。一个复杂的 CSS 技巧可以在浏览器中隐藏文本显示图像。但是如果不同页面上的菜单不同,就很难用 CSS 指定这部分内容了。

[b]XHTML V2 背后的设计理念[/b]

XHTML V2 背后最重要的设计理念是进一步分离内容和表示,改进 HTML V4 和 XHTML V1 残留的瑕疵。比如,为无序列表中的每项指定图像的原生支持。原来的 IMG SRC 标记换成了可用于任何元素的可选属性 SRC。修改后的 CSS 完全脱离了内容,不支持图像的设备很容易转而表示文本。

但 CSS 不是 Web 开发人员的惟一挑战。大量的时间用于服务器和 HTML 表单的交互以及存在大量 JavaScript™ 代码。表单仅限于一维的键值对。开发 JavaScript 代码工作量很大,但是在文本-语音转换设备这样的接口上毫无用处。

基于模块化的方法,XHTML V2 用 XForms 模块替换了 HTML Forms,使用适当的应用程序模型增加了对常见问题的支持。XForms 不需要一行脚本就能指定交互逻辑、验证规则和计算方法。此外,这种技术采用了丰富的 XML 结构而不是键值对,允许出现嵌套的子表单和重复的元素。除了提供一个强大的引擎外,文本-语音设备更适合改变应用程序的丰富性。

除了 XForms,还有其他一些 XHTML 有关的问题抽取为独立的规范满足其他需要 — 比如 XML Events、XFrames 和 Ruby(亚洲语言)。

随着表示的分离,编程也从标准中分离出来。onClick 之类的交互属性被 XML Events 模块代替。由于 XML Events 规范本身就是为此而设计的,它提供了一组更强大的工具来处理用户接口。

对于 XHTML V2 的创新,总结而言其基本理念就是分解不同的问题。问题不再是 HTML 的次要特性,而成为新规范的主要目的。因此,新规范最适合优化面临的问题。不过,区别对待不同的问题是出于理念而不是实践的需要。熟悉使用这套工具的聪明的开发人员可以得到需要的结果。但是当前 HTML 版本的一般用户能否创建高质量的 XHTML 文档并不好说。

XHTML V2 的目标很可能不是一般 HTML 用户。但是在好的开发人员手中,可以作为增强可访问性的不错的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值