拖拽需要点击式替代
别名: 拖放替代 · click alternative to drag · 不拖也能做
概念解释
拖拽要求按住、沿路径移动、在目标上松开。这同时用到持续按压和轨迹,对无法维持按压、无法走稳路径、或没有悬停态的输入(多数触摸、开关、眼控)会直接失败。判据是:凡是靠拖拽完成的功能,必须还能靠点击完成——点选对象、点选目的地,或点一个等价命令。
这条只判定点击通路在不在。上移下移按钮怎么排、文件选择器怎么做、两条通路能力是否同样完整,交给拖拽替代那一组去写。
机制
拖拽是按压与移动的时间绑定:中途抬起就取消或误放。震颤会在移动中松开;开关设备通常只能「选中 / 激活」,不能在激活的同时移动;触摸没有独立的悬停来预告落点。于是「能拖」在指针鼠标上成立,在其它效应器上不成立。
点击式替代把绑定拆开:一次点击标记对象,另一次点击标记目的地,或一次点击发出「执行该操作」。时间上不再要求持续按压,空间上不再要求连续轨迹。只要这条拆开的通路存在,拖拽可以作为加速器留着;只存在拖拽时,功能就门控在一种输入上。
怎么研究
列出所有拖拽:排序、拖到文件夹、拖到画布、拖放上传、拖动滑块。每一项问:不按住移动,只靠点击(含键盘激活)能否完成。记录「有点击通路 / 无」。不要在这一步评价按钮是否好找,也不要规定必须是上移下移还是输入框——那是后续条目的设计选择。
假替代:必须先拖出一段,界面才出现「用点击完成」。入口若以拖开头,仍算没有点击通路。
边界
把对象在二维里连续定位(游戏里拖单位、绘图里拖锚点)可以保留拖拽作为主操作,但仍须提供点击选中 + 数值或步进微调,否则精度任务对部分效应器关闭。操作系统桌面的文件拖拽不是网页作者能替换的;作者负责的是页面内自己实现的拖放。滑块若已提供可点的轨道、可输入的数值,点击通路已经存在,不必再为「拇指本身可拖」单开一条。
怎么落地
- 每个拖拽功能旁边(或对象的菜单里)提供不拖也能发动的命令。
- 不要让点击入口只在拖拽开始之后出现。
- 验证:禁止按住移动,用单击或键盘完成排序、移入文件夹、上传。做不到,就是没有点击式替代;做到了,再去看替代控件和能力是否等价。