# 信息与动作规则 > 当任务涉及可见文案、动作层级、图标、点击反馈或视觉强调时读取;数据范围和空间布局由对应规则负责。 ## 可见信息 每段文字和每个视觉元素必须至少完成一项职责: - 标识当前对象; - 区分相邻对象; - 表达当前状态; - 说明无法从结构推断的规则、限制或风险; - 说明可执行动作; - 反馈动作结果。 不承担这些职责就删除。 当对象、操作顺序、控件和反馈已经通过界面结构清楚表达时,不再用说明文案重复解释流程。添加帮助文字前,先检查能否通过更准确的标题、按钮文案、布局、默认值或状态反馈直接解决;不能用长说明掩盖结构和动作关系不清。 只有以下信息不能从当前界面可靠推断时才补充说明: - 非共识的业务规则; - 系统限制或数据作用范围; - 容易造成真实损失的误操作风险; - 危险或不可逆动作的具体后果。 必须删除: - 重复页面标题、重复状态和重复入口; - 重述按钮含义的段落; - 解释显而易见布局的文字; - 不影响下一步动作、作用范围或结果判断的状态复述,如 `3 selected`、`20 items`、`Filter applied`; - 仅用于填空的说明、徽章和图标; - 原始数据库 ID、内部枚举、存储路径和系统时间戳等实现信息,除非它们直接用于当前判断、搜索、复制或排障。 空状态只说明为空的原因,并提供一个恢复动作。同一创建或恢复意图不能同时出现在页面 Header 和空状态中。 即使实现信息确有用途,也只能作为辅助信息或按需复制项,不得取代用户能够识别的名称、图片和区分字段。 ## 容器强调边 左侧或顶部的彩色强调边、色带和装饰性轨道属于强调边卡片(accent-border card)视觉语言,源自 callout、引用块和状态提示。它会主动争夺注意力,不应成为普通卡片、列表项或内容分组的默认装饰。 - 只有强调边持续表达可复用的状态、类别、选择或告警含义时才使用。 - 分类文字、图标或状态已经表达同一信息时,删除重复的强调边。 - 不为制造层次、填补空白或让相邻卡片“看起来不同”而给每项配置不同颜色的强调边。 - 普通集合优先使用对齐、留白、文字层级、轻量分隔线或背景差异建立结构。 - 项目确有符合本规范的稳定提示、引用、告警或选中模式时,由共享组件和按用途命名的组件变体统一维护;页面不得临时拼装彩色边线。 ## 用户已有认知 - 常见的浏览、选择、编辑、保存、删除、返回和关闭任务使用用户已经理解的结构和动作含义。 - 同一对象、状态和动作在不同页面使用相同名称;不得用不同术语包装同一件事。 - 不改变共识图标和动作的惯常含义,也不为普通任务创造自定义手势或新操作模型。 - 只有标准模式无法表达真实任务时才新增交互模式,并明确显示它的对象、动作和结果。 ## 动作层级 | 层级 | 用途 | 呈现 | | --- | --- | --- | | 主操作 | 完成当前页面、弹窗或操作区域的主要任务 | 一个高强调文字按钮 | | 次级操作 | 高频但非主要 | 低强调文字按钮 | | 管理操作 | 重命名、重新处理、复制、可撤销删除 | “更多”菜单 | | 危险操作 | 永久删除或其他不可恢复、高损失操作 | 菜单分隔 + 确认 | | 导航操作 | 返回、关闭、翻页 | 上下文明确时可用共识图标 | 同一页面、弹窗或操作区域出现两个高强调按钮时,重新判断主任务。批量工作台可以同时提供不同任务动作,但只能有一个与当前阶段直接相关的主导动作。 ## 上下文操作与按需呈现 不是所有操作都需要始终平铺显示。根据当前对象和用户正在进行的任务,只显示此刻需要的操作: - 主操作、关键状态和完成当前任务必须先发现的入口保持可见。 - 卡片、列表项或表格行中的次级操作,可以在 hover、聚焦或选中当前项后显示。 - 重命名、复制、重新处理等低频管理操作优先放入“更多”菜单,不在每一项中长期平铺。 - 操作出现前预留稳定位置,不挤压文字,也不让列表或卡片发生布局跳动。 - 触屏设备没有 hover 时,通过点击选中当前项,或使用始终可见的“更多”入口提供相同操作。 - 不隐藏用户必须先发现,才能理解当前状态或完成主要任务的操作。 ## 按钮与图标 - 使用能够说明结果的“动作 + 对象”文案,避免只有“处理”“管理”“继续”等无法判断结果的词。 - 图标只有在能加快识别,并明确表达对象、动作、状态或结果时才使用;移除后不影响理解和扫描的图标应删除,不为标题、标签、菜单项或卡片机械配图标。 - 同一图标保持相同含义;图标与文字同时出现时表达同一件事。非共识图标必须显示文字,tooltip 不能代替标签;纯图标只用于上下文明确的共识动作。 - AI 只是实现方式时,图标表达摘要、翻译、生成图片、转写、编辑等实际动作或结果,不额外叠加通用 AI 标记。 - 星星、闪光、机器人、脑形和魔法棒不作为生成、增强、助手等功能的默认图标;只有表达收藏、真实机器人或 Agent 对象等本来含义,或项目已有不违背本规范的稳定含义时才使用。 - AI 身份本身影响用户判断时,优先显示明确名称、模型、Logo 或真实 Agent 身份,不用抽象的“AI 图标”代替对象。 - `Check` 只表示选中、确认、保存或完成,不表示查看;`Refresh` 只表示刷新、重试或重新分析,对象不明确时显示文字。 - 状态不得做成看似可点击的按钮。 ## 点击区域与鼠标反馈 - 所有可点击按钮、链接、卡片、表格行、菜单项、选择器选项、分页项和上传区域必须显示 `cursor: pointer`。 - `cursor: pointer` 必须覆盖完整点击区域,不只覆盖图标或文字。 - 点击区域必须有可见 hover 反馈,例如背景、边框或文字颜色变化。 - 按下状态必须与 hover 有区别。 - 禁用控件不是可点击区域,使用禁用视觉和 `cursor: not-allowed`。 - 非交互卡片、标签、状态和装饰图标不得显示 pointer。 - 整张卡片可点击时,卡片根节点负责 pointer 和 hover;不要让用户猜只有哪一小块能点。 - 卡片或表格行内存在独立控件时,各控件保持自己的点击范围,不触发外层点击。 pointer、hover、active 和 disabled 样式由共享组件负责,使用组件的页面不得逐个补充。 ## “更多”菜单 - 菜单项显示文字。 - 点击外部关闭菜单。 - 删除与普通操作分隔。 - 当前状态不允许的操作直接隐藏;不要留下无法解释的灰色图标。 - 菜单触发器与菜单项都显示 `cursor: pointer`。 ## 检查 - 删除某段文字后,用户是否仍能正确判断? - 删除流程说明后,用户是否仍能通过对象、顺序、控件和反馈完成任务?如果不能,问题来自真实规则还是界面结构不清? - 图标是否要求用户猜含义? - 每个图标是否有明确职责,移除无意义图标后是否仍能正常理解和扫描? - AI 功能的图标是否表达真实动作或对象,还是只使用了星星、机器人、脑形等通用装饰? - 所有可点击区域是否显示 pointer 和 hover? - pointer 是否误加到不可点击内容? - 低频操作是否仍平铺在主界面? - 次级操作是否只在相关对象进入 hover、聚焦或选中状态后出现?触屏设备是否有同等入口? - 按需出现的操作是否造成文字位移或布局跳动? - 是否展示了不能帮助识别、判断或操作的实现信息? - 容器左侧或顶部的强调边是否表达稳定含义,还是只在重复标签或装饰页面? - 常见任务是否要求用户重新学习术语或操作方式?