# Focus Guard Form

https://fieldbook.lizardi.mx/zh/components/focus-guard-form

分类：表单
缩略图：https://fieldbook.lizardi.mx/thumbs/focus-guard-form.webp

Focus Guard Form：表单提交验证失败时中止提交，将键盘焦点直接移至首个无效字段，并向屏幕阅读器用户播报问题。

## 框架

react、vue、svelte、astro、html

## 预览控件

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

| 名称 | 类型 | 默认值 | 选项或限制 |
| --- | --- | --- | --- |
| submitLabel | text | Create account | 最多 24 个字符 |
| accentColor | color | #7C5CFF | 元数据未列出其他限制。 |
| requireAll | boolean | true | 元数据未列出其他限制。 |

## 使用说明

Focus Guard Form 的预览采用「卡片」布局，主题设置为「浅色/深色」。

### Focus Guard Form 提供哪些框架版本？

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

### Focus Guard Form 有哪些依赖？

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

### Focus Guard Form 的代码中有哪些无障碍细节？

Focus Guard Form 的 React 代码包含：原生元素（button、label）；属性与事件处理器（aria-describedby、aria-hidden、aria-invalid、aria-live）；显式角色（status）。这些信息来自代码观察。请在组合后的页面中验证无障碍名称、焦点顺序和键盘行为。

### Focus Guard Form 如何处理减少动态效果的偏好？

Focus Guard Form 的 React 代码通过 useReducedMotion() 读取动态效果偏好。index.tsx 中随偏好变化的表达式：reduced ? \{ duration: 0 \} : \{ duration: 0.16 \}；reduced ? \{ duration: 0 \} : \{ duration: 0.18 \}；reduced ? \{ duration: 0 \} : \{ duration: 0.22, ease: \[0.2, 0.8, 0.2, 1\] \}。请启用减少动态效果，检查完整实现、共享样式和所选框架版本；这些观察不能证明所有动画都会停止。

## 通过 MCP 安装

连接客户端，调用 get_component 获取实现，再调用 get_install_command 获取安装说明。选择已列出的框架，将源代码集成到应用中并验证功能。

```json
{
  "tool": "get_component",
  "arguments": {
    "slug": "focus-guard-form",
    "framework": "react"
  }
}
```

[面向智能体](https://fieldbook.lizardi.mx/zh/docs/agents)
[MCP](https://fieldbook.lizardi.mx/api/mcp)

## 相关开放组件

- [Tall Code Keypad](https://fieldbook.lizardi.mx/zh/components/tall-code-keypad)
- [Verification Code Card](https://fieldbook.lizardi.mx/zh/components/verification-code-card)
- [Notification preferences](https://fieldbook.lizardi.mx/zh/components/notification-preferences)
- [Release notification form](https://fieldbook.lizardi.mx/zh/components/release-notification-form)
- [Scribble strike checklist](https://fieldbook.lizardi.mx/zh/components/scribble-strike-checklist)
- [Scrub Number Input](https://fieldbook.lizardi.mx/zh/components/scrub-number-input)
