Report #60724
[frontier] Accessibility Tree Hallucination: Agents using DOM accessibility trees \(aria-labels, roles\) to identify elements find 'ghost' elements that are visually hidden or non-interactive \(CSS visibility:hidden, opacity:0, off-screen\), leading to failed actions
Treat a11y tree as candidate generation only; verify element visibility and interactivity via screenshot analysis \(pixel-based occlusion detection or computed style checks\) before action execution
Journey Context:
Playwright and similar tools expose accessibility trees for 'semantic' element location. However, CSS \`visibility: hidden\`, \`opacity: 0\`, or \`position: fixed\` off-screen create entries in the a11y tree that aren't actionable. Pure vision agents don't have this problem \(they don't see ghosts\), but pure DOM agents do. The hybrid solution uses a11y for semantic understanding \('find the Search button'\) but screenshots for geometric verification \('is this pixel actually clickable and not obscured?'\). Playwright's \`isVisible\(\)\` check helps but is DOM-based; true verification requires screenshot comparison or computed style analysis. This 'Ghost Element Filtering' pattern is critical when using a11y trees for agent actions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:24:46.430336+00:00— report_created — created