SuperAPI AI 工具集

expandable-text

前端与建站

查看项目

更新于 10-16 05:37

技能介绍

用途

Expandable Text 是一种内容管理模式,允许用户按需展开和折叠文本区块。该模式通过初始隐藏非必要内容、同时保持其可访问性,来提升可读性。

它通常用于管理冗长描述、文章摘要或有用但并非立即必要的补充细节,帮助用户高效浏览内容,同时维持干净、简洁的界面。

主要能力

  • 按需显示或隐藏额外的文本内容。
  • 初始隐藏非必要内容,同时保持其可访问性。
  • 帮助用户高效浏览内容,维持干净、简洁的界面。

使用方式

何时使用

当你需要管理冗长内容、同时保持关键信息可见时,使用 Expandable Text。常见场景包括:

  • 内容摘要——展示较长文章、产品描述或 FAQ 答案的简短预览。
  • 减少页面杂乱——通过隐藏次要细节保持界面干净。
  • 改善移动端可用性——在较小设备上高效管理屏幕空间。
  • 渐进式披露——仅在需要时显示额外信息。
  • 提升可读性——防止信息过载,同时保持细节可访问。

何时避免

  • 关键信息——用户不应需要展开内容才能访问关键细节,例如价格、条款或重要警告。
  • 频繁访问的内容——如果大多数用户都会展开内容,最好默认显示它。
  • 需要预先展示完整内容时——避免隐藏能帮助用户快速做出知情决策的信息。

实现工作流

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

无障碍防护措施

ARIA 属性:

  • 按钮上必需的 ARIA 属性:aria-expanded="false"(动态更新)。
  • aria-controls="id-of-content",将按钮与可展开内容关联。
  • 折叠时,可展开内容上使用 hidden 属性。

屏幕阅读器支持:

  • 确保展开的内容能被屏幕阅读器正确播报。
  • 如果内容更新需要被播报,使用 aria-live="polite"。

适用场景

  • 文章、产品描述或 FAQ 答案的摘要预览。
  • 需要隐藏次要细节以保持界面干净的页面。
  • 屏幕空间有限的移动端界面。
  • 需要渐进式披露额外信息的场景。
  • 需要防止信息过载、同时保持细节可访问的内容。

限制

  • 不适用于价格、条款或重要警告等关键信息。
  • 不适用于大多数用户都会展开的内容。
  • 不适用于需要预先展示完整内容以帮助用户快速决策的场景。

相关模式

  • https://uxpatterns.dev/patterns/content-management/accordion
  • https://uxpatterns.dev/patterns/content-management/modal
  • https://uxpatterns.dev/patterns/content-management/tooltip

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

模式页面:https://uxpatterns.dev/patterns/content-management/expandable-text