HTML5 语义化标签是自带实际含义的结构化标签,核心有header、nav、main、section、article、aside、footer、figure、figcaption等。它们的作用是替代无意义的div,清晰划分页面模块。重要性极高:开发者能快速读懂代码,降低维护成本;屏幕阅读器可精准识别内容,提升无障碍访问;搜索引擎爬虫能快速抓取核心内容,大幅优化 SEO。想要提高内容可理解性,就要合理嵌套标签,主内容用main,导航用nav,侧边栏用aside,不滥用无意义标签,让页面结构层级分明,人和机器都能轻松理解页面逻辑。
HTML5 升级了表单体系,新增了超多实用元素和原生验证功能。新表单元素:input新增email、tel、url、number、range、date、color、search等类型,还有datalist下拉提示、output计算结果标签。验证特性全部原生支持,无需手写 JS:required设置必填项,pattern绑定正则验证,min/max/step限制数值,maxlength控制长度。还支持novalidate关闭验证、invalid事件监听校验结果。移动端会自动匹配对应键盘,验证反馈直接由浏览器提供,简化开发,减少提交错误,用户体验大幅提升。
data-*是 HTML5 专属的自定义数据属性,专门用来给标签存储私有数据,不影响页面展示和 HTML 语法验证。使用方式很简单:在 HTML 标签上直接写data-自定义名="值",比如data-user-id="1001"、data-status="active"。JS 中可以用元素.dataset.自定义名快速读取和修改,也能用getAttribute获取。它的核心用处:存储交互标识、组件配置、后端数据,不用藏在隐藏输入框或全局变量里,代码更整洁。完全不污染标准属性,是前端组件传参、状态标记的最佳方案,安全又便捷。
progress和meter都是进度展示标签,但功能和场景完全不同。progress是动态任务进度条,用来表示正在进行的任务完成度,比如文件上传、加载、下载,只有value和max属性,数值随任务实时变化,无固定区间。meter是静态度量指示器,表示固定范围内的数值状态,比如电池电量、考试分数、磁盘占用,支持min、max、low、high、optimum最优值,展示当前等级。使用场景:动态任务用progress,固定指标展示用meter,两者各司其职,不能混用。
outline 算法是 HTML5 自动生成文档大纲的规则,核心作用是规范页面层级结构,替代传统纯标题的层级方式。它依靠section、article、nav等语义化标签划分独立内容区域,每个区域可单独使用标题标签,算法会自动整理出清晰的页面大纲。这个算法直接影响搜索引擎、屏幕阅读器对页面的理解,大纲清晰,就能精准识别内容主次,提升 SEO 和无障碍访问。如果滥用div、不使用语义标签,大纲会混乱,机器无法解析页面结构。规范使用语义标签,就能让文档结构标准、逻辑清晰。
Microdata 是 HTML5 内置的微数据语法,能给页面内容添加机器可读的语义,让搜索引擎精准理解内容,是免费高效的 SEO 手段。使用方法非常简单:用itemscope定义内容块,itemtype指定内容类型(文章、商品、人物等),itemprop标记关键属性。比如给文章添加itemtype="Article",标题加itemprop="headline",作者加itemprop="author"。搜索引擎抓取时,会识别这些结构化数据,在搜索结果中展示富摘要,提升页面点击率。无需复杂代码,纯 HTML 属性就能实现,适配文章、商品、企业信息等绝大多数场景。