震惊,某互联网大厂的语义化竟然做成这样?——HTML语义化的案例分析| 青训营

712 阅读3分钟

浅谈HTML语义化

在网页设计和开发时,HTML语义化是一个重要的标准。它强调使用具有语义化含义的HTML标签来描述网页内容的结构和意义,从而提高页面的可读性、可访问性和搜索引擎优化。

在网页开发中,我们常常会遇到两种极端情况:一方面是过度使用<div><span>等通用标签,缺乏明确的语义;另一方面是滥用过时的非语义化标签,如使用<table>布局网页。这两种极端都会导致网页结构的混乱和可维护性的下降。

对于这种现象,我的看法是“我宁愿什么也不做,也不愿犯错🤣”——对语义化标签的使用不了解的时候还是老实用<div><span>标签去写网页吧,这样至少不会起反效果。但是假如对代码质量有追求,或者需要优化SEO时,去学习并合理使用语义化标签还是很有必要的。我刚入门前端时看的是MDN的文档,里面多次着重强调了web开发中语义化的重要性,文档对无障碍功能的看重令我印象深刻,所以我自己写的项目也比较注重语义化方面。

分析新浪网的语义化

我们先选取一个比较知名的新闻网站——新浪网进行分析,想必一个大体量的老牌新闻网站语义化做的应该挺不错吧。

sina.png

一开元素检查,看起来备注啥的写的还是挺完善的,那么我们详细看看

先找找网站的Header在哪吧,好家伙,是一堆<div>套娃

<!-- 头部 bar begin -->
<div id="SI_Top_Wrap" class="top-nav-wrap top-nav-wrap-fix">
    <div class="top-nav">
        <div class="tn-bg">
            <div class="tn-header">
                <div class="tn-nav">
                    <div class="tn-header">...</div>
                </div>
            </div>
        </div>
    </div>
</div>

再看看文章部分吧,代码有点多,就不贴了,截个图大伙体会一下

sina.png

看了一遍也没找到啥语义化标签,可能是项目比较旧了,没及时做这方面的更新,一直使用HTML的注释去维护,估计前后端也不是分离的,对这种老项目要求也不能用现在的标准去看待,不过这种情况要是出现在现在的前端工程里,对代码的可维护性也会有这一定的影响😂。

分析知乎的语义化

接下来我们看看知乎的语义化做的怎么样,作为相对来说比较新的知识类网站,我对知乎还是非常有信心的。

一进去就看到知乎下面放着这个图片,感觉语义化做的不会差(就是必须要登录才能使用,多少有点不太合适了)

zhihu.png

进到首页直奔Header,看起来还不错

zhihu-header.png

再看文章列表,看着这规范的<section>,舒服了

zhihu-sections.png

小结

通过这两个案例的对比,我们可以更好地理解HTML语义化对网页设计的重要性,并从中汲取经验教训,以提升我们自己的网页设计能力。

写项目的时候,尽可能使用语义化标签,既能便于团队开发和维护,又能提升用户体验,还能有助于爬虫抓取更多的有效信息(经典面试题),何乐而不为呢