如果经过深思熟虑的扩展,这可能成为AI agent的通用界面层。AI agent可以像辅助技术那样语义地观察应用程序,而不是点击像素位置或抓取DOM。无障碍树已经暴露了结构化元素,如按钮、标题和输入框。如果用元数据(如意图、角色和功能)进行扩展,这可能成为AI agent的第一类接口,让它们有目的和精确地感知和操作应用。
实际上,这个方向有几个可能的发展路径:
第一个是上下文提取,我们需要一种标准方式,让使用无障碍或语义API的LLM agent能够查询屏幕上有什么,它可以与什么交互,以及用户正在做什么。想象一下,AI agent可以说"告诉我这个屏幕上所有可点击的元素"或"用户现在在什么位置",并立即得到结构化的答案。
第二个是意图式执行,与其期望AI agent手动串联多个API调用,不如暴露一个高层端点,让它声明目标("将物品添加到购物车,选择最快配送"),然后让后端计算出具体步骤。这就像告诉司机"带我去机场",而不是给出每一个转弯指令。
第三个是LLM的备用UI,无障碍功能为LLM提供了一个备用UI。任何暴露屏幕的应用都变得对AI agent可用,即使它没有公开API。对开发者来说,这暗示了一个新的"渲染层"——不仅是视觉或DOM层,而是AI agent可访问的上下文,可能通过结构化注释或无障碍优先的组件来定义。
这三个方向共同指向一个未来:应用程序不再只为人眼设计,也为AI"眼"设计。每个界面元素都携带丰富的语义信息,不仅描述它看起来是什么,还描述它能做什么,以及如何使用它。