每日前端进阶第三题:说一说你对HTML5语义化的理解

栏目: Html5 · 发布时间: 5年前

  • 作者:陈大鱼头
  • github: KRISACHAN
  • 链接: github.com/YvetteLau/S…
  • 背景:最近高级前端工程师 刘小夕github 上开了个每个工作日布一个前端相关题的 repo ,怀着学习的心态我也参与其中,以下为我的回答,如果有不对的地方,非常欢迎各位指出。

标签分类

  • 在一个 html 文档中,标签大致可以分为以下两个大类:
    1. <!DOCTYPE> :声明文档类型;
    1. <html></html> :限定文档区域;

<html></html> 内又有以下几类:

1. head

<head> 标签用于定义文档的头部,它是所有头部元素的容器。 <head> 描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。 head内可存放标签有:

  1. <base> :为页面上的所有链接规定默认地址或默认目标。
  2. <link> :主要用于 style文件 引入
  3. <style> :样式表区域
  4. <title> :可定义文档的标题。 <title> 标签是 <head> 标签中唯一要求包含的东西。
  5. <meta> :提供了有关当前 HTML 元素的 元信息 (meta-information)

2. body

<body> 标签内存放文档的内容。 <body> 内标签分类有以下11类:

  1. 内容分区
  2. 文本内容
  3. 内联文本语义
  4. 图片和多媒体
  5. 内嵌内容
  6. 脚本
  7. 编辑标识
  8. 表格内容
  9. 表单
  10. 交互元素
  11. Web组件

HTML标签语义化

语义化到底重不重要?

我们知道,在 HTML 中,每个标题是通过 标题标签 来定义的, 标题标签 一共有 6 个,分别是:h1~6。例子如下:

<h1>我是一级标题</h1>
<h2>我是二级标题</h2>
<h3>我是三级标题</h3>
<h4>我是四级标题</h4>
<h5>我是五级标题</h5>
<h6>我是六级标题</h6>
复制代码

如果是连续的标题,则可以用 <hgroup> 来连接:

<hgroup>
  <h1>我是一级标题</h1>
    <h2>我是二级标题</h2>
    <h3>我是三级标题</h3>
    <h4>我是四级标题</h4>
    <h5>我是五级标题</h5>
    <h6>我是六级标题</h6>
</hgroup>
复制代码

如果是段落内容,则用 <p>

<p>我是段落内容</p>
复制代码

如果我们要列一个列表则可以用 <ol></ol> <li></li> 。如果只是要标记项目,我们可以用 <li></li> ,例子如下:

<ul>
  <li>苹果</li>
  <li>香蕉</li>
  <li>奥特曼</li>
  <li>橙子</li>
</ul>
复制代码

若是标记顺序,则用 <ol></ol> ,例子如下:

<ol>
  <li>向前走300米</li>
  <li>右转</li>
  <li>向前走300米</li>
  <li>右转</li>
  <li>向前走300米</li>
</ol>
复制代码

当然我们也可以按需嵌套。

<ol>
<li>先用蛋白一个、盐半茶匙及淀粉两大匙搅拌均匀,调成“腌料”,鸡胸肉切成约一厘米见方的碎丁并用“腌料”搅拌均匀,腌渍半小时。</li>
  <li>用酱油一大匙、淀粉水一大匙、糖半茶匙、盐四分之一茶匙、白醋一茶匙、蒜末半茶匙调拌均匀,调成“综合调味料”。</li>
  <li>鸡丁腌好以后,色拉油下锅烧热,先将鸡丁倒入锅内,用大火快炸半分钟,炸到变色之后,捞出来沥干油汁备用。</li>
  <li>在锅里留下约两大匙油,烧热后将切好的干辣椒下锅,用小火炒香后,再放入花椒粒和葱段一起爆香。随后鸡丁重新下锅,用大火快炒片刻后,再倒入“综合调味料”继续快炒。</li>
  <ul>
    <li>如果你采用正宗川菜做法,最后只需加入花生米,炒拌几下就可以起锅了。</li>
    <li>如果你在北方,可加入黄瓜丁、胡萝卜丁和花生米,翻炒后起锅。</li>
  </ul>
</ol>
复制代码

在我们平常说话的时候,为了突出重点,我们往往会强调某些词,就如如下的例子:

<p>我<em>非常</em>喜欢加班</p>
复制代码

如果是重音强调,则:

<p>鱼头,明天<strong>别迟到</strong>了</p>
复制代码

如果你在项目的一开始就使用HTML语义化,不仅不会花更多的时间,而且又有以下的可访问性优点:

  1. 更便于开发— 如上所述,你可以使HTML更易于理解,并且可以毫不费力的获得一些功能。

  2. 更适配移动端— 语义化的HTML文件比非语义化的HTML文件更加轻便,并且更易于响应式开发。

  3. 更便于SEO优化— 比起使用非语义化的

    标签,搜索引擎更加重视在“标题、链接等”里面的关键字,使用语义化可使网页更容易被用户搜索到。(虽然在9012年的今天,SEO并没太大软用)

无障碍设计

在Web开发无障碍性意味着使尽可能多的人能够使用Web站点,即使这些人的能力是有限的。这里我们提供关于开发易访问的内容的信息。

“无障碍性是最常用于描述设施或设施,帮助残疾人,如“轮椅”。这可以扩展到盲文标识、轮椅坡道,音频信号在人行横道,轮廓人行道,网站设计,等等。"

WAI-ARIA

WAI-ARIA是一项技术,它可以通过浏览器和一些辅助技术来帮助我们进一步地识别以及实现语义化,这样一来能帮助我们解决问题,也让用户可以了解发生了什么。

WAI-ARIA 是W3C编写的规范,定义了一组可用于其他元素的HTML 特性,用于提供额外的语义化以及改善缺乏的可访问性。以下是规范中三个主要的特性:

  1. 角色(role):这定义了元素是干什么的;

  2. 属性: 通过定义一些属性给元素,让他们具备更多的语义;

  3. 状态:用于表达元素当前的条件的特殊属性。

如果你、喜欢探讨技术,或者对本文有任何的意见或建议,你可以扫描下方二维码,关注微信公众号“

”,随时与鱼头互动。欢迎!衷心希望可以遇见你。


以上所述就是小编给大家介绍的《每日前端进阶第三题:说一说你对HTML5语义化的理解》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

轻快的Java

轻快的Java

(美)塔特、杰兰德/国别:中国大陆 / 张晓坤 / 中国电力出版社 / 2006-7 / 29.00元

Java的开发者正深陷于复杂性的泥沼中而无法自拔。我们的经验和能力正接近极限,程序员为了编写支持所选框架的程序所花的时间比解决真正问题的时间要多得多。我们不禁要问,有必要把Java搞得这么复杂吗?   答案是否定的。本书给你指引了一条出路。无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架、开发过程和最终代码。你能重新掌握一度失控的J2EE应用程序。   在本书......一起来看看 《轻快的Java》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具