[译] 不要再用这么多 div 了,试试语义化标签吧

本文介绍了HTML5的语义化标签如何提高网页的可访问性和可读性,强调了避免过度使用
的必要性。通过使用
,
,
,
,
,
摘要由CSDN通过智能技术生成

我们都喜欢使用 <div> 写网页。它已经存在几十年了。几十年来,当你出于样式或结构的考虑需要将一些东西包装到一起时, <div> 已经成为首选元素。现在的线上网站普遍能看到下面的代码结构:

<div class="container" id="header">
    <div class="header header-main">Super duper best blog ever</div>
    <div class="site-navigation">
        <a href="/">Home</a>
        <a href="/about">About</a>
        <a href="/archive">Archive</a>
    </div>
</div>
<div class="container" id="main">
    <div class="article-header-level-1">
        Why you should buy more cheeses than you currently do
    </div>
    <div class="article-content">
        <div class="article-section">
            <div class="article-header-level-2">
                Part 1: Variety is spicy
            </div>
            <!-- cheesy content -->
        </div>
        <div class="article-section">
            <div class="article-header-level-2">
                Part 2: Cows are great
            </div>
            <!-- more cheesy content -->
        </div>
    </div>
</div>
<div class="container" id="footer">
    Contact us!
    <div class="contact-info">
        <p class="email">
            <a href="mailto:us@example.com">us@example.com</a>
        </p>
        <div class="street-address">
            <p>123 Main St., Suite 404</p>
            <p>Yourtown, AK, 12345</p>
            <p>United States of America</p>
        </div>
    </div>
</div>
复制代码

用了很多 <div> 啊。不管怎么说,这样用也是有效的。我的意思是说,这是我们需要的结构,而且也能依照设计完成样式写书。但这里面有些大问题:

  1. 可访问性:许多 a11y 工具都很聪明。它们会尽力解析页面结构,帮助用户按照开发者的意图浏览页面结构,并为用户提供轻松的跳转点(jump points),快速导航到页面的某个部分。但  <div> 并不能提供有关文档结构的任何有用信息。世界上最聪明的 a11y 工具说到底也不是人,不能期望它通过解析 class 和 id 就能明白全世界开发者各种怪异和狂野的命名方式。我能知道 class="article-header-level-2" 是一个副标题,但机器人不能。(如果真的可以,请你把它从我的计算机中请出,我还没有做好 AGI 革命 到来的准备。)
  2. 可读性:阅读上面的代码,我们需要仔细查看类名,还要分清楚是哪个 <div class="..."></div> 上的。不过,一旦进入到深几个层次的标记,就很难分清楚哪些 </div> 结束标记对应的 <div...> 开始标记在哪里。然后,我们就非常依赖 IDE 提供的为 不同的缩进级别着色突出显示匹配的标签 等功能,来搞清楚当前所处的位置。如果文档内容很长的话,可能还要借助大量滚动。
  3. 一致性和标准。当开始一项新任务或转移到一个新项目时,从头学习整个代码库中使用的所有疯狂标记约定可能会令人沮丧。如果大家都用一种标准化的方法来标记 Web 文档里的通用结构,那么即使对于不熟悉的代码库,我们也能通过浏览 HTML 文件,快速了它的意思。这个标准就是 HTML5。

HTML5

HTML5 不是什么新东西了。简单介绍一下:它是在 2008 年 1 月(12 年前!)发布了最初的工作草案征求公众意见,并于 2014 年 10 月成为 W3C 推荐标准。也就是说,HTML5 正式存在都 5 年多了。

HTML5 的主要进步之一是引入了标准化的 语义元素 。“语义”是指单词或事物的含义,因此“语义元素”就是为了用更有 意义的 方式标记文档结构的元素。语义标签可以清楚地表明元素的 用途 和在文档里所起的作用。而且,由于是标准化的&#

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值