J2.10.2unchecked control contrast设计研究

未选中的复选框与输入框边框是最常被忽视的低对比元素

别名: 空态边框 · default form control contrast · empty checkbox

概念解释

没勾上的复选框几乎只剩一圈细线;没填字的输入框也常常只剩一圈细线。这圈线就是控件在空态下的辨认图形。评审盯的是勾上之后的对钩、填上之后的字,漏掉的是「还没勾、还没填」时那条边还在不在。未选中与空输入因此是非文本对比度里最常被放过的位置。

原生表单控件还带一层隐藏:浏览器和操作系统会画自己的默认边框,设计稿上可能根本没有这一笔。

机制

选中态有填充和对钩两套高对比图形,空态把信息压缩成边界。边界又往往被做成 1 像素、浅灰、低不透明度,为的是「干净」。干净在正常视力、高对比显示器上像空气;在低视力或强光下,空气就是控件消失。用户不是「看不清勾」,而是根本不知道这里可以勾。

输入框更隐蔽:占位符文字有自己的文本对比问题,但框本身若溶进卡片,占位符会看起来像一段普通说明,而不是可编辑区域。键盘用户则依赖那条边来确认焦点有没有走进字段——边没了,焦点指示也少了一半。

怎么研究

专门建一份空态控件清单:未勾复选框、未选单选、空文本框、空下拉、未滑动的开关。对每一项取样边框中段与紧邻背景,不要取样选中填充。把系统默认外观与自定义外观分成两列,因为失败来源不同。

自变量:边框相对背景的比值、线宽、有无内阴影充当边界。 因变量:空态下能否指出「这里是可交互控件」、误把说明文字当成字段的次数。

用真实浏览器的默认表单,不要只用设计工具里的组件库截图。同一套 HTML 在 Chrome、Safari、系统深色外观下边框色并不相同。

边界

有可见标签、且标签用明确的控件角色(「筛选条件」旁边是一组复选)时,即使得分界线弱,用户仍可能靠位置猜到。标签本身是图形、又没有边框的「卡片式多选」则更脆。移动端系统控件由 OS 绘制,应用改不了那一圈线,失败要记在平台账上,不能只改网页 CSS。只在聚焦后才画出边框的输入,空闲态对指针用户仍可能不可见。

怎么落地

  • 把未选中复选框、空输入、空下拉的边框当作正式的图形对象来配色,而不是当作可有可无的装饰线。
  • 不要用低于可辨认阈值的浅灰线当默认边;需要轻量外观时,加宽线或加内背景差,而不是只减对比。
  • 占位符不能代替边框:去掉占位符之后,字段轮廓仍应在。
  • 验证:截一张「全部未勾、全部未填」的表单,模糊 2–3 像素后问没见过这页的人:哪些是可以点的、哪些是可以输入的。指不出来的空态记为失败。

延伸

  • 同组J2.10.1 图标、边框与状态指示同样需要达到对比度阈值 · J2.10.3 悬停或聚焦态改变的视觉信息需保持同等对比度 · J2.10.4 对比度达标不能仅在设计稿检查,需在实际渲染色值上验证
  • 相邻J2.01 文本对比度 · J2.06 焦点可见性 · J5.10 名称、角色与状态
  • 站内检索unchecked control contrast · empty field border · default form contrast

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/J2.10.2