《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 2.3 语义标记的重要性

简介:

本节书摘来异步社区《移动网页设计与开发 HTML5+CSS3+JavaScript》一书中的第2章,第2.3节,作者:【英】Peter Gasston,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 语义标记的重要性

在继续探讨如何以不同的方式为页面添加更深层次的丰富含义之前,让我们先停下来问问“究竟为什么要使用语义?”我的意思是,我们通常都使用div元素来标记一个页面,难道这样做在本质上是错误的吗? (例如,使用以下代码块):

2c341dac536b2db8c902aa31099402f18ae7ec77

Divya Manian在一篇辩论性文章“Our Pointless Pursuit of Semantic Value”中也讨论了这个问题。在文章中,她认为,对于大多数人来说,过于强调语义标记就是浪费时间:

标记结构内容,但是,和我们教科书上所说的相比,选择标签所起的作用,实际上要小很多……
然而我要说,对于使用正确的语义元素,有两个很好的理由。第一,也是最平淡无奇的一个理由,使用正确的语义元素能够帮助我们制定一个约定俗成的标准,让编写的代码具有良好的可维护性。众所周知,如果使用语义元素,你的同事或继任者将能够在你的代码上工作,而不用学习你的名称方案。反过来也是一样的:如果你接手他人的代码,他或她如果按照标准来编码,你就会知道代码的情况到底如何。

还有另一个更深奥的原因,使用语义元素能增加内容的相关性(aboutness)。简单地说,相关性是衡量意义质量的一个标准,内容的相关性描述了内容的本质。

下面,我们来对这个原理做一个简单的说明,假设有一个网页,其中包含W.H.Auden的一首诗《葬礼蓝调》:

他是我的南北,我的西东。

是我作息的意义。

是我的日夜,欢唱谈话的内容。

我以为爱会永恒不朽……

……我错了
虽然我们知道这是一首关于死亡的诗,但是“死亡”这个词本身并没有出现在诗中。索引页的搜索引擎如何才能知道这首诗是关于什么主题,并且在该主题的搜索结果中找到它?当搜索引擎浏览该页面的链接文本时,在“阅读更多”的链接文本中没有提供上下文,可在 “W.H. Auden关于死亡的诗”的链接文本中提供了一些相关的信息检索。

正确使用语义元素能带来同样的好处。如果页面上所有的内容都用div来标记,内容就会没有上下文;反之,如果正确使用语义元素来标记页面,内容就会有上下文:

2b299ccb19c0e53347fc1fe24258305ed8af5a55

现在,哪些是重要标题,什么是主体内容,就非常清楚了。所以说,通过正确使用语义元素,可以赋予内容一些信息检索的相关性。

除了正确使用语义元素来标记内容,还可以使用很多其他方法来增加文档的含义,这些含义是机器所需的、而非用户所需(通常称为结构化数据)。例如,可以使用定义模式(微格式)中现有的属性和元素,或用新属性(RDFa和微数据)来扩展HTML。接下来,我们将一一对这些方法作简要介绍。

相关文章
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
687 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
9月前
|
开发框架 JavaScript 前端开发
精选HTML、JavaScript、ASP代码片段集锦
这些代码片段代表了HTML, JavaScript和ASP的基本应用,可被集成到更复杂的项目中。它们注重实用性,并且易于理解,旨在帮助开发者快速开始项目构建或进行学习。尽管ASP不如其他服务器端技术(如Node.js, PHP, Ruby等)现代,但它在遗留系统中仍非常普遍,了解基础仍具有价值。
323 14
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
789 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
638 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
873 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
609 33
|
JavaScript 前端开发
页面滚动触发css3动画js插件
delighters.js是一款页面滚动触发css3动画js插件。该js插件可以在页面向下滚动时,为进入浏览器视口的元素制作各种炫酷的CSS3动画效果。
205 13
|
Web App开发 JavaScript 前端开发
Node.js开发
Node.js开发
316 13