Read-only Field
只读字段
只读字段仍能获得焦点,也能复制内容。用户不能修改字段值。
readonly: focus + copy + submit, no edit; disabled: no normal focus or submit- 1显示名称・可编辑
value="Maya" - 2账号 ID・只读
readonly - 3邀请码・禁用
disabled
<input readonly>readonly: focus + copy + submit, no edit; disabled: no normal focus or submitA11Y另一个例子
账号 ID 是只读字段。用户可以移入焦点并复制内容。支持 readonly 的原生字段仍会提交值。
主要部分
- 01字段标签
- 02当前值
- 03只读属性
- 04焦点行为
- 05复制行为
- 06表单提交行为
什么时候用
字段值需要保持可见和可复制,但当前任务不允许修改时,可以设为只读。
什么时候不要用
不要只添加 aria-readonly 就以为内容已锁定。原生 readonly 只适用于支持的文本控件。
代码里的名称
readonly: focus + copy + submit, no edit; disabled: no normal focus or submit 上线前要检查
每个字段都要有程序能读到的标签。关联提示与错误,并保留已输入内容。检查自动填充、键盘顺序、验证时机、提交状态、失败恢复、缩放与多语言。
预期结果:使用 只读字段 (Read-only Field) 解决这项需求,同时保留用户当前的操作上下文。 用户场景:账号 ID 是只读字段。用户可以移入焦点并复制内容。支持 readonly 的原生字段仍会提交值。 建议界面模式:只读字段 (Read-only Field)。 适用理由:字段值需要保持可见和可复制,但当前任务不允许修改时,可以设为只读。 不应使用的情况:不要只添加 aria-readonly 就以为内容已锁定。原生 readonly 只适用于支持的文本控件。 产品要求:定义默认、加载、没有内容、错误、成功与恢复状态。保留用户已输入的内容,每个操作后都提供清楚反馈。 无障碍与韧性:使用结构正确的 HTML(语义化 HTML)和完整键盘操作。焦点要清楚可见,布局缩放后仍要好用。也要提供减少动态效果。遵守项目现有规则。除非项目已采用,否则不要新增界面组件库。 验收标准:主要任务可只用键盘完成,在 320px 宽度也能正常使用。焦点与状态变化可被辅助工具读出。加载、失败、重试、取消与减少动态效果都已验证。 证据与限制(证据边界):标准只涵盖列出的范围,不会替你决定外观、产品做法或 Vibulary 的教学示例。 待确认:产品文字、数据来源、分析事件、支持设备与语言,以及平台特有限制。
检查这份需求
请 AI 编程助手检查当前如何使用 只读字段 (Read-only Field)。 定义:只读字段仍能获得焦点,也能复制内容。用户不能修改字段值。 生产环境检查:每个字段都要有程序能读到的标签。关联提示与错误,并保留已输入内容。检查自动填充、键盘顺序、验证时机、提交状态、失败恢复、缩放与多语言。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。