用途:这是 Epic Stack 的 UI/UX 指南技能,适用于创建无障碍 UI 组件、遵循 Epic Stack 设计模式、有效使用 Tailwind CSS、实现语义化 HTML、正确添加 ARIA 属性、创建响应式布局、确保表单无障碍,以及遵循 Epic Stack 的 UI 组件约定。
主要能力与约定:强调无障碍不是可选项,而是服务所有用户的方式;优先使用语义化元素(如 article、header、nav、time),避免用 div 堆砌结构。表单使用 #app/components/forms.tsx 中的 Field 组件,自动关联 label 与 input、添加 aria-invalid 与 aria-describedby、确保错误被正确播报;ErrorList 处理表单级错误。自定义组件使用 Radix UI 原语(如 @radix-ui/react-dialog),自动处理键盘导航、焦点管理、ARIA 属性与屏幕阅读器播报。Tailwind 用于工具类、响应式(mobile-first)、暗色模式与对比度。
使用方式:在需要构建或审查 Epic Stack 界面时参考本指南。表单示例:<Field labelProps={{ htmlFor: fields.email.id, children: 'Email' }} inputProps={{ ...getInputProps(fields.email, { type: 'email' }), autoFocus: true, autoComplete: 'email' }} errors={fields.email.errors} />。加载状态使用 aria-busy 与 disabled。图标装饰用 aria-hidden 或 sr-only。添加跳转链接、焦点指示、错误聚焦、路由切换聚焦、aria-live 区域(polite/assertive)、触摸目标至少 44x44px、尊重 prefers-reduced-motion。
适用场景:Epic Stack 项目中的组件开发、表单、对话框、导航、动态内容播报、暗色模式与响应式设计。
限制:资料未提供安装命令、版本要求、收费信息或具体平台支持范围;部分实现细节依赖项目内组件路径与 Radix、Tailwind、React Router 的既有配置。