全文共 3286 字 11 图
//
01
什么是拖放
根据官方定义,“在图形用户界面,拖放事件就是点击一个虚拟对象,并将其拖动到其他位置或到另一个虚拟物体的动作。”拖放操作提供了一种与现实世界一样的方式来获取和移动元素,这种拟态性使得具有拖放交互作用的用户界面易于理解和使用。自从GUI出现以来,拖放操作就已经存在,并被大多数用户熟悉;它是一种直接操作,特别适用于对象的分组、排序、移动或调整大小。虽然对于UX设计师来说拖放是一种常见交互方式,但是仍会遇到问题,因此需要仔细考虑该交互的用户流程和使用场景。
//
02
四种常见的拖放模式
在介绍如何进行拖放操作之前,让我们从鼠标用户的角度介绍四种常见的拖放模式。1. 列表排序这是最直接的拖放模式之一,面对一个有序列表时,用户可以更改列表项顺序;用户使用鼠标单击并按住以获取列表项,然后将鼠标移至要放置该项的位置;放开鼠标按钮,即可放下选项。
2. 不同列表间的移动面对几个不同的项目列表时,用户可以从一个列表中选择一个项目并将其移至另一个列表;这在看板风格的交互中很常见,用户通过将项目从一个存储看版移动到另一个存储看版来更改任务的状态。3. 编辑对象的二维大小在制图和设计软件中很常见,常用于图形编辑,这种类型的拖放操作使用户可以在二维画布上放置和调整对象的大小。4. 调整对象的一维大小拖放通常还用于调整对象的宽度或高度的大小,例如调整表格列的宽度或行的高度。我们可以发现,拖放所使用的所有交互模式可以分为两种主要类型:移动对象和调整对象大小。
- 移动对象:例如,将文件图标拖到垃圾箱图标上,从而导致相应文件被删除。
- 调整对象大小:例如,将列分隔符向右移动会使该表的列变宽,或绘图软件中移动锚点更改所绘制图形的外观。
//
03
如何设计有效的拖放
1. 四种拖放状态用户如何知道何时开始拖动?状态反馈是一个很好的指标。以下为拖放的四个状态:悬停时:与所有直接操作交互一样,需要在屏幕上显示提示项,例如悬停时的光标变化等。按下时(单击):在启动交互时,用户需要使用鼠标或触摸手势(单击鼠标或长按)来获取对象。也有其他技术可以实现这一状态,在VR环境中可以使用语音对话抓取物体,例如选择左边书籍。拖动时:用户在保持选中对象(如,通过持续按下鼠标按钮)的同时,继续将指示设备(鼠标,手指等)移动到某个所需目标,这是 “拖动”部分。放置时:最后,用户通过释放鼠标等操作取消选择对象。放置后操作应立即生效并状态可见,以此提高可用性。2. 可抓取的两种视觉指示符1)抓柄图标抓握手柄图标表示该元素可以进行拖放,用户无需完全单击抓手柄图标。但是,拖拽图标通常比较隐喻,并不像设计师所想的那样被大众熟知,拖放图标样式种类有很多,缺乏一致性使用户难以识别这些图标的含义。拖拽图标通常还有指示移动方向的作用,对于调整大小,握柄图标则不同:例如,列之间的一条垂直线,或右下角的一对对角线。2)光标变化在鼠标驱动的界面中,光标更改也可以指示用户拖放:当用户将鼠标悬停在可以拖放的对象上时,光标更改形状以指示单击将启动反馈。光标图标不同系统的标准也不同。在Mac电脑上,标准箭头光标将变为白色米奇手样式,悬停时,白色米奇手呈打开状;按住并拖动时,白色米奇手呈闭合状;Windows使用白色四角箭头图标进行拖放操作,但抓取时不会更改图标。请注意,在Mac或Windows上移动窗口时,不会发生这些光标更改。它们仅适用于应用程序或网站内的对象拖拽。在抓取之后调整大小时,可以使用稍有不同的纵横光标图标。调整一维(宽或高)大小,将鼠标悬停在分隔符上时,光标将变为沿着一个轴方向的箭头;调整两个维度(宽和高)大小时,将鼠标悬停在对象的底部边缘时,光标将变为对角箭头,指示可以在两个方向上调整对象大小。3. 对象已被抓取的反馈一旦用户“抓取”了将要拖放的对象,就需要以下两种类型的反馈:
- 反馈对象被“抓取”时;
- 反馈对象将要发生 “掉落”时。
- 赋予其轮廓或对比色;
- 使其样式看起来呈现在其他项目“上方”(如,阴影);
- 利用视觉偏移,例如使其缩进或倾斜;
- 使获取对象呈半透明状。
//
04
在触摸屏上拖放
拖放操作可能很难在触摸屏上实现,因为它们缺少悬停状态。此外,由于胖手指问题,您需要确保可拖动对象具有至少1cm x 1cm的位置用于拖动,并且手指不能覆盖任何重要的反馈,例如突出显示的“抓起”状态。另一个重要的原因是,必须通过使用几毫秒的时间延迟来区分点击,划动和抓起,并提供清晰的反馈说明已抓取元素。在移动设备上提供拖放反馈的一种方法是使用触觉。一个细微的触觉“微妙的震动”可以表明一个对象已被抓取,或一个对象已被拖动到放置区域上。还可以检测触摸持续时间判断用户是否要滚动或抓取元素。
- 激活拖动:如果用户触摸并按住可拖动组件上的相同位置,请激活拖动。
- 滑动时忽略:如果触摸持续时间很短,我们可以猜测用户正在滚动。
//
05
小结
拖放有时候并不是最好的选择,尤其是执行任务的距离过长时;如果空间不足,用户可能需要重新放置鼠标或在触摸屏上调整手指的位置;因此,会导致用户将物品放在错误的位置,然后重新开始操作。拖放本质上是物理交互,所以需要了解用户的心理模型来判断用户将要执行的操作,以确保真的需要使用拖放;例如,在可用性测试期间,观察用户是否尝试拖放对象。为了使拖放尽可能有效,请使用适当的指示符,例如手柄图标和悬停状态的光标更改,在整个交互过程中提供清晰的反馈,确保状态可见。
参考文章:https://medium.com/salesforce-ux/4-major-patterns-for-accessible-drag-and-drop-1d43f64ebf09https://www.nngroup.com/articles/drag-drop/