E2.02.3resize-handle discoverability设计

可调整大小的手柄需可发现

别名: 拖拽缩放文本域 · textarea resize grip · 右下角手柄

概念解释

不少多行框在右下角提供调整大小手柄(resize handle),让人把可视窗口拉到自己需要的高度或宽度。若斜纹、三角或边线对比不够,这个控件等于不存在:用户不知道窗口可以改,只能忍受默认视口或去翻框内滚动条。可发现性说的是「这个角能被认成可拖的控件」,不是系统自动长高,也不是初始行数该设多少。

机制

手柄是一个没有标签的微型控件,命中区往往只有十余像素。人要先形成「边角 = 可拖」的假设,再在视觉上找到斜纹或加粗边。浏览器默认的斜纹在浅底上还算清楚,一旦文本域铺了深色填充、圆角裁切或内部滚动条,斜纹会被吃掉。CSS 若把 resize 关掉,连系统手柄都没有;若打开却用自定义边框盖住原生绘制,手柄在视觉上消失、在指针下却仍可拖,造成「空白处突然变成拖拽」的意外。触屏上没有悬停,细斜纹更难被当作目标,手指还会和内部滚动手势抢同一角落。

边界

自动增高已经覆盖「写多少看多少」时,手柄变成进阶调节,发现失败的代价较低。固定高度的日志查看器、代码对比窗则相反:高度是工作空间,手柄是主要调节手段,必须显眼。禁止水平拉伸的字段若仍画出双向斜纹,会诱使横向拖动,布局被撑破。残障用户用键盘无法操作大多数手柄,可发现的拖角不能替代快捷键或独立的「扩大编辑区」。嵌入对话框的文本域被父级 overflow: hidden 裁掉角落时,手柄画了也拖不动。

怎么落地

  • 让右下角出现对比足够的斜纹或独立抓手,不要把 resize 开着却用圆角和厚边框把原生手柄裁掉。
  • 只允许业务真正需要的轴向:备注通常只竖向拉高;代码或表格才需要双向。
  • 在触屏上加大角落的命中区,并避免与内部滚动、右对齐的清空图标抢同一点。
  • 验证:把文本域截成静态图,问没见过这页的人「这个框能不能改大小、从哪改」。说不能或指错角,就加强手柄;再在真机上拖一次,确认视觉抓手和实际命中区重合。

延伸

  • 同组E2.02.1 初始高度应反映预期输入量 · E2.02.2 自动增高需设定上限
  • 相邻E2.01 单行输入框 · E1.07 按钮的点击区域
  • 站内检索resize-handle discoverability · textarea resize · drag grip

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E2.02.3