尽管推荐使用表示文档结构和富含语义的 HTML 元素和属性来编写 HTML 文档,但是在有些情况下,不得不使用与展示相关的元素和属性来完成特定的功能。这是实践富含语义的 HTML 中的“灰色地带”。下面列举几个常见的情况:
正是由于上面所述这些“灰色地带”的存在,通常来说,目前最适用的是 HTML 4.01 过渡型文档类型声明。
之前关于富含语义的 HTML 的介绍,都是从基本元素和属性的角度出发,下面将介绍富含语义的 HTML 组件:微格式。
微格式(Microformat)微格式(Microformat)是满足特定模式的有组织的 HTML 片断,用来描述网页中富含语义的实体。在编写 HTML 文档时,经常会需要包含某些富含语义的实体,包括人、事件、评论、地理位置和个人简历等。比如在个人博客中经常会包括作者本人的基本信息。微格式定义了描述这些实体的 HTML 应该具有的格式。通过使用微格式,这些实体的语义得以在 HTML 中保留。微格式是富含语义的 HTML 这一指导原则的良好实践。它将对语义的保留提升到了 HTML 片断的层次。微格式使用富含语义的 HTML 元素和 class 属性。下面通过一个实例来说明微格式的用法。
hCard 是一种用来描述人、公司、组织机构和地点的微格式。 中给出了一个实例。
清单 3. hCard 微格式实例<div> <span>成富</span> <div> <span>工作</span>: <div>东北旺西路8号</div> <span>海淀区</span>, <span>北京市</span>, <span>100193</span> <div>中国</div> </div> <div> <span>工作</span>8245xxxx </div> <div> <span>家庭</span>138xxxxxxx </div> <div>电子邮件: <span>chengfbj@cn.ibm.com</span> </div> </div>
在 中,微格式 hCard 使用了 <div> 和 <span> 这两个通用 HTML 元素,加上富含语义的 street-address、postal-code、country-name、tel 和 email 等 class 属性。 中的 HTML 片断清晰的表达了“人”这样一个实体的语义。Web 开发人员可以使用不同的样式来显示这样一个实体。
在编写 HTML 文档时,如果需要描述的实体已经有相关的微格式的规范,应该按照相应的规范来使用合适的 HTML 元素和 class 属性。更多微格式的信息见 。
至此,关于富含语义的 HTML 的主要内容就已经介绍完毕,下面介绍一些相关的其它话题。
其它话题下面介绍与富含语义的 HTML 相关的其它话题,主要与可访问性(Accessibility)相关。
可访问性可访问性指的是网页内容应该可以被残障人士所访问。对于失明的用户来说,他需要使用屏幕阅读器这样的设备来读取网页的内容。富含语义的 HTML 文档可以有效的为屏幕阅读器提供语义信息,从而帮助它更好的将文档的含义传达给用户。由于文档的展示对用户是不可见的,因此文档的语义就显得尤为重要。
比如,在文档中经常需要对一段文字进行着重强调。如果使用与展示相关的元素,可以写成 <b>Text</b>。通常来说,浏览器会用粗体来显示这段文本,从而传达给用户强调的语义。但是对于屏幕阅读器来说,它并不能很好的理解 <b> 所要传达的语义,可能是表示强调,也可能只是用粗体显示的普通文本。但是使用 <strong>Text</strong> 的话就不一样了,因为 <strong> 元素本身就包含了强调的语义,屏幕阅读器可以采用合适的方式来传达出来,比如加重朗读时的语调等。
富含语义的 HTML 文档也能更好的被搜索引擎所理解。
总结本文详细介绍了目前 Ajax 应用开发中的一个最佳实践“富含语义的 HTML”,即 HTML 文档应该只表示 Web 应用的结构,而不是展示。在编写 HTML 文档的时候,应该尽量使用 HTML 规范中表示文档结构和富含语义的元素和属性。本文中介绍了 HTML 规范的历史以及规范中哪些元素和属性是推荐使用的。与此同时,还给出了一系列编写 HTML 文档时的最佳实践。最后,介绍了微格式以及可访问性相关的内容。
声明本人所发表的内容仅为个人观点,不代表 IBM 公司立场、战略和观点。