{"_id":"@a11y-pulse/browser-adaptor","_rev":"9-36ef5e4b3422f61cabb809f2318add8c","name":"@a11y-pulse/browser-adaptor","dist-tags":{"latest":"0.5.0"},"versions":{"0.0.0":{"name":"@a11y-pulse/browser-adaptor","version":"0.0.0","keywords":["accessibility","a11y","puppeteer","browser-adaptor","audit"],"author":{"name":"A11y Pulse Limited"},"license":"SEE LICENSE IN LICENSE.md","_id":"@a11y-pulse/browser-adaptor@0.0.0","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"e472c56c3ce79202c4c94f63643fb0f6bcbb36a9","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.0.0.tgz","fileCount":15,"integrity":"sha512-4zz3Ctl/RtPg6wxEXiCylvXgTSFMVyGdiGcx/Qj87AgHPyVZ7LMgjKJHMsqK2DCi/o7zYKN5BoWkfjEFO5TQ2Q==","signatures":[{"sig":"MEUCIQCes91NXTZyuDIgTURqoOhxaFMjefAMDS/AUIng5vIyJQIgZYNqWNpbFb56DVg7OHF812eVACo+dgJIkXS6oXafYoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38804},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js"}},"gitHead":"ee7b8370d9b417f50616f5af20368745c138b86d","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"11.11.0","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.11.2","puppeteer":"^25.5.0"},"peerDependencies":{"puppeteer":"^25.5.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.0.0_1787204662216_0.08749682072708409","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@a11y-pulse/browser-adaptor","version":"0.1.0","keywords":["accessibility","a11y","puppeteer","browser-adaptor","audit"],"author":{"name":"A11y Pulse Limited"},"license":"SEE LICENSE IN LICENSE.md","_id":"@a11y-pulse/browser-adaptor@0.1.0","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"2de98600c4057b5740544825d44890195a96bb6b","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.1.0.tgz","fileCount":15,"integrity":"sha512-mO3RHkPT0HqIiv8bxavFORCYcd3S+u/xoJTmQxxBb8RfcjDtuVEAU+8QY01WNU/yTx5FcAvfAPBkwpGLgvsuAg==","signatures":[{"sig":"MEUCIQC433W7qy9kVE/BmPaEyOeYgVtslpmwctGYYlA8OI4/tQIgQvrLGcfnlpPzeNkE9RobeAIIFgjUdq25hkDvnNYBZb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38804},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js"}},"gitHead":"f05e0097f3dc9b26151bb00db20bf4ba98707bda","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.11.2","puppeteer":"^25.5.0"},"peerDependencies":{"puppeteer":"^25.5.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.1.0_1787212749952_0.5087695010997022","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@a11y-pulse/browser-adaptor","version":"0.2.0","keywords":["accessibility","a11y","puppeteer","browser-adaptor","audit"],"author":{"name":"A11y Pulse Limited"},"license":"SEE LICENSE IN LICENSE.md","_id":"@a11y-pulse/browser-adaptor@0.2.0","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"35e9e55e3a31736c70f3e72da52b429ba0ac9ca1","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.2.0.tgz","fileCount":16,"integrity":"sha512-wp/BiHnCpeKPzGwGJ7pEXXGHU28ow2v1y1kRa07Yd87UmfOynKZPbtY3WXBsodKKMM2WLbRPOryrkkmBa0Ikng==","signatures":[{"sig":"MEQCIFW077sGrpbUdKSzKox9hBRg2DjA1htb2uR5lvJC+pOkAiAdb1jZWxhK7xYM9IhNtSuET70uBzW0feO14lEbD1fJnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41428},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js"}},"gitHead":"cdf225620b08438311d55916e8c946f45bd61adc","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.11.2","puppeteer":"^25.5.0"},"peerDependencies":{"puppeteer":"^25.5.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.2.0_1787554129300_0.9991177459646472","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@a11y-pulse/browser-adaptor","version":"0.2.1","keywords":["accessibility","a11y","puppeteer","browser-adaptor","audit"],"author":{"name":"A11y Pulse Limited"},"license":"SEE LICENSE IN LICENSE.md","_id":"@a11y-pulse/browser-adaptor@0.2.1","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"1ea09c3db70a9870cb86e09f67bcb89f9c5b14c6","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.2.1.tgz","fileCount":16,"integrity":"sha512-hzCjl3ZkA8ECR4xYoPtEEdBLtQ/AbE6WqKV9sXrSeYh3Q9sEaayK0cUAODo8NByf0iyQhXrRchqSbzexuydD+Q==","signatures":[{"sig":"MEYCIQCcZCZV7T9iOHBGmYpEjDXPkz/acDM5LZSwvKmjNHPs6AIhAOoPXthKgNr0Bx900sBfXjb1YCTqMzlnbKHFFj5I42eH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41810},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js"}},"gitHead":"c310c3a5e4de35d93061a0f3ba7ff1cc3cf84e4f","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.11.2","puppeteer":"^25.5.0"},"peerDependencies":{"puppeteer":"^25.5.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.2.1_1788742723967_0.27408659605022345","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@a11y-pulse/browser-adaptor","version":"0.2.2","keywords":["accessibility","a11y","puppeteer","browser-adaptor","audit"],"author":{"name":"A11y Pulse"},"license":"SEE LICENSE IN LICENSE.md","_id":"@a11y-pulse/browser-adaptor@0.2.2","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"566549c4f1ba728a1a5267b2a594de7c437a9ce6","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.2.2.tgz","fileCount":16,"integrity":"sha512-ydxxhBbNeMs3faPAcPmkUgL54ILnxNMlcMJ4SRVlS/QrfKdkADK/nryFQCLaSt8NNi5VHxbVxNCQUNPxhxzRiA==","signatures":[{"sig":"MEUCIQC1M+luORAceft5g2PVSEj5+fUh8hC7rqSuwpSNe+73hgIgQOZ7uzWlHWgryHcEDTGkXQYuynbbPW5yNuKVd2E7yNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41898},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js","source":"./src/dom.ts"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js","source":"./src/adaptors/puppeteer.ts"}},"gitHead":"8431177b6098e09064306dc08bddfb59796b444d","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.12.0","puppeteer":"^25.9.0"},"peerDependencies":{"puppeteer":"^25.9.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.2.2_1788834836067_0.25532423289668205","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@a11y-pulse/browser-adaptor","version":"0.3.0","keywords":["accessibility","a11y","puppeteer","browser-adaptor","audit"],"author":{"name":"A11y Pulse"},"license":"MIT","_id":"@a11y-pulse/browser-adaptor@0.3.0","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"741ec016605350875b06dc7440290ba1ff4d01ff","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.3.0.tgz","fileCount":16,"integrity":"sha512-YF3pXionVGtXM5vzqPhE6dhLhnGOBxUPrwXb1Mqr5QZkW1pRScEy/5NszgYT/eyqHWfe9Xs9lSi3aR7aQV6zmQ==","signatures":[{"sig":"MEYCIQCHbUW3F8DjH1Peb5qwEftGaNFZiCaDWB99nnQOTsYQkgIhAJLsL44XV1SqAUw5eE55PgmZi/Snap22wR1HR43ikl68","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA3kqpGkBxoCXEDeaiFvUsksICw9R4KTzEQUEDo6BJUcAiB6V3qZCDkMeyk7+cm8BChcfqW8tR9zYUukuhtMXGgQ+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37113},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js","source":"./src/dom.ts"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js","source":"./src/adaptors/puppeteer.ts"}},"gitHead":"3c0154a99848ea8c609ebec30fca8faf6226bc69","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.12.0","puppeteer":"^25.9.0"},"peerDependencies":{"puppeteer":"^25.9.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.3.0_1789122048871_0.6248250961215949","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@a11y-pulse/browser-adaptor","version":"0.4.0","keywords":["accessibility","a11y","puppeteer","playwright","browser-adaptor","audit"],"author":{"name":"A11y Pulse"},"license":"MIT","_id":"@a11y-pulse/browser-adaptor@0.4.0","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"d1be3db4fad82e9cd4d04885a49e488cee479baa","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.4.0.tgz","fileCount":19,"integrity":"sha512-vQcNtTiMKaSbmQv34+6UjdOpaJzo8yGTs631Luq5pseGLOuto7fX5yPwnG0sABgoq/t/sEd3I2hlv/MGoA8grg==","signatures":[{"sig":"MEUCIDGCgc2cG2WQFmN/Brm03hv4IspAPMIlheQWVb3Zsf7RAiEAsQsQlmPOidcN5B/Sap8QabLA4rYAYnLAiMEEbE+NaYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBgvT6zXnLMOiNvwK8PLONknkA9BoGm+GHjJ4gZZum+zAiEArpXQd54hLBNJ4Tvvao4QC/NwbfZPVxw7MBJTauEaPAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53454},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js","source":"./src/dom.ts"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js","source":"./src/adaptors/puppeteer.ts"},"./playwright":{"types":"./dist/adaptors/playwright.d.ts","import":"./dist/adaptors/playwright.js","source":"./src/adaptors/playwright.ts"}},"gitHead":"facc34c09fbb3982d29a1dc04944b5d035af7780","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.12.0","puppeteer":"^25.10.0","playwright-core":"^1.63.0"},"peerDependencies":{"puppeteer":"^25.10.0","playwright-core":">=1.40"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"playwright-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.4.0_1789286316091_0.07759470306145944","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@a11y-pulse/browser-adaptor","version":"0.4.1","keywords":["accessibility","a11y","puppeteer","playwright","browser-adaptor","audit"],"author":{"name":"A11y Pulse"},"license":"MIT","_id":"@a11y-pulse/browser-adaptor@0.4.1","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"ebc1f4181ed4a258e814518c8dd3b37911647f6e","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.4.1.tgz","fileCount":22,"integrity":"sha512-hTj53Q7h9yeOmcXAazHGyHX2IYK7j+/8N7h4DpIUNqjNw/dbYvDBM8wC5AWAPpMhmjZXhlNB8ydZxfyCKRiI+g==","signatures":[{"sig":"MEUCIQDj4FOU+sbEY4uFxylbamOFiqjNg04dX4VXJqmEVmJIFwIgf8gyHeltH8dI0Npry1hWmzlfg3k0PjuIraNu1jbnCtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCFtVtw8GjBLggr8YLEfDLRDfHlIT7boqE5gqcFjGswaAIgUkCxnjPgYUgH71gYNOYCIH6+avFbOlLYH7k71t35qMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54820},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js","source":"./src/dom.ts"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js","source":"./src/adaptors/puppeteer.ts"},"./playwright":{"types":"./dist/adaptors/playwright.d.ts","import":"./dist/adaptors/playwright.js","source":"./src/adaptors/playwright.ts"}},"gitHead":"1191cf3493415a97f75c2321ea5a1c6a4a10835c","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.14.5","puppeteer":"^25.10.0","playwright-core":"^1.63.0"},"peerDependencies":{"puppeteer":"^25.10.0","playwright-core":">=1.40"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"playwright-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/browser-adaptor_0.4.1_1789676667451_0.8269973647296387","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"_id":"@a11y-pulse/browser-adaptor@0.5.0","bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"dist":{"shasum":"fd79ea27ef8a40d06cb389c548a88864df8b86ee","tarball":"https://registry.npmjs.org/@a11y-pulse/browser-adaptor/-/browser-adaptor-0.5.0.tgz","fileCount":22,"integrity":"sha512-H5G7jJeJKOa4SP8wl7Y8INHdJC1DHCUt4ChJ6rv+MSIFHOhXPYMVs/VYkBfJ6mgaTDtqCa6CC2pk6I6ov508WA==","signatures":[{"sig":"MEYCIQCAeFW+XSVVbt/DbFqUVw/mV38zyXN9Sx52X7rMS8IyTwIhAJ8hetTvKybugNqgsQun5oyAQy2zXcqAXIb8sllDFGyW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFhg1MsDcCo0r6cLrux4hpOEvSG4ZoNDh78tok/4QgYCAiAKmnPLX3yDcN8ra7t2Fbd5wvOKMi5qXV6a0KkfipKmsw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a11y-pulse%2fbrowser-adaptor@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61896},"name":"@a11y-pulse/browser-adaptor","type":"module","author":{"name":"A11y Pulse"},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","source":"./src/index.ts"},"./dom":{"types":"./dist/dom.d.ts","import":"./dist/dom.js","source":"./src/dom.ts"},"./puppeteer":{"types":"./dist/adaptors/puppeteer.d.ts","import":"./dist/adaptors/puppeteer.js","source":"./src/adaptors/puppeteer.ts"},"./playwright":{"types":"./dist/adaptors/playwright.d.ts","import":"./dist/adaptors/playwright.js","source":"./src/adaptors/playwright.ts"}},"gitHead":"1ccad438ba3be29ac3e53fceed9ebf9a35097ec5","license":"MIT","scripts":{"lint":"biome check","test":"npm run typecheck && npm run test:unit","build":"tsup && tsc -p tsconfig.build.json","lint:fix":"biome check --fix","test:unit":"vitest run","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"version":"0.5.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:700982a0-4424-496c-a6b7-19ec3dec65c8"}},"homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","keywords":["accessibility","a11y","puppeteer","playwright","browser-adaptor","audit"],"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"_npmVersion":"12.0.2","description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","directories":{},"maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"happy-dom":"^20.14.5","puppeteer":"^25.11.0","playwright-core":"^1.63.0"},"peerDependencies":{"puppeteer":"^25.11.0","playwright-core":">=1.40"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"playwright-core":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browser-adaptor_0.5.0_1789699001976_0.34573351578378375"}}},"time":{"created":"2026-08-20T05:44:22.030Z","modified":"2026-09-18T02:36:42.451Z","0.0.0":"2026-08-20T05:44:22.368Z","0.1.0":"2026-08-20T07:59:10.103Z","0.2.0":"2026-08-24T06:48:49.460Z","0.2.1":"2026-09-07T00:58:44.109Z","0.2.2":"2026-09-08T02:33:56.196Z","0.3.0":"2026-09-11T10:20:48.954Z","0.4.0":"2026-09-13T07:58:36.184Z","0.4.1":"2026-09-17T20:24:27.550Z","0.5.0":"2026-09-18T02:36:42.060Z"},"bugs":{"url":"https://github.com/A11y-Pulse/audits/issues"},"author":{"name":"A11y Pulse"},"license":"MIT","homepage":"https://github.com/A11y-Pulse/audits/tree/main/packages/browser-adaptor#readme","keywords":["accessibility","a11y","puppeteer","playwright","browser-adaptor","audit"],"repository":{"url":"git+https://github.com/A11y-Pulse/audits.git","type":"git","directory":"packages/browser-adaptor"},"description":"Shared browser adaptor primitives and DOM helpers for A11y Pulse accessibility audits.","maintainers":[{"name":"wildlyinaccurate","email":"joseph@wildlyinaccurate.com"}],"readme":"# @a11y-pulse/browser-adaptor\n\n[![npm version](https://img.shields.io/npm/v/@a11y-pulse/browser-adaptor)](https://www.npmjs.com/package/@a11y-pulse/browser-adaptor)\n[![CI](https://github.com/A11y-Pulse/audits/actions/workflows/ci.yml/badge.svg)](https://github.com/A11y-Pulse/audits/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green)](./LICENSE.md)\n\nShared browser adaptor primitives and DOM helpers used by [A11y Pulse](https://www.a11ypulse.com/) accessibility audits. Audit packages drive a page through a `BrowserAdaptor` without depending on a specific automation library. This package also exports `getSelector` and `truncateHtml` for building result metadata.\n\nReleased under the [MIT License](#license).\n\n## Install\n\n```bash\nnpm install @a11y-pulse/browser-adaptor\n```\n\n`puppeteer` and `playwright-core` are optional peer dependencies. Each is only required if you use the matching bundled adaptor ([Puppeteer](#puppeteer-adaptor), [Playwright](#playwright-adaptor)).\n\n## Exports\n\n| Entry | Contents |\n| --- | --- |\n| `@a11y-pulse/browser-adaptor` | `BrowserAdaptor`, `ElementRef`, `Rect` |\n| `@a11y-pulse/browser-adaptor/puppeteer` | `PuppeteerAdaptor` |\n| `@a11y-pulse/browser-adaptor/playwright` | `PlaywrightAdaptor` |\n| `@a11y-pulse/browser-adaptor/dom` | `getSelector`, `truncateHtml` |\n\n## Quickstart\n\n```js\nimport { PuppeteerAdaptor } from \"@a11y-pulse/browser-adaptor/puppeteer\";\nimport puppeteer from \"puppeteer\";\n\nconst browser = await puppeteer.launch();\nconst page = await browser.newPage();\nawait page.goto(\"https://example.com/\");\n\nconst adaptor = new PuppeteerAdaptor(page);\nawait adaptor.ensureFocusReporting();\nawait adaptor.pressTab();\n\nawait browser.close();\n```\n\n## BrowserAdaptor\n\nImplement this interface against your automation library's page or session object:\n\n```ts\ninterface BrowserAdaptor {\n  evaluate<T>(fn: (...args: any[]) => T | Promise<T>, ...args: unknown[]): Promise<T>;\n  evaluateHandle(fn: () => Element | null): Promise<ElementRef>;\n  disposeRef(ref: ElementRef): Promise<void>;\n  pressTab(): Promise<void>;\n  pressEnter(): Promise<void>;\n  screenshotClip(clip: Rect, scale?: number): Promise<Uint8Array>;\n  readonly screenshotClipScale?: number;\n  ensureFocusReporting(): Promise<void>; // must not throw\n}\n```\n\nConsumers may ignore methods they do not need. `ensureFocusReporting` is best-effort and must not throw.\n\n## Puppeteer adaptor\n\n`PuppeteerAdaptor` wraps a Puppeteer `Page`. Its CDP session is cached per page, so reusing a page across audit runs does not open extra sessions.\n\nClipped screenshots go over that CDP session with `captureBeyondViewport` off, so only what is inside the current viewport is captured. Chromium honours `captureBeyondViewport` by shrinking the emulated viewport to 1x1 and resizing it for the clip before restoring it, and the page sees each of those as a real resize: `resize` fires and media queries flip to their narrowest breakpoint, which can collapse a responsive layout and blur the focused element mid-capture. The tab-driven audits scroll each element into view before capturing. Pass `captureBeyondViewport: true` only for evidence of regions you cannot scroll to, where the page's state does not matter:\n\n```js\nnew PuppeteerAdaptor(page, { captureBeyondViewport: true });\n```\n\n## Playwright adaptor\n\n`PlaywrightAdaptor` wraps a Playwright `Page`, and works with either `playwright` or `playwright-core`.\n\n```js\nimport { PlaywrightAdaptor } from \"@a11y-pulse/browser-adaptor/playwright\";\nimport { chromium } from \"playwright\";\n\nconst browser = await chromium.launch();\nconst page = await browser.newPage({ deviceScaleFactor: 2 });\nawait page.goto(\"https://example.com/\");\n\nconst adaptor = new PlaywrightAdaptor(page);\nawait adaptor.ensureFocusReporting();\nawait adaptor.pressTab();\n\nawait browser.close();\n```\n\nTwo differences from the Puppeteer adaptor are worth knowing about.\n\n**`evaluate` needs `unsafe-eval`.** Playwright's `evaluate` takes a single argument, so the adaptor packs the page function's source and its arguments into one tuple and rebuilds the function in the page with `new Function`. A page whose Content-Security-Policy omits `unsafe-eval` from `script-src` will reject that; the adaptor throws a message naming CSP as the cause rather than letting it read as a page failure. Puppeteer is unaffected, because CDP serialises the function itself.\n\n**Screenshot scale depends on the engine.** On Chromium the adaptor screenshots over CDP, which honours `screenshotClipScale` per capture, so evidence images match Puppeteer's; it takes the same `captureBeyondViewport` option, off by default for the same reason. Firefox and WebKit expose no CDP, so the adaptor falls back to a full-page capture at the context's own `deviceScaleFactor`, which those engines take without resizing the viewport. There, create the context with a `deviceScaleFactor` matching `screenshotClipScale` (2 by default), or pass the scale you want:\n\n```js\nnew PlaywrightAdaptor(page, { screenshotClipScale: 1 });\n```\n\n## DOM helpers\n\n```js\nimport { getSelector, truncateHtml } from \"@a11y-pulse/browser-adaptor/dom\";\n```\n\n`getSelector` builds a compact selector for an element (intended to run in page context). `truncateHtml` shortens an element's opening tag for display in results.\n\n## License\n\n[MIT](./LICENSE.md). Use it however you like, including in commercial and competing products.\n\nThe audit packages in this repository are licensed separately, under the\n[PolyForm Shield License 1.0.0](../../LICENSE.md).\n","readmeFilename":"README.md"}