跳至正文
菜单

叠加层

Focus-Trapped Modal Kit

Focus-Trapped Modal Kit:精简模态框基础组件,重点提供严谨的键盘行为:打开时限制焦点范围,关闭时准确恢复焦点,并带倾斜入场效果。

使用 Focus-Trapped Modal Kit

Focus-Trapped Modal Kit 的预览采用「卡片」布局,主题设置为「浅色/深色」。

自定义预览

这些控件会传给演示组件。默认值和限制描述的是预览;完整的属性接口请查看实现代码。

控件类型默认值预览限制
fromselecttop选项:top、bottom、left、right
trapFocusbooleantrue元数据未列出其他限制。
accentcolor#F5C542元数据未列出其他限制。
labeltextSession settings最多 50 个字符
Focus-Trapped Modal Kit 提供哪些框架版本?

Focus-Trapped Modal Kit 提供 React、Vue、Svelte、Astro、HTML 版本。实时预览使用 React;以下代码观察仅针对 index.tsx。使用其他版本前,请确认其交互行为。

Focus-Trapped Modal Kit 有哪些依赖?

React 元数据列出的额外 npm 依赖为:motion、clsx、tailwind-merge。

Focus-Trapped Modal Kit 的代码中有哪些无障碍细节?

Focus-Trapped Modal Kit 的 React 代码包含:原生元素(button);属性与事件处理器(aria-checked、aria-hidden、aria-label、aria-modal、onKeyDown、tabIndex);显式角色(dialog、switch);按键比较(Escape、Tab)。这些信息来自代码观察。请在组合后的页面中验证无障碍名称、焦点顺序和键盘行为。

Focus-Trapped Modal Kit 如何处理减少动态效果的偏好?

Focus-Trapped Modal Kit 的 React 代码通过 useReducedMotion() 读取动态效果偏好。index.tsx 中随偏好变化的表达式:duration: reduced ? 0 : 0.18;enter: reduced ? { duration: 0.14 } : { type: "spring", stiffness: 260, damping: 24, mass: 0.85 };exit: reduced ? { duration: 0.1 } : { duration: 0.16, ease: [0.4, 0, 1, 1] }。请启用减少动态效果,检查完整实现、共享样式和所选框架版本;这些观察不能证明所有动画都会停止。

连接你的智能体

相关开放组件