`

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

阅读更多
XHTML 简史

理解 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 指定这部分内容了。

XHTML V2 背后的设计理念

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 用户。但是在好的开发人员手中,可以作为增强可访问性的不错的方法。
分享到:
评论

相关推荐

    XHTML+移动概要+(XHTML+MP)-WAP+2[1].0+教程.chm

    XHTML MP (XHTML Mobile Profile) 是 WAP 2.0 标记语言. XHTML MP 是 XHTML 的子集, HTML 和 XML 的结合. 本 XHTML MP 教程从对 XHTML MP 的介绍和各种标记语言, 如 WML, XHTML, XHTML Basic 和 XHTML MP, 之间的...

    XHTML系列语言网页设计

    网页设计基础,专门针对网页设计初学者掌握XHTML

    ( xhtml1-strict.dtd

    ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ...

    (XHTML MP) / WAP 2.0 教程

    XHTML MP (XHTML Mobile Profile) 是 WAP 2.0 标记语言. XHTML MP 是 XHTML 的子集, HTML 和 XML 的结合. 本 XHTML MP 教程从对 XHTML MP 的介绍和各种标记语言, 如 WML, XHTML, XHTML Basic 和 XHTML MP, 之间的...

    html与xhtml权威指南

    html与xhtml权威指南

    让Pytohn xhtml2pdf PDF支持中文

    度娘参考了一些解决方案,发现行不通,关于字体,其实每个系统,应该都有一个黑体吧,为了兼容大部分系统,我们就添加一个系统字体 黑体 SimHei ...解压,替换xhtml2pdf [Python36\Lib\site-packages\xhtml2pdf]

    xhtml+css页面

    xhtml+css页面xhtml+css页面xhtml+css页面xhtml+css页面xhtml+css页面

    如何将html转换成XHTML

    html转换成XHTML html转换成XHTML html转换成XHTML html转换成XHTML html转换成XHTML html转换成XHTML html转换成XHTML html转换成XHTML html转换成XHTML html转换成XHTML

    XHTML 移动概要 (XHTML MP)-WAP 2.0 教程

    XHTML MP (XHTML Mobile Profile) 是 WAP 2.0 标记语言. XHTML MP 是 XHTML 的子集, HTML 和 XML 的结合. 本 XHTML MP 教程从对 XHTML MP 的介绍和各种标记语言, 如 WML, XHTML, XHTML Basic 和 XHTML MP, 之间的...

    设计XHTML MP 内容

    设计XHTML MP 内容!!!!!!!!!!

    XHTML+ajax实战教程

    XHTML ajax 教程.chm 常用设计技巧(摘自CSDN),循序渐进XHTML的讲解。

    Xhtml的3个模板

    Xhtml 3个模板Xhtml 3个模板Xhtml 3个模板Xhtml 3个模板Xhtml 3个模板Xhtml 3个模板Xhtml 3个模板

    XHTML 移动概要 (XHTML MP)WAP 2.0 教程

    XHTML 移动概要 (XHTML MP)WAP 2.0 教程

    XHTML代码的规范格式

    但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:  网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />

    XHTML.rar_ xhtml mp_xhtml_xhtml mp

    XHTML 移动概要/ WAP 2.0 教程(XHTML MP 基础)

    XHTML和CSS中文版

    XHTML和CSS中文版XHTML和CSS中文版XHTML和CSS中文版XHTML和CSS中文版XHTML和CSS中文版XHTML和CSS中文版XHTML和CSS中文版

    精通 XHTML 程序设计高级教程

    精通 XHTML 程序设计高级教程精通 XHTML 程序设计高级教程精通 XHTML 程序设计高级教程精通 XHTML 程序设计高级教程精通 XHTML 程序设计高级教程精通 XHTML 程序设计高级教程精通 XHTML 程序设计高级教程

    推荐xhtml教程源码

    xhtml教程源码,很不错,是java程序的!很有帮助,适合WAP2.0,大家自己看看吧xhtml教程源码

    XHTML.rar_Hypertext_xhtml

    XHTML标准参考手册,XHTML是The Extensible HyperText Markup Language可扩展标识语言的缩写。目前推荐遵循的是W3C于2000年1月26日推荐XML1.0(参考http://www.w3.org/TR/xhtml1)。XML虽然数据转换能力强大,完全...

    poi处理docx的XHTML和Converter最新版jar1.06

    poi处理docx的XHTML和Converter最新版jar1.06

Global site tag (gtag.js) - Google Analytics