看隔壁帖子发现有不少人赞成写语义化的 html ,不写就是屎山,能力不行?但是去看了[douyin.com]()、[weibo.com]()、[csdn.net]()、[jd.com]()、[bilibili.com]()等国内访问量高的网站,都极少使用语义化标签,控制台运行`document.querySelectorAll('section')`得到的都是空。
section 的定义本来就有一些模糊。喷没有语义化的多半都是因为按钮、链接都是使用 div 来模拟的吧。那确实会有很多问题,没办法脱离鼠标来完成对应的操作。 至于无障碍性(a11y)是在 html 语义化之上为障碍人士做的更进一步。就比如大部分人提到的 div 一把梭中使用模拟按钮,就没办法使用空格/回车或者一些辅助设备来实现按钮功能(大部分都是通过 mouse_click 来完成点击功能的)。
但是现在都是使用的 UI 组件库,这些语义化的工作都是组件库提前帮我们处理好了。日常工作中大部分的时间其实会书写的 html 的需求几乎只会有页面布局的场景,大量使用 div 也是没问题。 换一个更加实际的话来说,其实说不需要语义化的人,大部分的工作内容都是一些管理后台相关的业务。这些内部业务其实就对语义化/无障碍没有什么需求,是否在开发过程中使用语义化就完全是看自己的习惯和自己对于代码的要求。