讲师中心 微信公众号

工具推荐

视频效率加速
Seko
Seko

AI短剧一键生成成片

立刻MV
立刻MV

低成本歌曲 MV、视频生成

updream

一键生成高质量推广成片

剧云
剧云

中文短剧剧本制作平台

Frontend UI Engineering (addyosmani/agent-skills)

Polar Sponsor
爱发电 赞助
.NET 9.0

构建具备生产级质量、可访问性(Accessible)且响应式(Responsive)的面向用户界面(UI)。适用于以下场景:构建或修改界面与页面、创建组件、实现布局、满足 WCAG 可访问性要求、管理状态,或当输出需要呈现专业、真实、生产就绪(production-quality)的视觉与交互效果,而非典型的 AI 生成风格。

前端 UI 工程

功能概述

前端 UI 工程是一项面向实际任务的技能,主要用于Overview. 构建可访问、 执行和可视化的制作质量用户界面;目标是 UI , 它看起来是由设计意识 e 构建的。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

前端 UI 工程

概述

构建具备可访问性、高性能与视觉精致度的生产级用户界面。目标是产出由顶尖公司中具备设计素养的工程师打造的 UI —— 而非由 AI 生成的界面。这意味着需严格遵循设计系统、正确实现无障碍支持、采用深思熟虑的交互模式,并杜绝泛化的“AI 审美”。

适用场景

  • 构建新的 UI 组件或页面
  • 修改现有面向用户的界面
  • 实现响应式布局
  • 添加交互逻辑或状态管理
  • 修复视觉或用户体验问题

组件架构

文件结构

将组件相关所有内容集中存放:

src/components/
  TaskList/
    TaskList.tsx          # 组件实现
    TaskList.test.tsx     # 测试文件
    TaskList.stories.tsx  # Storybook 示例(如使用)
    use-task-list.ts      # 自定义 Hook(如状态较复杂)
    types.ts              # 组件专属类型定义(如需要)

组件模式

优先采用组合而非配置:

// 推荐:可组合

  
    Tasks
  
  
    
  


// 避免:过度配置
}
/>

保持组件职责单一:

