J3.07.1keyboard reordering设计研究

排序需提供上移下移或输入位置

别名: 上移下移 · 输入序号 · reorder without drag

概念解释

列表、看板、播放队列若靠拖拽改顺序,键盘和单点用户要的不是「再找一种手势」,而是离散的排序命令:把当前项上移、下移,或输入它应在的位置。这是拖拽排序的具体替代控件,不是「有没有替代」这条存在性判据本身。

上移下移适合短列表和微调;输入位置适合长列表的随机插入。两种可以并存,至少要有一种能把任意项放到任意合法位置。

机制

拖拽排序是连续二维任务:抓住、沿列表移动、在缝里松开。离散命令把它变成逐步或随机访问。上移下移每一步都有明确的新状态,焦点可以留在该项上,开关扫描也能完成。输入位置则跳过中间步,代价是要理解「第几」——对认知负担更高,对很长的队列更省。

只提供「置顶 / 置底」不够:中间任意插入做不到,能力已经缩水。只提供拖动手柄旁边一个不可聚焦的图标,等于没有离散命令。命令必须落在该项的键盘上下文里:选中该项就能发动,而不是先去找页面角落的「排序模式」。

怎么研究

用键盘选中列表中部的一项,只靠上移下移或位置字段,把它移到另一端。记录:能否到达每一个合法下标、焦点是否跟随该项、到顶/底时命令是否停用而不是报错。

对照:同样的重排用拖拽做一次,比较能到达的位置集合。若点击路径到不了拖拽能到的某个槽,不是这条的控件选错,而是能力不等价——后一条再判。这条先看控件是不是上移下移或位置输入,以及它们是否真能改序。

边界

自动排序(按名称、按日期)且用户不能自定义顺序时,不需要这些控件。允许自定义顺序的播放列表、表单字段顺序、看板列内卡片,需要。树形结构的「升级 / 降级 / 前移 / 后移」是同一类离散命令在树上的变体,可以代替线性的上移下移。触摸列表若用「点选两项交换」代替上移下移,只要能把任意项排到任意位置,也算具体替代成立。

怎么落地

  • 在可重排的每一项上提供上移、下移(或等价步进),或提供当前位置的数字输入。
  • 焦点留在被移动的项上;到端点时禁用对应方向,而不是把项弹回或抛出错误页。
  • 验证:关掉拖拽,把第三项用键盘移到第一和最后。做不到,或只能置顶不能插入中间,离散排序控件还没就位。

延伸

  • 同组J3.07.2 拖放上传需提供选择文件 · J3.07.3 替代路径需与主路径能力等价
  • 相邻J3.05 单指与单点操作 · H8.03 拖拽排序 · C3.18 长按拖动排序
  • 站内检索move up move down · reorder · position field

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/J3.07.1