新闻详情

新闻详情

首页 / 资讯中心 / 详情

一个HTML文件构建可交互原型:Effective HTML从加载到错误恢复的状态机详解

发布时间:2026/9/28 21:12:19来源:尧图网络
一个HTML文件构建可交互原型:Effective HTML从加载到错误恢复的状态机详解
一个HTML文件构建可交互原型Effective HTML从加载到错误恢复的状态机详解【免费下载链接】effective-htmlAgent skills for useful HTML artifacts, wireframes, interactive prototypes, plans, and diagrams.项目地址: https://gitcode.com/gh_mirrors/ef/effective-htmlEffective HTML 是一个面向 AI 智能体的技能集合帮你用单个 HTML 文件构建可交互原型、线框图、方案文档和示意图。本篇以仓库中的发布就绪Release Readiness示例为蓝本拆解一个完整状态机是如何在零构建工具、零外部依赖的前提下从加载、失败到错误恢复逐步实现的。为什么一个 HTML 文件就能做交互原型Effective HTML 的核心构建约定只有一句话交付一个自包含的.html文件CSS 和 JavaScript 全部内联。不依赖构建工具、认证、实时 API 或任何外部服务双击即可在浏览器打开复制就能改键盘、焦点管理、响应式布局都要真实可用。这套约定写在 skills/html-prototype/SKILL.md 的 Build contract 一节。正因为没有运行时和后端原型里的数据和服务都是用 JavaScript 模拟的——这让加载态、错误态这些真实产品中最难展示的状态反而变得容易演示。动手前先用表格定义状态原型质量的差异往往不在代码而在动手前是否列出了状态清单。Effective HTML 要求先列状态再写代码并明确列出常见状态loading加载、empty空态、error错误、success成功、disabled禁用、mobile移动端以及业务特有状态。本例的状态清单完整记录在 examples/release-readiness/states.md 中状态触发条件用户看到什么可用操作Blocked受阻iOS 冒烟测试失败失败项和决策原因高亮记录重跑Saving保存中提交重跑表单表单禁用进度被播报等待Save error保存失败模拟服务拒绝更新弹窗保留已填内容并解释失败重试或取消Ready就绪4 项检查全部通过摘要变为 4 of 4发布按钮解锁申请生产发布注意一个关键设计取舍不要为了凑齐清单而把无关状态硬塞进主流程。空笔记态之所以存在是因为清空备注这个操作真实可达而登录、持久化则被明确划出原型边界在 examples/release-readiness/brief.md 的 Non-goals 中写明。状态机全景Blocked → Saving → 错误 → Ready整个状态机由一个数据属性驱动body.dataset.releaseState在blocked和ready之间切换其余 UI决策印章、检查计数、风险提示、按钮可用性全部跟随它联动。状态流转如下Blocked ──打开弹窗──▶ 填写表单 ──提交──▶ Saving ▲ │ │ 模拟失败 ◀──┤──▶ 成功 │ ▼ │ └──重跑失败── Ready ◀──重试成功──────────────────┘ │ └──申请发布──▶ 生产边界弹窗明确原型止步于此三个值得新手记住的设计决策失败不丢数据模拟服务拒绝更新时弹窗不关闭、已填值保留只把焦点移到错误提示上用户可以直接重试。边界诚实点击生产发布后原型弹出一个解释框说明真实的发布系统从这里接管而不是假装部署成功。无效操作宁可不放也不造假。每个状态都有可见结果状态表里的 Visible result 一列就是验收标准。加载态实现禁用、Spinner 与 aria-busy加载态的完整实现不到 10 行核心在 prototype.html 的 setSaving 函数function setSaving(saving) { isSaving saving; // 禁用除提交按钮外的所有控件 saveRerun.innerHTML saving ? span classloading-labelspan classspinner/spanSaving evidence/span : Save rerun; rerunForm.setAttribute(aria-busy, String(saving)); }新手容易漏掉的三个细节禁用一切可操作控件保存期间表单不能动连关闭弹窗都被拦截cancel事件在isSaving时调用preventDefault防止用户在请求中途离开导致状态错乱按钮文案换成动词 进行中spinner 旁边显示 Saving evidence视觉反馈和文案反馈一致aria-busy通知屏幕阅读器加载态不只是看起来在转圈读屏软件也能感知。提交后的分流逻辑在 表单 submit 处理器用setTimeout模拟 750ms 网络延迟再根据复选框决定走向错误分支还是成功分支。错误恢复路径保留输入 显式重试错误态最容易做成弹个红色 Toast 然后消失Effective HTML 的做法是把错误恢复当成一条完整路径触发表单里有一个让下一次保存失败一次的复选框专门供评审演示错误路径呈现错误提示formAlert显示说明失败原因保护已填的重跑结果和证据 ID 原样保留用户不必重填引导formAlert.focus()把焦点直接落到错误信息上同时用announce()向辅助技术播报你的输入已保留可以重试。重试成功后的跳转由updateRelease()处理它不只改一个按钮而是同步更新决策印章Blocked → Ready、检查计数3 of 4 → 4 of 4、风险卡片红色感叹号 → 绿色对勾、活动日志和 Toast让状态变化在全页范围内可被看见。反过来如果重跑结果还是失败状态机会从 Ready 回落到 Blocked发布按钮重新禁用——状态机是双向的这比一条道走到成功的原型可信得多。可复制的动手指南想在自己的项目里复用这套做法按下面三步走克隆仓库把示例文件复制为起点git clone https://gitcode.com/gh_mirrors/ef/effective-html cd effective-html cp examples/release-readiness/prototype.html my-prototype.html替换业务保留状态模型先改 brief用户、任务、非目标、标签和数据再碰视觉。参考 examples/release-readiness/README.md 中的 Clone and adapt 说明。按验收清单自测宽屏 窄屏两种宽度、每个建模过的状态都走一遍、Tab/ShiftTab/Enter/Space/Escape全键盘操作、控制台无报错、减少动态效果reduced motion模式下的表现。完整检查记录见 examples/release-readiness/validation.md。相关文档索引原型技能规范skills/html-prototype/SKILL.md线框图技能原型的前置阶段skills/html-wireframe/SKILL.md线框图示例examples/release-readiness/wireframe.html总技能路由与更多场景参考skills/html/references/interfaces.md小结Effective HTML 用发布就绪示例演示了一个可交互原型的标准状态机先定义状态表再让加载、错误、恢复、禁用、空态逐一可触达最后用键盘、焦点和屏幕阅读器检查收尾。单个 HTML 文件不是限制而是它的优势——没有构建链状态机的每一步都能被评审者亲手点出来。【免费下载链接】effective-htmlAgent skills for useful HTML artifacts, wireframes, interactive prototypes, plans, and diagrams.项目地址: https://gitcode.com/gh_mirrors/ef/effective-html创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