// 推荐:只做一件事
export function TaskItem({ task, onToggle, onDelete }: TaskItemProps) {
  return (
    
  • onToggle(task.id)} /> {task.title}
  • ); }

    分离数据获取与呈现逻辑:

    // 容器组件:负责数据获取
    export function TaskListContainer() {
      const { tasks, isLoading, error } = useTasks();
    
      if (isLoading) return ;
      if (error) return ;
      if (tasks.length === 0) return ;
    
      return ;
    }
    
    // 呈现组件:负责渲染
    export function TaskList({ tasks }: { tasks: Task[] }) {
      return (
        
      {tasks.map(task => )}
    ); }

    状态管理

    选择最简单且可行的方案:

    本地状态(useState)           → 组件专属 UI 状态  
    提升的状态(Lifted state)     → 在 2–3 个兄弟组件间共享  
    Context                        → 主题、认证、本地化等(读多写少)  
    URL 状态(searchParams)       → 过滤器、分页、可分享的 UI 状态  
    服务端状态(React Query、SWR) → 带缓存的远程数据  
    全局状态(Zustand、Redux)    → 复杂的、全应用共享的客户端状态  
    

    避免 props 下钻超过 3 层。 若需将 props 穿透多个不使用它们的中间组件,请引入 Context 或重构组件树。

    设计系统一致性

    规避 AI 审美

    AI 生成的 UI 具有明显可识别的模式。请全部规避:

    AI 默认样式 为何存在问题 生产级质量做法
    全篇紫色/靛蓝色 模型默认采用视觉上“安全”的调色板,导致所有应用外观雷同 使用项目实际定义的配色方案
    过度使用渐变 渐变增加视觉噪声,且常与多数设计系统冲突 使用扁平色或与设计系统一致的细微渐变
    全元素圆角(rounded-2xl) 最大圆角暗示“友好”,但忽略了真实设计中角半径的层级关系 统一使用设计系统规定的 border-radius
    模板化英雄区(hero section) 套用布局模板,脱离实际内容与用户需求 以内容为先的布局方式
    占位符文案(Lorem ipsum) 占位文本掩盖了真实内容暴露的问题(长度、换行、溢出) 使用贴近真实的占位内容
    全局过大内边距 均等的大内边距破坏视觉层级并浪费屏幕空间 统一使用设计系统定义的间距比例
    通用卡片网格 均质化网格是偷懒式布局,忽略信息优先级与用户浏览习惯 以目标为导向的布局方式
    阴影过重 多层阴影增加内容竞争感,且在低端设备上拖慢渲染性能 仅在设计系统明确要求时使用细微或无阴影

    间距与布局

    使用一致的间距比例。禁止随意发明数值:

    /* 使用既定比例:例如 0.25rem 增量(或项目所采用的比例) */
    /* 推荐 */  padding: 1rem;      /* 16px */
    /* 推荐 */  gap: 0.75rem;       /* 12px */
    /* 不推荐 */ padding: 13px;      /* 不属于任何标准比例 */
    /* 不推荐 */ margin-top: 2.3rem; /* 不属于任何标准比例 */
    

    排版

    尊重层级结构:

    h1 → 页面标题(每页一个)  
    h2 → 区块标题  
    h3 → 子区块标题  
    body → 正文默认文字  
    small → 次要/辅助文字  
    

    不可跳过标题层级。不可将标题样式用于非标题内容。

    颜色

    • 使用语义化颜色 Token:text-primary、bg-surface、border-default —— 禁止直接使用十六进制值
    • 确保足够对比度(正文文字 ≥ 4.5:1;大号文字 ≥ 3:1)
    • 不可仅依赖颜色传达信息(需同步使用图标、文字或图案)

    无障碍支持(WCAG 2.1 AA)

    每个组件必须满足以下标准:

    键盘导航

    // 所有可交互元素必须支持键盘访问
            // ✓ 默认可聚焦
    
    Click me
    // ✗ 不可聚焦
    onKeyDown={e => { if (e.key === 'Enter') handleClick(); if (e.key === ' ') e.preventDefault(); }} onKeyUp={e => { if (e.key === ' ') handleClick(); }}> Click me

    ARIA 标签

    // 为缺少可见文本的可交互元素添加标签
    
    
    // 为表单输入项添加 label
    
    
    
    // 或在无可见 label 时使用 aria-label
    
    

    焦点管理

    // 内容变更时主动移动焦点
    function Dialog({ isOpen, onClose }: DialogProps) {
      const closeRef = useRef(null);
    
      useEffect(() => {
        if (isOpen) closeRef.current?.focus();
      }, [isOpen]);
    
      // 对话框打开时限制焦点范围
      return (
        
          
          {/* 对话框内容 */}
        
      );
    }
    

    有意义的空状态与错误状态

    // 禁止显示空白界面
    function TaskList({ tasks }: { tasks: Task[] }) {
      if (tasks.length === 0) {
        return (
          

    No tasks

    Get started by creating a new task.

    ); } return
      ...
    ; }

    响应式设计

    采用移动优先策略,再逐步扩展:

    // Tailwind:移动优先响应式
    

    需在以下断点进行测试:320px、768px、1024px、1440px。

    加载与过渡效果

    // 骨架屏加载(非旋转动画用于内容区域)
    function TaskListSkeleton() {
      return (
        
    {Array.from({ length: 3 }).map((_, i) => (
    ))}
    ); } // 乐观更新以提升感知速度 function useToggleTask() { const queryClient = useQueryClient(); return useMutation({ mutationFn: toggleTask, onMutate: async (taskId) => { await queryClient.cancelQueries({ queryKey: ['tasks'] }); const previous = queryClient.getQueryData(['tasks']); queryClient.setQueryData(['tasks'], (old: Task[]) => old.map(t => t.id === taskId ? { ...t, done: !t.done } : t) ); return { previous }; }, onError: (_err, _taskId, context) => { queryClient.setQueryData(['tasks'], context?.previous); }, }); }

    参阅

    关于详细的无障碍要求及测试工具,请查阅 references/accessibility-checklist.md。

    常见借口

    借口 事实
    “无障碍只是锦上添花” 在许多司法管辖区属法律强制要求,亦是工程品质基准。
    “我们稍后再做响应式” 后期补救响应式设计的难度是初始构建的 3 倍。
    “设计稿尚未定稿,所以暂不加样式” 应使用设计系统默认值。无样式 UI 会给评审者留下严重缺陷的第一印象。
    “这只是个原型” 原型极易演变为生产代码。务必从一开始就打好基础。
    “AI 审美暂时可以接受” 这会传递低质量信号。请自始即采用项目真实的设计系统。

    危险信号

    • 单个组件超过 200 行(应拆分)
    • 内联样式或任意像素值
    • 缺失加载态、错误态或空态
    • 未进行键盘导航测试
    • 仅靠颜色表示状态(如红/绿色而无文字或图标)
    • 泛化“AI 风格”(紫色渐变、超大卡片、模板化布局)

    验证清单

    完成 UI 开发后,请检查:

    • 组件渲染无控制台报错
    • 所有可交互元素支持键盘访问(Tab 键遍历页面)
    • 屏幕阅读器可准确传达页面内容与结构
    • 响应式适配:在 320px、768px、1024px、1440px 断点下均正常工作
    • 加载态、错误态、空态均已覆盖
    • 符合项目设计系统(间距、颜色、排版)
    • 开发者工具或 axe-core 中无无障碍警告
    目录

    热门AI工具

    更多
    二狗PPT
    二狗PPT Hot

    一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

    小橡皮AI

    一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

    超级简历WonderCV

    一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

    函子Zion

    一款支持AI搭建、可视化编辑和多端发布的全栈无代码开发平台。

    讯飞智文

    一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

    豆包大模型

    豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

    WorkBuddy

    一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

    DeepSeek

    DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

    超级麦吉

    一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

    相关专题

    更多
    Go-Zero API开发使用教程
    Go-Zero API开发使用教程

    本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

    0

    2026.11.12

    Go-Zero安装与goctl环境配置教程
    Go-Zero安装与goctl环境配置教程

    本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

    0

    2026.11.12

    Go-Zero零基础入门教程
    Go-Zero零基础入门教程

    本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

    0

    2026.11.12

    Postman身份认证怎么配置
    Postman身份认证怎么配置

    本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

    0

    2026.11.06

    Postman请求头Headers怎么设置
    Postman请求头Headers怎么设置

    围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

    0

    2026.11.06

    Postman接口请求发送教程
    Postman接口请求发送教程

    详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

    0

    2026.11.06

    DBeaver怎么导入数据
    DBeaver怎么导入数据

    DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

    0

    2026.11.05

    DBeaver安全防护教程大全
    DBeaver安全防护教程大全

    DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

    0

    2026.11.05

    DBeaver连接创建与配置教程
    DBeaver连接创建与配置教程

    本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

    0

    2026.11.04

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    文心快码功能介绍
    文心快码功能介绍

    共0课时 | 0人学习

    文心快码Agent使用手册
    文心快码Agent使用手册

    共0课时 | 0人学习

    文心快码产品文档
    文心快码产品文档

    共0课时 | 0人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn