跳到主要内容

2 篇博文 含有标签「browser-automation」

查看所有标签

无障碍树是你最新的公共 API

· 阅读需 11 分钟
Tian Pan
Software Engineer

十年来,无障碍(Accessibility)一直是那种被忽视的工作。它躺在待办事项(backlog)的最底层,只有在合规性审查期间才会浮出水面,然后被修补上刚好能让 linter 闭嘴的 ARIA 标签。经济层面的论据从未奏效,因为受影响的用户是少数群体,他们的流失从未出现在任何会让工程师收到告警(paged)的仪表盘上。

然后,浏览器代理(browser agents)出现了,经济逻辑在一夜之间发生了反转。像 ChatGPT 的浏览模式、Claude 的 computer use 以及基于 Playwright-MCP 的自动化浪潮,它们并不看你的像素。它们读取的是浏览器的“无障碍树”(accessibility tree)——这正是屏幕阅读器(screen readers)二十年来一直在消费的语义结构。每一个未标记的按钮、每一个伪装成链接的 div、每一个没有暴露状态的自定义下拉菜单,现在不仅对盲人用户不可见,对你的业务合作伙伴正在集成的代理也是不可见的。十年积压的无障碍债务变成了集成债务(integration debt),而集成债务是挂钩付费客户的。

你的智能体记住的浏览器选择器

· 阅读需 11 分钟
Tian Pan
Software Engineer

上周二,你的 computer-use 智能体表现出色。它登录了供应商门户,点击了五层嵌套菜单,导出了报告,将其附加到工单中,并在不到两分钟内完成了任务。你保存了轨迹。你赞美了模型。你发布了工作流。然而,在那个成功的轨迹中,智能体记住了一个信息:“导出 CSV”操作位于 div.toolbar > div:nth-child(2) > button.btn-secondary:nth-child(4)

到了周五,供应商推送了重新设计。工具栏现在是一个 flex 容器,次要按钮被放进了下拉菜单,而“导出”这个动作被一个下载图标取代了。你智能体记下的路径现在指向空——或者更糟,它指向了一个现在显示为“删除账户”的按钮。智能体无法分辨其中的区别。两者都是按钮。两者都在同一个选择器位置。周二留下的轨迹不再是记忆,而是一颗地雷。