Skip to content

表单、媒体与交互元素:默认行为、可达性与资源代价

主题边界

  • 表单元素承担数据输入、校验、提交与可访问性语义;媒体元素承担解码、缓冲、播放策略与资源调度。
  • 讨论这题时要把标签默认行为与工程层封装区分开。

机制与流程

  • 原生表单控件支持焦点管理、label 关联、表单提交、约束校验和输入法适配。
  • <img><audio><video><source> 等媒体元素会触发资源请求、解码与缓存策略,浏览器还会根据 autoplay、muted、preload 等属性做策略限制。
  • 文件上传、日期选择、媒体控制器等能力很多依赖宿主环境,纯自绘组件难以完全复刻。

关键差异

  • 原生控件可能样式受限,但默认行为完整;自定义控件样式自由,却要自己补可访问性、键盘、表单集成与移动端适配。
  • 图片、音频、视频不是同一种资源,尺寸占位、懒加载、首帧时间和解码成本都不同。

边界条件

  • 把可点击上传区做成普通 div 而不关联真实 input,会失去系统文件选择与无障碍语义。
  • 视频自动播放受浏览器策略限制,移动端和桌面端规则不同。

工程落点

  • 业务组件封装时应优先保留原生控件,再在其外层定制表现层。
  • 媒体资源治理要同时考虑占位尺寸、懒加载、格式选择、解码成本和缓存命中。

相关主题