Communitygithub.com

命令面板系统

设计一个全局命令菜单(Cmd+K 面板)的系统框架,将键盘驱动的导航、命令执行和快捷操作发现融合到一个可访问、响应迅速的覆盖层中。

命令面板系统 是什么?

该技能提供了一个全面的设计系统,用于在现代 Web 应用程序中构建全局、键盘触发的命令面板(通常通过 `Cmd+K` 或 `Ctrl+K` 调用)。它专注于为 SaaS 管理面板、开发者门户和复杂内容丰富的文档站点创建符合空间人体工程学、视觉结构化和无障碍标准的覆盖层。该技能涵盖了从初始触发发现和布局架构到详细的命令行视觉层次结构和交互状态的所有内容,并优先考虑键盘导航和无障碍性。它严格遵守 WCAG 2.2 AA 标准,包括 ARIA APG combobox 模式、聚焦管理和屏幕阅读器公告。该设计还对移动设备响应灵敏,适应触摸交互,在触摸设备上隐藏物理键盘快捷键,并确保触摸目标具有适当的大小。决策规则帮助选择何时使用命令面板而不是持久搜索,并在命令分组和键盘快捷键复杂性方面指导最佳实践,防止常见的失败模式,如无限滚动陷阱、背景滚动锁定丢失和移动显示问题。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/command-palette-system

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

命令面板系统 是做什么的?

目的

命令面板系统为全局、键盘触发的覆盖菜单(通常通过 Cmd+K 或 Ctrl+K 调用)提供了设计和空间框架。在现代、高密度的 Web 应用程序、开发者平台和内容丰富的文档门户中,标准导航栏会变得不堪重负。命令面板充当“指挥中心”,为高级用户提供直接、无摩擦的键盘路径来搜索、导航和执行操作,同时作为键盘快捷键的交互式字典。

此技能确保命令面板在空间上符合人体工程学,在视觉上结构清晰以防止认知疲劳,并完全符合高级无障碍规范(WCAG 2.2 AA)。

用例

  • 为 SaaS 仪表板设计全局快捷键驱动的工作区控制器。
  • 构建面向开发者的门户和文档搜索门户(例如,API 参考)。
  • 为企业 CRM 或 CMS 平台实施快速操作管理面板。
  • 在复杂的多层 Web 产品中创建统一的命令行界面 (CLI)。

何时不使用

  • 静态营销落地页: 用户意图纯粹是探索性和转化性的;全局导航栏和清晰的号召性用语 (CTA) 更有效。
  • 浅层信息站点(少于 15 页): 实施和教授命令面板的开销超过了任何寻路收益。
  • 简单的移动消费者站点: 屏幕空间很小,用户严格依赖触摸交互,没有外部物理键盘。

输入

  1. 命令和操作清单: 可搜索操作、页面、设置和文档的全面分类法。
  2. 上下文映射规则: 哪些命令是全局的,哪些是上下文特定的规则(例如,“删除项目”仅在查看项目时出现)。
  3. 键盘快捷键系统: 操作到物理键盘快捷键的映射(例如,G 然后 D 表示“转到仪表板”)。
  4. 品牌设计令牌: 排版比例、颜色、间距比例和阴影令牌(来自 fluid-spacing-system 和 fluid-typography-system)。

输出

  1. 触发元素规范: 持久入口点和键盘快捷键徽章的视觉设计。
  2. 面板布局架构: 覆盖模态框的网格结构、结果分组、类别导航和辅助页脚。
  3. 命令行视觉规范: 图标、命令标题、类别徽章和快捷键注释的层次结构规范。
  4. 键盘和无障碍规范: 与 ARIA APG Combobox 模式匹配的精确键盘事件映射和 ARIA 状态规范。

工作流程

1. 建立面板触发器和入口点

因为命令面板默认是隐藏的,所以你必须设计可发现的入口点:

  • 持久头部触发器: 一个模仿全局头部搜索栏的按钮,包含放大镜图标、文本标签(例如,“搜索或运行命令...”)和右对齐的物理键盘快捷键徽章(例如,⌘K 或 Ctrl+K)。
  • 浮动命令按钮: 对于仪表板密集型或全屏视口,在视口右下角放置一个微妙的触发按钮。
  • 不可见的全局监听器: 确保在文档上的任何位置按下 Cmd+K(macOS)或 Ctrl+K(Windows/Linux)(除非焦点在文本输入中)会立即打开面板。

