SuperAPI AI 工具集

skeleton

前端与建站

查看项目

更新于 10-16 04:05

技能介绍

Skeleton(骨架屏)是一种用户反馈模式,用于向用户表明内容正在加载。它的核心价值在于:在加载过程中保留最终界面的形状,使页面感觉稳定、更易于浏览。

用途

该模式帮助团队建立一种可靠的方式,在加载期间维持最终界面的形状,从而减少布局偏移、提升页面的稳定感与可扫描性。它最适用于内容流和卡片网格。与相邻模式相比,该模式应在不隐藏状态、规则或恢复路径的前提下减少使用摩擦。

适用场景

  • 内容流和卡片网格
  • 布局已知的仪表盘
  • 减少布局偏移很重要的加载状态

不适用场景

  • 当事件过于次要、不值得打断任务时,应使用更安静的状态。
  • 避免对用户之后必须能够重新查看的事件使用瞬时反馈。
  • 不要在没有层级规则的情况下在多个渠道重复同一条消息。

实现工作流

  1. 在复制示例之前,确认该模式与问题和约束相匹配。
  2. 从 references/pattern.md 中的结构和示例开始,然后选择最小的可行变体。
  3. 在叠加视觉打磨之前,先应用无障碍、性能和交互方面的护栏。
  4. 使用测试指南验证键盘、屏幕阅读器、响应式和失败场景下的行为。

无障碍护栏

键盘交互

  • 验证仅使用键盘即可完成骨架屏相关操作。
  • 当模式打开、更新或显示额外 UI 时,保持焦点顺序合乎逻辑。
  • 保持可见的焦点状态,且在高倍缩放时仍然可读。

屏幕阅读器支持

  • 优先使用语义元素,仅在语义不足时添加 ARIA。
  • 在正确的位置、以正确的礼貌级别宣布错误、加载或完成等状态变化。
  • 在有用时,通过 aria-describedby 或结构化标题连接标签、提示和状态文本。

视觉无障碍

  • 不要仅依靠颜色来传达严重程度、完成或选中状态。

常见错误

过度信号化一切

问题:当每个状态都使用强烈的颜色、动效和声音时,人们会不再关注。 修复方法:建立严重程度阶梯,将最强的处理保留给真正需要打断的状态。

时机与任务不匹配

问题:短任务配上沉重的加载 UI 会显得迟缓,而长任务没有进度指引则会让人感觉被遗弃。 修复方法:根据等待时长选择尽可能轻的反馈,并让模式诚实地反映已知信息的多少。

跳过宣布策略

问题:当 live-region 行为不一致或缺失时,屏幕阅读器用户会错过瞬时变化。 修复方法:定义每个状态如何被宣布,并使用真实的辅助技术测试 polite 与 assertive 更新。

相关模式

  • https://uxpatterns.dev/patterns/data-display/card-grid
  • https://uxpatterns.dev/patterns/user-feedback/empty-states
  • https://uxpatterns.dev/patterns/user-feedback/loading-indicator

完整实现细节、示例和测试说明,请参见 references/pattern.md。

模式页面:https://uxpatterns.dev/patterns/user-feedback/skeleton