现象
框架弹层菜单(Element Plus el-popover / el-dropdown 等)内的菜单项,当它们是 cursor:auto、无 role、无独立可访问名的 <div> 时,vortex_observe 把整个弹层(role=tooltip 容器)按 name-from-content 合并成单一 ref,各菜单项无法分别 targeting。
agent 只能拿到合并文本,点中心可能落在分隔区,observe→act 够不到具体菜单项。
复现(班牛预发 https://newbeta.bytenew.com/app.html)
- 点左上角 addcube(+)打开「新建小程序」弹出菜单
vortex_observe 仅得一条:tooltip "模板中心创建 新建空白小程序" [ref=@..]
- 「模板中心创建」「新建空白小程序」两项未分别暴露
白盒结构(实机 dump,2026-06-11)
host: DIV role=tooltip cursor=auto class="el-popover el-popper"
└ DIV cursor=auto text="模板中心创建 新建空白小程序" ← 两项在一个 cursor:auto div 里
└ DIV (empty)
与 #42 的区别(重要)
#42(PR #45)修的是容器+子按钮全 cursor:pointer 的多 CTA 卡片(如班牛 createBox),走 cursor:pointer 候选池的多 CTA 去重。
本 issue 的菜单项是 cursor:auto(非 pointer),既不进 cursor:pointer 候选池,也无 role / 原生交互标签 → #42 的去重不覆盖也不应覆盖(其范围严格限定 cursor:pointer 多 CTA)。这是另一类根因:框架弹层菜单项无任何标准交互信号。
可能方向(待设计)
- 识别
el-popover/el-dropdown/el-menu 等框架弹层容器,对其直接子菜单项(即使 cursor:auto)按"独立可点项"暴露;
- 或检测菜单项上的框架点击处理器(
hasFrameworkClickHandler 已有,但需扩展到 cursor:auto 的弹层项);
- 注意与 tooltip name-from-content 合并逻辑的交互,须配 bench fixture(
el-popover-menu 型)+ 0022 sweep 防噪声回归。
来源
N0062 vortex 生产能力评测 V3 → #42 PR #45 Task 0 probe 实机白盒确认。详见 #42 评论。
现象
框架弹层菜单(Element Plus
el-popover/el-dropdown等)内的菜单项,当它们是cursor:auto、无role、无独立可访问名的<div>时,vortex_observe把整个弹层(role=tooltip容器)按 name-from-content 合并成单一 ref,各菜单项无法分别 targeting。agent 只能拿到合并文本,点中心可能落在分隔区,observe→act 够不到具体菜单项。
复现(班牛预发
https://newbeta.bytenew.com/app.html)vortex_observe仅得一条:tooltip "模板中心创建 新建空白小程序" [ref=@..]白盒结构(实机 dump,2026-06-11)
与 #42 的区别(重要)
#42(PR #45)修的是容器+子按钮全
cursor:pointer的多 CTA 卡片(如班牛 createBox),走 cursor:pointer 候选池的多 CTA 去重。本 issue 的菜单项是
cursor:auto(非 pointer),既不进 cursor:pointer 候选池,也无role/ 原生交互标签 → #42 的去重不覆盖也不应覆盖(其范围严格限定 cursor:pointer 多 CTA)。这是另一类根因:框架弹层菜单项无任何标准交互信号。可能方向(待设计)
el-popover/el-dropdown/el-menu等框架弹层容器,对其直接子菜单项(即使 cursor:auto)按"独立可点项"暴露;hasFrameworkClickHandler已有,但需扩展到 cursor:auto 的弹层项);el-popover-menu型)+ 0022 sweep 防噪声回归。来源
N0062 vortex 生产能力评测 V3 → #42 PR #45 Task 0 probe 实机白盒确认。详见 #42 评论。