2. 设计模态覆盖层和背景遮罩

  • 背景遮罩: 使用高对比度、半透明的背景遮罩(例如,rgba(15, 23, 42, 0.4))来调暗背景页面,将注意力完全集中在当前任务上。
  • 垂直放置: 水平居中模态框,但将其锚定在视口的顶部 10%–15% 处,而不是绝对垂直居中。这与自然视线水平对齐,并为触摸屏上的物理虚拟键盘留出空间。
  • 尺寸范围: 将宽度限制在舒适的扫描范围内——理想情况下在 600px 到 680px 之间。高度应该是动态的,最大值限制在 450px 到 550px,以确保它永远不会溢出小型笔记本电脑屏幕。

3. 构建内部布局网格

将命令面板划分为四个不同的水平区域:

  1. 搜索和过滤区域: 一个无边框、全宽的输入字段,带有突出的搜索图标(最小 20px)。使用指导用户的占位文本(例如,“键入命令或搜索...”)。
  2. 类别过滤栏(可选): 一行紧凑的标签或分段控件(例如,“全部”、“操作”、“页面”、“用户”),让用户在搜索前过滤结果。
  3. 结果反馈区(滚动容器): 一个包含滚动条且带有分组标题的列表框(例如,“最近”、“导航”、“系统设置”)。
  4. 辅助页脚: 一个低对比度的状态栏,显示键盘指南(例如,↑↓ 导航,↵ 选择,esc 关闭)。
+-----------------------------------------------------------+
|  [搜索图标]  搜索或键入命令...                      [ESC] |
+-----------------------------------------------------------+
|  ( 全部 )  ( 操作 )  ( 页面 )  ( 成员 )  ( 帮助 )          |
+-----------------------------------------------------------+
|  最近搜索                                                  |
|  [图标] 转到结算                              [ ⌘ G ] [ B ]|
|  [图标] 创建新发票                             [ ⌘ N ]     |
|                                                           |
|  导航                                                      |
|  [图标] 仪表板                                            |
|  [图标] 团队设置                              [ ⌘ , ]     |
+-----------------------------------------------------------+
|  ↑↓ 导航  |  ↵ 选择  |  esc 关闭  |  ? 帮助文档           |
+-----------------------------------------------------------+

4. 创建命令行的视觉层次结构

结果列表中的每个项目必须在几毫秒内可扫描:

  • 左对齐图标: 一个明确、高对比度的图标,指示项目的类型(例如,文件图标表示文档,设置齿轮表示操作,用户头像表示人员)。
  • 主要标签: 命令本身使用半粗体、主色文本(例如,“邀请团队成员”)。
  • 次要子标签(可选): 主标签下方或旁边的柔和、较小字体的描述,以提供上下文(例如,“设置 > 组织”)。
  • 右对齐快捷键徽章: 使用小、高对比度的按键徽章(例如,⌥I)显示与该命令关联的物理键盘快捷键。

5. 定义交互状态和键盘选择

命令面板主要由键盘驱动;因此,键盘选择状态优先于鼠标悬停:

  • 活动/聚焦项目状态: 当使用箭头键导航到一个项目时,应用突出的背景填充更改(使用主色浅色令牌,例如,var(--color-primary-light))和左边框指示器。主要文本应变为品牌颜色。
  • 悬停状态(鼠标): 镜像活动键盘状态。将鼠标移到项目上应更新键盘选择,以防止双重焦点状态。
  • 空状态: 当搜索没有返回结果时,显示一个清晰、说明性的空状态,建议替代操作(例如,“未找到命令。尝试搜索我们的帮助中心”并带有搜索链接)。
  • 加载状态: 如果搜索查询结果是异步获取的,在搜索输入的底部显示一个微妙的线性加载指示器,避免导致布局偏移的骨架卡片。

决策规则

  • “Cmd+K 与持久搜索”规则: 如果网站的主要价值是消费结构化内容(如电子商务目录),请使用持久搜索栏。如果价值在于管理工作流程、命令执行或密集导航,请使用 Cmd+K 命令面板。
  • 分组限制规则: 永远不要同时显示超过 3-4 个命令类别。保持每个类别中可见项目最多为 5 个,如果存在更多,则提供“显示更多...”选项。
  • “按键次数”规则: 命令旁边显示的物理键盘快捷键必须不超过 3 个按键(例如,Ctrl+Shift+P 是可接受的;Ctrl+Alt+Shift+Z 过于复杂)。
  • 动态上下文规则: 根据活动路由动态过滤命令。如果用户在结算页面,则在默认(未输入)结果列表的顶部优先显示“更新信用卡”或“下载发票 PDF”。

