F2.06.2label-control gap as the diagnostic pair设计
标签与其控件的间距最能体现该原则
别名: 标签间距 · label spacing · 字段成组
概念解释
竖排表单是「标签、控件、标签、控件」的交替。标签到自己输入框 20 px,输入框到下一个标签 24 px,这个标签就会送给上面那个框。没有比这更频繁、也没有比这更丢脸的邻近性事故——用户填错栏,还以为是自己没看清。
组内组间那条不等式在字段上最容易被量出来,也最容易当场验。卡片栅格、导航分组也会违背不等式,但标签–控件是诊断对。
机制
每个间隙都在做一次归属判决。交替节奏意味着判决密度极高:一屏十个字段就有大约二十次。标签在语义上从属于下一个控件,视觉上却只看谁更近。上一个控件如果是多行文本域,块头很大,它和下一个标签的缝往往被做成和普通字段一样的 16 px,于是大块把标签吸走。
占位符冒充标签、浮动标签,会让「标签」和控件在空间上重叠或分离得不稳定,判决更飘。错误提示若插在标签和控件之间,也会把一对拆开——提示该贴控件,而不是插进组内当第三者。
边界
水平表单(标签在左、控件在右)比较的是水平距离,以及这一行到下一行的垂直距离:标签必须更近自己的控件,而不是更近下一行的标签。复选框和开关常把标签放右边,这时点标签等于点控件,间隙要小到像一个对象,而不是两个。
无标签的搜索框、用图例而不是每项标签的图表,没有这对诊断对象。
怎么落地
- 把「标签到控件」设成组内档,「控件到下一个标签」设成组间档,写进表单模板,不要每页手调。
- 多行文本域、上传区、分组标题后面的第一项,单独检查:大块后面的缝要更大,以免吸走下一标签。
- 验证:对每个标签量两段距离——到自己控件、到上一个控件。前者必须明显更短。把量过的表单发给没参与设计的人,遮住标签文字只留位置,问「这个标签管哪一个框」。指错的那一对就是缝写反了。