Skip to content

safe-bash Playwright snapshots omit page text and native form labels #733

Description

@kamilio

Reproduced with published @poe-platform/safe-bash@0.1.636, @cloudflare/playwright@1.3.6, and a real Chromium browser through Miniflare's Cloudflare Browser Rendering binding.

Page:

<title>Browser test</title>
<label>Name<input></label>
<button>Save</button>
<h1>Ready</h1>
<p>Here is the information the agent needs to read.</p>

Run playwright-cli -s research open https://example.com/ against that fixture, then playwright-cli -s research snapshot in the same retained controller. Actual output:

- textbox "" [ref=e1]
- button "Save" [ref=e2]

Expected: a bounded snapshot includes readable page text/headings and the textbox's accessible name (Name), alongside actionable refs. Current behavior leaves informational pages with no useful text and cannot distinguish inputs labeled with native HTML labels. Input values, checked states and input-specific roles are also absent from the current summary.

The published dist/safe-bash/playwright/snapshot.js explicitly describes this as a DOM interaction summary, so this is a capability gap rather than a claim of undocumented full CLI parity. Its selector only collects button, input, textarea, select, a[href], [role], [contenteditable="true"]; names come only from aria-label, placeholder, or textContent. The normal associated-label and accessible-name rules are not applied.

Please extend the public, Cloudflare-compatible snapshot path to include bounded readable content and accurate accessible names/state, while retaining stable element-handle refs and the existing stale-ref/byte/ref limits. Suggested regressions: noninteractive text page; wrapping label; label[for]; aria-labelledby; checkbox role/state; filled textbox value. Exercise the same cases against regular Playwright and Cloudflare's implementation.

This blocks text-based inspection in the Poe shell browser integration. Screenshots remain available as a temporary workaround, but ordinary browser reading should not require vision.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions