ARCHIVE
아카이브
기존에 공개한 글을 원래 주소 그대로 보관합니다.
과거의 글에는 작성 당시의 기술과 관점이 담겨 있습니다.
356개 글 · 1 / 12 페이지
· ZH
面向 AI 搜索优化的 SEO、无障碍检查与回答验证
从 AI 搜索查找文档和生成回答的原理出发,说明 SEO 与网页无障碍的作用。以虚构的资费说明页面为例,确认抓取路径和信息准确性,并探讨如何将检查清单与 LLM 审查应用于 CMS 运营。
· ZH
当美发店都在用 ChatGPT 制作网站,Web 开发的价值在哪里?
从美发师用ChatGPT亲自修改网站的经历出发,探讨独立预约系统、免费静态托管、运维技术债,以及AI时代网站制作公司与开发者的搜索、无障碍和用户体验能力。
· ZH
数字钱包认证:无法使用钱包的人,如何完成身份核验?
网站能与数字钱包交换信息,不代表每个人都能完成认证。从信息共享、同意、取消到返回网站,提出完整路径的无障碍检查表,并把替代方式的可用性、必要身份核验与隐私保护放在一起判断。本文是基于官方设计原则的实践建议,不是实测报告。
· ZH
MCP治理审计中"成功退出"并不证明成功 — 15次运行全部以exit 0结束,但测量实际失败了
你的验证管道今天又亮起了绿灯,但那个绿灯可能什么都没测到。15次运行全部以exit 0结束,却没有产生任何实际测量结果——成功信号与真实结果之间出现了断裂。
· ZH
MCP 服务器风险检查在没有结果文件时记录为零,先建立区分零风险与无法测量的存储规则
风险检查工具在结果文件缺失时会把所有项目记录为零分,但零分可能意味着"没有风险"也可能意味着"根本没测成"。在引入评分工具之前,必须先建立"文件不存在就记为失败"的存储规则。
· ZH
Google-Extended 把 AI 训练和引用绑在同一个开关上,只有 OpenAI 的爬虫可以分开设置
想让文章继续出现在搜索结果里,同时拒绝被 AI 学习,这种组合在 OpenAI 一侧有官方文档保证。Google 的 Google-Extended 没有提供这种拆分,关掉学习的同时引用通道也会一起关闭。
· ZH
MCP 路线图上的功能在 MCP 规范里还不存在
本文实测了两件事:一个程序连接服务器的那一刻会把多大一份工具清单搬进来,以及官方路线图上写着的功能在正式规范文件里出现了几次。结论是:菜单上写的东西,不等于厨房里真的有。
· ZH
用符号链接让 AGENTS.md 和 CLAUDE.md 共用一份文档今天仍然有效,但没有任何文档为此提供保证
两种 AI 编程工具共用一份规则说明书的常用做法,目前只靠文件本身的运气在运转。本文讲清它在什么情况下会失灵,以及哪些部分这次没能核实。
· ZH
规则文件能否被 Claude Code 读到,取决于会话从哪个文件夹启动,而不是规则放在哪里
CLAUDE.md 规则文件放的位置一样,会话启动的文件夹不一样,被读到的结果就完全不同。对话中途才被读到的规则文件,遵守率只有一半。
· ZH
AGENTS.md 与 CLAUDE.md 的三种连接方法实测效果相同,真正的陷阱是被代码块包住的一行
让 AGENTS.md 进入 Claude Code 的三种官方做法,实测结果都一样,所以选择的标准不是快慢,而是你环境里的限制。真正要小心的,是一行被当作示例包进代码块的写法,它会让整份规则文档悄无声息地消失。
· ZH
用户只要提出一条相反要求,Claude Code 就会丢掉整份 CLAUDE.md 规则文件
写进仓库规则文件里的规矩,被模型读到不等于被遵守。实测显示用户一句话和规矩冲突时,整份规则文件在 6 次里 6 次被当作提示词攻击丢掉。
· ZH
Preferred Source 进入AI搜索有完整文档,移出的方法只有一句话
谷歌同一天为新功能"首选来源"准备了专门文档和按钮代码,把网站从AI搜索里移出的方法却只占官方文档里的一句话。我们数了自己12个页面,那一句话指向的标记一个都没有落上。
· ZH
通过 WCAG 重流标准,也不保证页面在400%缩放下竖向可读
一个通过了 WCAG 1.4.10 重流检查的页面,在400%放大时仍可能竖向挤得几乎读不了。实测显示损失的竖向空间是固定的82像素,屏幕越小这个数占的比例越大。
· ZH
我把智能体会话当成可丢弃的缓存,把管控挪到策略平面:厂商锁定从此可算账
会话迁移能带走对话与工具上下文,却带不走认证、钩子、策略、MCP 连接与运行时配置。真正耐用的做法,是把审批与审计放在智能体框架之外。
· ZH
我把 MCP 路线图当运营计划读了一遍,然后改掉了本季度的建设清单
MCP 路线图不是交付排期表。目录规模的经济账、文档所在的层级、以及可替换的身份边界,才是技术决策者在下一份规范正式落地之前真正该动手的地方。
· ZH
把同一条规则搬过 CLAUDE.md、Skill 和子代理之后,我发现成本不是决策点
CLAUDE.md、SKILL.md 与子代理解决的是覆盖范围和生命周期的不同问题。通过实测对比三者的行为差异,真正的架构边界在于强制力:没有任何一层是控制面。
· ZH
400% 放大之后正文只剩 118px:一笔与视口高度无关的固定像素通行费
横向回流判定 8 行全过,320x200 条件下正文顶部却只剩 118px,页面中部更掉到 110px。损失不是随视口缩放的百分比,而是一笔 82px 的恒定像素代价,大半来自应用 CSS 之外的第三方固定容器。本文给出可复现的测量口径、发布回归门槛该怎么划,以及为什么不该定一条通用及格线、而要改用回归比较。
· ZH
我们复核了智能体成本相差28倍的实验,真正的决策层是 Harness
MCP 并不是 AI 智能体成本的首要决策项。本文结合覆盖七种 harness、五种模型的受控实验,以及我自己实测的工具定义载荷字节数与失败支出占比,说明真正决定成本、可靠性与可审计性的究竟是哪一层。
· ZH
我把 Google AI features 文档逐字数了一遍:没有退出开关,这是架构决定的
AI features 文档全文 177,842 字节里,opt out、opt-out、exclude 各出现 0 次。为什么不存在只把 AI Overviews 与 AI Mode 排除在外的开关,以及不靠 robots.txt 的话团队该动哪里,用 18 轮实测给出答案。
· ZH
Google把spam update的开始时刻精确到分钟公开,接进Search Console后精度依然磨平
August 2026 spam update在incidents.json里留下精确到秒的开始时间戳,抓取无需认证。但Search Console的日期轴按太平洋时间整天对齐,分钟级信息一进连接键就变成边界日里前后混合的一天。查了八份官方文档、跑了九次实测:这个数据值得抓,但只能用来打标签,不能用来提高相关分析精度。
· ZH
Search Console 平台资源:全球开放了,接口里还没有名字
Google 7 月 29 日宣布平台资源全球开放。今天 8 月 18 日帮助中心两页仍写逐步推出,API 参考停在 2024-07-23,只有 URL-prefix 和 sc-domain。七份文档核对后的判断:手动看报表的今天就接 Instagram、TikTok、X、YouTube,自动管道先别放。
· ZH
规则没有生效,为什么两边都当成通过了
我在两行 robots.txt 里调换顺序,urllib 的结果当场反转。把 34 KiB 的 AGENTS.md 喂给 Codex,文件后半截的测试标记变成 0 命中,终端没有报错。声明式规则解析失败时不会停下,只会假装规则不存在。219 次运行全部以退出码 0 结束,先确认是哪个解析器给的判定。
· ZH
决定成败的不是那 8px,而是它长在哪儿:七种 tooltip 实测 SC 1.4.13
把同一句提示做成七种 tooltip,分别量 WCAG 2.2 SC 1.4.13 的 Dismissible、Hoverable、Persistent。纯 CSS 的三种全部倒在 Dismissible 上,popover="hint" 白送你 Dismissible,却在 Hoverable 上翻车。
· ZH
我数了数 Chrome 的 agent skill:138 篇指南,无障碍 2 篇,搜索 0 篇
装上 Chrome 团队的 Modern Web Guidance 0.0.180,按分类数完 138 篇指南,再用三个领域 22 条查询去戳检索。首位相似度:UI 0.643,无障碍 0.508,结构化数据 0.267,另有 2 条完全没有返回。语料库空出来的地方怎么用项目规约补上,这篇一并写清楚。
· ZH
只按 320px 宽度测回流,只测了一半:400% 放大后的 200px 高度
把 WCAG 1.4.10 回流放在 320x844、320x256、320x200 三个条件下同时测量。横向判定三个条件一个像素都不差,400% 放大真正改变的是高度:82px 的 sticky 头部占掉了视口的 41%,正文可见区域最后只剩下不到六成,文末附上可复现的测量脚本与三档高度的完整数据。
· ZH
回到被引用那句话的链接,只在代码块里断了
我从自己站点的构建产物里取出 69 句话,做成文本片段链接,在 Chromium 里逐条点开记录落点。48 句散文全部到达,15 段代码里有 14 段断在半路。本文用实测把块边界和词边界的规则讲清楚。
· ZH
字距调宽 0.12em,570 处文字被切掉:检查器放行的 AA 标准
axe-core 给 WCAG 1.4.12 判了零违规。可当我真的把这条标准要求的四个值加上去,570 个元素的文字被切断了。这篇把四条声明拆开逐个测,看谁才是丢内容的那一个。
· ZH
CI 一直是绿的,审计报告却有三十条:用 W3C 的 1,213 个标准答案量自动检查的边界
W3C ACT 公开了 1,213 个带人工标注的测试用例。把 axe-core 全量跑一遍,387 个「应该失败」的用例里只有 145 个(37.5%)报出了对应成功标准的违规,36 条标准中有 22 条挂零,而这些沉默里有一部分只是规则默认没开。
· ZH
往下按 Tab 零违规,往上按 16 条:吸顶头部吞掉的键盘焦点
同样六个页面,用 Tab 往下走测出 WCAG 2.4.11 违规 0 条,用 Shift+Tab 往上走测出 16 条。原因在于浏览器把焦点目标滚进视口时,对齐方式取决于你从哪个方向来。一行 CSS 把 16 条降到 0 条的实测记录。测的方向一换,结果就跟着换,这不是偶然误差,而是对齐规则本身。
· ZH
一年没动过的文章,Last-Modified 却写着昨天:部署会抹掉缓存校验值
给去年写的文章发了个 curl,Last-Modified 显示的却是昨天的部署时间。拆开 ETag 一看,就是文件修改时间和大小拼成的十六进制。同一份源码重新构建出的 1,346 个 HTML 完全字节一致,可一次部署就让整站的条件请求全部落空,本该拿到的 304 再也换不回来。文中给出实测过程与几种可行的缓解方案。