约束条件

1. 无障碍性(至少 WCAG 2.2 AA)

  • ARIA Combobox 模式: 你必须严格按照 ARIA 创作实践指南 (APG) 构建标记:
    • 输入容器必须具有 role="combobox"、aria-expanded="true"、aria-autocomplete="list" 和 aria-controls="command-listbox-id"。
    • 结果列表必须具有 role="listbox",并且每个命令行必须具有 role="option"。
    • 当用户按下箭头键时,输入必须更新 aria-activedescendant 以指向活动选项的 ID,并且该选项必须具有 aria-selected="true"。
  • 焦点管理: 打开面板必须将键盘焦点锁定在覆盖层内。按下 Tab 键应该被拦截以在面板内循环,或者完全禁用(优先使用箭头键进行选项导航)。关闭面板必须将焦点返回到确切的触发元素。
  • 屏幕阅读器公告: 在输入旁边放置一个具有 aria-live="polite" 和 aria-atomic="true" 的不可见 div。搜索时,动态填充结果状态(例如,“找到 12 个结果,使用上下箭头键导航”)。
  • 对比度: 所有文本、快捷键徽章和焦点指示器必须满足 WCAG AA(正常文本至少 4.5:1,UI 边框和选择指示器至少 3:1)。
  • 背景锁定: 当面板激活时,应用程序的其余部分必须被渲染为 inert 并对屏幕阅读器隐藏。使用 <dialog>.showModal() 来实现焦点捕获、背景变暗和原生的 Escape 关闭。

2. 响应式和触摸适应

  • 触摸视口调整: 在移动屏幕上,命令面板必须切换到全屏覆盖层或底部滑出抽屉。
  • 虚拟键盘处理: 打开时自动聚焦搜索输入,并使用 inputmode="search" 确保移动设备在其虚拟键盘上显示正确的“搜索”操作按钮。
  • 隐藏物理提示: 在纯触摸设备上,隐藏物理键盘快捷键徽章(例如,⌘K 或 ⌥I),因为它们不相关并会造成视觉混乱。
  • 触摸目标大小: 在触摸屏上,可移除标签、类别标签和列表行的高度必须至少为 44px,以适应手指点击,符合 WCAG 2.2 SC 2.5.8。

常见失败模式

  • “无限滚动”陷阱: 允许结果反馈区渲染 100 多个匹配项而没有滚动容器,从而溢出屏幕并使页脚指南无法访问。
  • 缺少背景滚动锁定: 当用户滚动导航命令面板时,允许背景文档滚动,导致布局迷失方向。
  • 输入焦点丢失: 点击类别标签或结果选项,并从文本输入中丢失键盘焦点,要求键盘用户制表符返回。
  • 难以理解的移动显示: 在 320px 的移动屏幕上保留一个以桌面为中心的小型模态框,从而截断主要标签和快捷键徽章。
  • 缺少触发器状态镜像: 持久头部按钮没有显示键盘快捷键,导致键盘用户不知道存在命令面板。

验证标准

  • 头部存在一个持久触发器按钮,并带有清晰的 Cmd+K / Ctrl+K 视觉快捷键徽章。
  • 在页面上的任何位置按下 Cmd+K 或 Ctrl+K 会打开模态框。
  • 键盘焦点立即移动到搜索输入,并且背景页面滚动被锁定。
  • 选项的导航由上、下箭头键驱动,并带有高度可见的聚焦活动状态。
  • 选项行具有结构化的层次结构:左侧图标、粗体操作标题、上下文路由层次结构和右侧快捷键徽章。
  • 完全指定了 ARIA APG Combobox 模式,包括 role="combobox"、role="listbox"、role="option" 和 aria-activedescendant。
  • 存在一个 aria-live="polite" 区域,用于向屏幕阅读器宣布搜索结果数量的变化。
  • 在移动视口上,面板适应全屏或底部抽屉,隐藏物理快捷键徽章并将行大小调整为至少 44px 高度。
  • 按下 Escape 或点击背景遮罩会关闭面板并将焦点返回到触发器按钮。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and specify a systematic dark theme framework, establishing rules for elevation-based surface colors, desaturated brand accents, text legibility, and media adaptation to ensure an accessible, low-fatigue experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

相关技能