2025 年值得关注的新 HTML 属性

48 阅读3分钟

🧩 2025 年值得关注的新 HTML 属性

1. popover + popovertarget —— 原生弹出层(Popover API)

无需 JS 即可创建模态/非模态弹窗

<button popovertarget="my-tooltip">帮助</button>

<div id="my-tooltip" popover>
  这是一个原生弹出提示!
</div>
  • 默认为 非模态(用户仍可与页面其他部分交互);
  • 添加 popover="auto"popover="manual" 控制行为;
  • ESC 自动关闭,点击外部自动关闭;
  • 支持 :popover-open CSS 伪类做动画。

优势:语义清晰、内置焦点管理、无障碍友好,替代大量自定义 tooltip/modal 组件。


2. inert —— 暂时禁用整个子树交互

让元素及其子元素“不可见、不可聚焦、不可交互”

<div inert>
  <input type="text" /> <!-- 无法聚焦 -->
  <button>提交</button> <!-- 无法点击 -->
</div>

典型场景

  • 加载遮罩下的内容;
  • 弹窗打开时背景内容“冻结”;
  • A/B 测试中临时隐藏模块。

💡 替代方案过去需手动遍历所有子元素加 disabled/aria-hidden,现在一行搞定!


3. blocking="render"(实验性,但已在 Chrome 试用)

控制资源加载对渲染的阻塞行为

<script src="analytics.js" blocking="render"></script>
<link rel="stylesheet" href="critical.css" blocking="render">
  • 默认 <script><link rel="stylesheet"> 都会阻塞渲染;
  • 此属性未来可能用于更精细控制“哪些资源必须阻塞,哪些可延迟”。

⚠️ 注意:截至 2025 年底,该属性仍在 Origin Trial 阶段,尚未全量上线,但值得跟踪。


4. fetchpriority="high" / "low" —— 资源加载优先级提示

告诉浏览器哪些资源更重要

<img src="hero.jpg" fetchpriority="high" alt="主图">
<img src="decoration.png" fetchpriority="low" alt="装饰图">
  • 适用于 <img><link><script>
  • 浏览器据此调整网络请求调度;
  • 提升 LCP(最大内容绘制)性能。

已广泛支持:Chrome 107+、Edge、Opera;Firefox 实验中。


5. autocapitalize 扩展支持(移动端增强)

虽非全新,但在 2024–2025 年获得更一致的跨平台支持:

<input autocapitalize="words">     <!-- 每个单词首字母大写 -->
<input autocapitalize="characters"> <!-- 全部大写 -->
<input autocapitalize="sentences">  <!-- 句首大写(默认) -->

提升移动端表单体验,尤其适用于姓名、地址等输入场景。


6. onformdata 事件属性(配合 <form>

虽是事件,但作为 HTML 属性可直接绑定:

<form onformdata="console.log(event.formData)">
  <input name="username">
  <button type="submit">提交</button>
</form>
  • 在表单序列化为 FormData 对象时触发;
  • 可用于动态添加字段(如 CSRF token)而不修改 DOM。

submit 更底层,适合高级表单控制。


7. rel="icon" 的新类型支持(PWA 增强)

虽非属性本身新增,但 rel 值扩展:

<link rel="mask-icon" href="icon.svg" color="#4a98f7">
<link rel="apple-touch-startup-image" href="splash.png">
<!-- 新增:Web Manifest 图标预加载 -->
<link rel="manifest" href="manifest.webmanifest">

同时,<link rel="prefetch">preload 使用更规范,配合 fetchpriority 效果更佳。


8. <dialog>open 属性标准化

<dialog> 早已存在,但 2023–2025 年 Firefox 和 Safari 完成全面支持,使其真正可用:

<dialog open>
  <p>欢迎!</p>
  <form method="dialog">
    <button>关闭</button>
  </form>
</dialog>
  • open 属性控制显示/隐藏;
  • 内置 .showModal() / .close() 方法;
  • 自动管理焦点和 ESC 关闭。

终于可以不用第三方 modal 库了!


🔜 即将到来(值得关注的提案)

属性说明
virtual-keyboard控制虚拟键盘行为(如 virtual-keyboard="manual"
content-visibility虽是 CSS 属性,但常与 hidden 配合使用,提升长列表性能
anchor(锚点定位)未来可能用于 <popup> 与触发器的自动对齐

🌐 浏览器支持情况(2025 年 11 月)

属性 / 功能ChromeFirefoxSafari移动端
popover✅ 114+✅ 121+✅ 16.4+
inert✅ 109+✅ 117+✅ 16.4+
fetchpriority✅ 107+⚠️ 122+(部分)✅ 16.4+
<dialog> 完整支持✅ 98+✅ 15.4+
blocking🧪 Origin Trial

✅ 结语

2025 年的 HTML 正变得更智能、语义化、无障碍友好。从原生弹窗(popover)到交互冻结(inert),再到资源优先级控制(fetchpriority),这些新属性让我们用更少的 JavaScript 实现更健壮的用户体验。