占位符不适合承载格式要求
别名: 格式写在占位符 · placeholder format hint · 日期格式提示消失
概念解释
「YYYY-MM-DD」「11 位手机号」「至少 8 位且含数字」这类格式要求必须在输入过程中仍能被核对。把它们只写进占位符,就是格式放进占位符失败(format-in-placeholder failure):人一开始打字,规则从槽里消失,后半段只能凭记忆拼。它管的是规则文本的存活位置,不是占位符能不能当字段名,也不是那行字够不够深。
机制
格式是约束,不是身份。人边写边要对照「要不要加横线、要不要空格、小数点在哪」。规则若只存在于空槽,对照在第一个字符之后就中断,错误被推迟到提交。日期、电话、金额尤其依赖进行中的对照:写到第三段才想起分隔符顺序,往往整串作废。占位符里的例子还容易被当成已填值或可提交的默认值,人会直接跳过,提交一份看起来合法、其实是提示文案的字符串。格式提示需要一份离开槽之后仍在的文本,占位符提供的是相反的生命周期。
怎么研究
比较格式只在占位符、格式在槽下常驻说明、格式由掩码强制三种条件,记录格式错误率、提交前修改次数、以及是否把占位符原文当值提交。自变量:格式复杂度(简单数字对带分隔日期)、是否允许粘贴。因变量:第一次提交的合法率、删除重看规则的次数。中断后再继续写,最能暴露「规则已不在眼前」。不要把掩码的成功算成占位符的成功:掩码是另一套机制。
边界
极短、人人熟知的格式(四位验证码)即使提示消失,错误率也低,失败不显著。本地化会改格式本身——同一日期字段在不同地区要的分隔符不同,占位符里写死一种格式还会在正确输入上报错。密码规则又长又多条,占位符放不下,硬塞只会变成截断的半句话。读屏器若把占位符当名称来读,用户听到的是格式而不是字段身份,两种信息抢同一个通道。
怎么落地
- 把格式规则放在槽外常驻的说明里,输入过程中始终可见;占位符不要承担「必须遵守的规则」。
- 若举例子,写明显非真实的值,并保证例子不是唯一的规则来源。
- 对日期、电话、金额,在人还在写的时候就能对照分隔符和位数,而不是提交后才第一次看到规则。
- 验证:让人写到一半,遮住已经消失的槽内文字,问「这一格的格式是什么」。答不出,规则就还只活在占位符里。