refactor: replace Playwright internals with in-page dom-accessibility-api

- Add a11y-client.ts: browser-side code using dom-accessibility-api (41KB)
- Single page.evaluate() call instead of multiple CDP roundtrips
- Zero element handles - everything runs in page context
- Stable refs from test IDs (data-testid, data-test-id, id) instead of e1, e2
- Add locator param to scope snapshots to subtrees
- Fixes cross-frame 'Unable to adopt element handle' error (issue #39)
This commit is contained in:
Tommy D. Rossi
2026-02-01 16:58:29 +01:00
parent ec7ed4e590
commit a2fa91584d
8 changed files with 950 additions and 643 deletions
+8
View File
@@ -73,6 +73,9 @@ importers:
diff:
specifier: ^8.0.2
version: 8.0.2
dom-accessibility-api:
specifier: ^0.7.1
version: 0.7.1
hono:
specifier: ^4.10.6
version: 4.10.6
@@ -2959,6 +2962,9 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
dom-accessibility-api@0.7.1:
resolution: {integrity: sha512-vdnCeZD+3wZ+8h8xXL/ZtBlvvoobOFyPzSiIfO6sGOZDqjFx4aLMAjZhl4rawj5xYz3UwP6Tgvyh0iH4IOCVnQ==}
dom-serializer@0.2.2:
resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==}
@@ -8217,6 +8223,8 @@ snapshots:
dependencies:
path-type: 4.0.0
dom-accessibility-api@0.7.1: {}
dom-serializer@0.2.2:
dependencies:
domelementtype: 2.3.0