长按语义在不同平台不统一(选择、菜单、拖动、预览)
别名: 按住菜单 · 长按多选 · peek and pop
概念解释
同一套“按住不动”的动作,在不同系统上被解释成完全不同的命令:选中一项进入多选、弹出上下文菜单、把对象拾起准备拖动、或打开内容预览。长按原语是共享的,挂上去的语义不是。跨过平台的用户会把上一个系统的后果带到下一个,于是按住变成一次赌博。
机制
桌面把第二语义分给了右键、修饰键和拖动手柄;触屏把这些角色压缩进时长。各平台按自己缺的那条通道来填:缺多选就让长按进入选择模式,缺右键就弹菜单,缺可见手柄就用长按“揭下”对象,缺悬停就用按住做预览。压缩是工程上的权宜,不是人类对“按住”的天生约定,所以没有跨平台的稳定含义。更糟的是同一平台内部也会按对象类型分叉——主屏幕图标、列表行、正文、地图图钉各走一套——学习无法迁移。用户只能记住“在这个应用里按住会怎样”,而不是学会长按。
怎么研究
用跨设备迁移任务:在系统 A 上学会对图标按住,再到系统 B 对同类对象按住,编码他们预期的后果(菜单 / 多选 / 拖动 / 预览)与实际后果是否一致。自变量包括对象类型、是否显示拖动手柄或菜单按钮作为对照。因变量是错误预期的种类、犹豫时长、以及第一次按住之后是否还敢再试。实验室只测单一平台会把平台惯例当成“长按的本质”。
边界
单一平台、单一对象类型的产品(例如只做 iOS 相册)可以跟系统惯例对齐,跨平台不一致在内部就不存在。Web 应用若在 Android 上弹菜单、在 iOS 上进入多选,等于在同一代码里制造平台分裂,比原生更糟。鼠标或触控板会话里长按还可能与右键、拖放抢事件,语义冲突不再只是跨平台问题。预览类长按若在松手时还附带跳转,会和“只是看看”的预期叠在一起,这是同一平台里的后果耦合,不是平台之间的词汇表问题。
怎么落地
- 跟所在系统的主导惯例走:列表多选、对象菜单、可排列图标的拾起,选一个作为该对象类型的长按后果,并在对象上用手柄、省略号或预览卡把后果提示出来。
- 跨端产品不要发明第四种长按含义;若某端系统已经占用长按,把你的功能改挂到可见按钮。
- 找刚换过系统的人做一次按住,先问“你觉得会发生什么”再让他们做。预期种类比成功率更能暴露语义分裂。