E2.02.3resize-handle discoverability设计
可调整大小的手柄需可发现
别名: 拖拽缩放文本域 · textarea resize grip · 右下角手柄
概念解释
不少多行框在右下角提供调整大小手柄(resize handle),让人把可视窗口拉到自己需要的高度或宽度。若斜纹、三角或边线对比不够,这个控件等于不存在:用户不知道窗口可以改,只能忍受默认视口或去翻框内滚动条。可发现性说的是「这个角能被认成可拖的控件」,不是系统自动长高,也不是初始行数该设多少。
机制
手柄是一个没有标签的微型控件,命中区往往只有十余像素。人要先形成「边角 = 可拖」的假设,再在视觉上找到斜纹或加粗边。浏览器默认的斜纹在浅底上还算清楚,一旦文本域铺了深色填充、圆角裁切或内部滚动条,斜纹会被吃掉。CSS 若把 resize 关掉,连系统手柄都没有;若打开却用自定义边框盖住原生绘制,手柄在视觉上消失、在指针下却仍可拖,造成「空白处突然变成拖拽」的意外。触屏上没有悬停,细斜纹更难被当作目标,手指还会和内部滚动手势抢同一角落。
边界
自动增高已经覆盖「写多少看多少」时,手柄变成进阶调节,发现失败的代价较低。固定高度的日志查看器、代码对比窗则相反:高度是工作空间,手柄是主要调节手段,必须显眼。禁止水平拉伸的字段若仍画出双向斜纹,会诱使横向拖动,布局被撑破。残障用户用键盘无法操作大多数手柄,可发现的拖角不能替代快捷键或独立的「扩大编辑区」。嵌入对话框的文本域被父级 overflow: hidden 裁掉角落时,手柄画了也拖不动。
怎么落地
- 让右下角出现对比足够的斜纹或独立抓手,不要把
resize开着却用圆角和厚边框把原生手柄裁掉。 - 只允许业务真正需要的轴向:备注通常只竖向拉高;代码或表格才需要双向。
- 在触屏上加大角落的命中区,并避免与内部滚动、右对齐的清空图标抢同一点。
- 验证:把文本域截成静态图,问没见过这页的人「这个框能不能改大小、从哪改」。说不能或指错角,就加强手柄;再在真机上拖一次,确认视觉抓手和实际命中区重合。