JavaWeb小说阅读管理系统源码解析:部署、核心功能与课设避坑指南 2026/9/28 21:58:25

JavaWeb小说阅读管理系统源码解析:部署、核心功能与课设避坑指南

简介:基于JavaWeb的小说阅读管理系统设计与实现源码及课设报告(95分以上)打包在此,面向需要完成课程设计、期末大作业的计算机相关专业学生。系统实现用户注册登录、首页书籍分类浏览(历史、都市、仙侠、奇幻&#xff…

阅读更多 →
零基础用海康VM教育版做视觉定位:从环境搭建到标定实战 2026/9/28 21:58:17

零基础用海康VM教育版做视觉定位:从环境搭建到标定实战

机器视觉这行有个很现实的门槛:软件授权。很多人想入门,卡在第一步——打开官网一看,商业版授权费用不低,加密狗又是一笔开销,还没开始学就先被劝退。海康VM的教育版算是给了一条活路,功能上做了合理裁剪&a…

阅读更多 →
无人机编队协同新选择:M-Robots OS与ROS实战对比 2026/9/28 21:58:17

无人机编队协同新选择:M-Robots OS与ROS实战对比

1. 无人机编队为什么需要一套新系统1.1 从单机飞控到编队协同的跨越搞过无人机编队的人都知道,单机飞控和编队协同完全是两个维度的工程。单机场景下,飞控只管自己这一亩三分地,姿态解算、位置控制、电机输出,跑通了就完事。但一旦…

阅读更多 →
手机本地部署大模型实战:从模型量化到Android/iOS推理优化 2026/9/28 21:57:35

手机本地部署大模型实战:从模型量化到Android/iOS推理优化

1. 手机跑大模型这件事,到底靠不靠谱先说结论:能跑,但别指望它替代云端服务。我前后在骁龙8 Gen 2的Android机和iPhone 15 Pro上折腾了差不多两个月,从最初的“这玩意儿真能跑?”到后来把本地模型接进自己的笔记工作流…

阅读更多 →
Agent-Native架构重构实战:设计原理、最小实现与避坑指南 2026/9/28 21:57:28

Agent-Native架构重构实战:设计原理、最小实现与避坑指南

这两年我经手了不少LLM项目,一个感受越来越明显:大多数团队口中的“AI化”,不过是在传统系统外面套了一层会说话的前端。2024年下半年我在做一个客服知识库系统,最初就是标准的RAG加聊天窗口,用户在右上角点开机器人&a…

阅读更多 →
Python电商评论情感分析全流程实战:从数据采集到模型训练 2026/9/28 21:57:28

Python电商评论情感分析全流程实战:从数据采集到模型训练

简介:基于Python的电商买家评论情感分析项目包,专为毕业设计、期末大作业和课程设计场景打造,代码注释详尽,即使完全没有项目经验的新手也能看懂每一步实现,曾获98分且深受导师认可。整个压缩包约54MB,内含…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