用途:为 HTML 表单编写、用户输入验证、自定义控件接入表单生命周期、密码管理器/自动填充集成提供操作参考。
主要能力:覆盖原生输入类型矩阵、约束验证 API、提交流程(submit/reset/formdata/invalid)、FormData API、Open UI 可定制控件,以及通过 ElementInternals 实现的表单关联自定义元素。
必要用法:每个交互控件必须配 <label>(优先显式 for/id);可自动填充字段设置正确的 autocomplete 令牌;可见错误样式用 :user-invalid,不用裸 :invalid;程序化提交用 form.requestSubmit(submitter?),不要用 HTMLFormElement.submit();域错误通过 setCustomValidity(message) 或 internals.setValidity(flags, message, anchor?) 反映到约束验证 API;错误提示用 aria-invalid="true" 配 aria-errormessage="<id>"。
适用场景:原生表单控件选型、验证与错误展示、提交与 FormData 处理、自定义表单控件、表单可访问性。
限制:不覆盖框架表单库、有主见的 UI 套件与服务端验证;appearance: base-select 截至 2026-05-19 仅 Chromium 有限可用,应作为渐进增强;通用 appearance: base 尚未在任何已发布浏览器实现;commandfor/command 为草案。具体代码示例与完整矩阵见其 references 文件,本资料未提供。