EDITORIAL LIST / 清单文章
交互模式 Top 10:10 大经典 UI 交互设计模式
10 条 · 席位已收满
这一版收录的是交互模式里反复出现的任务形态:选择、修改、确认、撤回。认得出它们,就能在讨论中把“做个弹窗”换成更准确的说法。
选择标准
- 描述用户与系统之间一段可辨认的往返,而不是单次视觉反馈。
- 与同类相邻模式的区别可以说清楚:区别在任务形态,不在控件外观。
- 跨平台成立,不依赖某一个操作系统的具体控件。
本版席位
标注“编辑重建席位”的位置由本仓库编辑判断补上;其余席位来自计划 issue #1 的清单账本。
渐进披露
先呈现主要内容或选项,在用户需要时提供次要内容。
为什么在这一版里:给这一类立一个基准:控制次要内容在什么时候出现。
别和它混淆:隐藏内容必须有可发现的入口;关键价格、风险和必要操作不能因为精简界面而被藏起。
行内编辑
在原来的阅读位置切换为编辑控件,完成后回到阅读状态。
为什么在这一版里:补上“在阅读位置直接修改”的任务形态,不改变上下文。
别和它混淆:不是自动保存的同义词;保存时机、取消语义和错误处理必须另行明确。
直接操纵

一种交互风格:用户直接作用于屏幕上持续显示的目标对象,通过点击、拖动、触摸等物理动作而不是命令语法来操作,操作是增量、快速、可逆的,效果立即在屏幕上可见。术语由 Shneiderman 于 1983 年提出。
为什么在这一版里:说明用户可以直接作用于持续可见的对象,而不是通过命令语法。
别和它混淆:直接操纵是一个交互风格层面的概念,不是某个具体控件:拖放、缩放手柄、滑块、捏合缩放都是它的实现方式;行内编辑只是它在编辑场景中的一个具体情境,不是同义词。判断标准是四个特征是否同时成立:对象持续可见、用物理动作而非命令、操作增量且可逆、效果立即可见。只有手势而没有可见对象、或效果要提交后才显示的界面,不算直接操纵。
搜索与筛选

搜索让用户输入查询词缩小集合;筛选让用户按预设的属性排除不符合条件的项目;两者都需呈现当前生效的条件。
为什么在这一版里:补上从大集合里缩小范围的任务,并要求当前条件可见。
别和它混淆:搜索由用户自由输入,筛选从预设分面中选择;两者常并列使用,但不等于主从布局——主从关注列表与详情的联动,搜索与筛选关注集合如何被缩小。条件不可见、无法清除,或无结果时无法恢复,就不算完整的搜索与筛选。
分步向导

把一项任务拆成按既定顺序逐步完成的多个页面,后续步骤可依赖前面输入的信息;用户通过下一步与上一步在页面之间移动。
为什么在这一版里:把固定阶段的分步推进与按需展开分开。
别和它混淆:分步向导是流程模式而不是页面结构:它规定固定、有序的阶段和显式的下一步、上一步与进度,不同于渐进披露的按需展开,也不同于把所有字段放在一页里的单栏长表单。若一页就能装下全部问题,或问题之间没有先后依赖,通常不需要向导。
模态对话框

覆盖在主内容之上的对话框,它使系统进入一种特殊模式:在用户明确处理该对话框之前,主内容被禁用、不可交互。
为什么在这一版里:补上会阻断主内容的那一类展开,说明并非所有展开都阻断。
别和它混淆:不是所有弹出层都是模态:非模态对话框、气泡提示与渐进披露的展开都允许用户继续操作页面。判断标准是页面其余部分是否在对话框关闭前保持惰性;只要背景仍可点击或可获得焦点,就不应称为模态。
撤销与重做

把已经完成的操作记入命令历史,让用户可以逐步撤回最近的改动或重新应用被撤回的改动;撤销针对的是已提交、已生效的动作,而不是尚未完成的操作。
为什么在这一版里:补上“已生效的改动可以收回”,这是让人敢于操作的前提。
别和它混淆:撤销与重做是用户控制与自由原则在编辑类场景中的具体实现,而不是原则本身:原则讲的是要有清晰的出口,撤销与重做只是众多出口手段之一。它与取消不同——取消放弃的是尚未完成、还在进行中的操作(例如正在上传或正在填写的表单),撤销面对的是已经完成并生效的动作;它也不同于错误预防——错误预防在动作发生前拦截或要求确认,撤销与重做在动作发生之后提供回退路径。“撤销提示条”(undo toast)只是撤销的一种呈现方式,不是撤销本身;只呈现提示条而没有工具栏或菜单入口,不构成完整实现。
命令面板

通过键盘快捷键唤出的搜索框覆层,用户输入词语即可对命令、可跳转的对象与设置进行模糊匹配并直接执行,是叠加在可见菜单之上的键盘加速通道。
为什么在这一版里:补上以键盘与文字直达命令和对象的入口,叠加在可见界面之上。
别和它混淆:命令面板是可见界面之上的加速通道,不能成为触达某个功能的唯一途径:面板里能执行的每条命令,也必须能通过菜单、按钮等可见路径找到,否则可用性会建立在回忆而非识别之上,这正是它与“识别优于回忆”之间的张力。它不同于搜索与筛选——后者在一组内容里缩小结果供浏览比较,命令面板查找并执行的是单个动作。它在形式上借用模态对话框的遮罩与焦点捕获,但目的是调用命令,而不是收集继续流程所需的信息或阻止不可逆错误。
批量操作

让用户先勾选多个对象,再通过一个共享的操作入口对整批已选对象执行同一操作,通常表现为随选中出现的操作工具条或菜单,而不是逐项重复触发相同操作。
为什么在这一版里:补上“先选多个再统一处理”的粒度,与逐项修改不同。
别和它混淆:批量操作与上下文操作的区别在于粒度:上下文操作只作用于用户当前选中或指向的单个对象;批量操作作用于用户先勾选出的一组对象,动作入口出现的条件是“存在至少一项选中”而不是“指向某一个对象”。它也不同于行内编辑——行内编辑就地改变单个字段的内容,批量操作则是对多个对象重复执行同一个离散动作(如归档、打标签、删除),不改变字段本身的编辑方式。
上下文操作

在特定对象上或其旁边提供只作用于该对象的操作,在用户选中、悬停、聚焦或长按该对象时出现,常见呈现为上下文菜单、行级操作按钮或浮动工具条。
为什么在这一版里:补上只作用于单个对象、随选中或悬停出现的操作入口。
别和它混淆:上下文菜单、行级操作按钮与浮动工具条是同一概念的呈现变体,不是互相独立的词条:判断标准是操作是否只针对被选中或被指向的单个对象、是否随选中/悬停/聚焦/长按出现。它不同于行内编辑——行内编辑在原位切换为编辑控件、改变内容本身,而上下文操作只是给出可执行的动作入口,动作本身可能跳转、弹出确认或触发行内编辑;它也不同于批量操作——批量操作作用于多选的一组对象,尚未单独成词条,此处仅作说明性区分。
与另一版本的关系
与《交互模式 · 2026 关注》相比,这一版不预设系统会自动执行动作;重合的条目说明这个模式在自动化场景里又有了新的分量。
证据范围
入选理由是编辑判断,说明它补上了哪一种任务形态,不表示推荐优先级。多数模式可以配合使用。