{"_id":"@a11y-oracle/axe-bridge","_rev":"10-a1e56036772b7e7b93d0310e097c126b","name":"@a11y-oracle/axe-bridge","dist-tags":{"latest":"1.3.2"},"versions":{"1.0.0":{"name":"@a11y-oracle/axe-bridge","version":"1.0.0","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.0.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"010e09ecf1f26be87233c6294dd0bb35f4c0c5ef","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.0.0.tgz","fileCount":47,"integrity":"sha512-7qmxC0bl17uxuwZbQyy2nIrJrEesohQseqFfUAPrz21H65303GSBj0BfqMTMH7z9a/RavTl0kAN+rFuTAbNDFA==","signatures":[{"sig":"MEQCICSEWqEAX6yEl6O4n2Qz1GWpvPn+Q0s8mWQTxDn3NdaDAiAqoZLUVwnaeEmYNTcVkcbuKYyH1E7UYKmJh2Fe3o+U7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115237},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"04ad8c1a2a9a6335892d5c992fcfa209e6a7bb6f","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.0.0","@a11y-oracle/visual-engine":"1.0.0","@a11y-oracle/focus-analyzer":"1.0.0","@a11y-oracle/keyboard-engine":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.0.0_1772652309358_0.3901723390386349","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@a11y-oracle/axe-bridge","version":"1.1.0","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.1.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"da7bfeef8c00596ccd4c7e3d663709852c514fac","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.1.0.tgz","fileCount":47,"integrity":"sha512-yfzE5nNps0w57KJmJmA/VWA8xSEkjJ37CSkOmRil64KxqJ9Ub6VVHpAab9CI/eaGrOf+95rhqQ38gv9JE8MNAQ==","signatures":[{"sig":"MEUCIQC4OgSSbkYpJz4IebfxLypeKXxLGSs3gmn60ke0cgU31wIgH/dmcnN6lMjU2cmUB3eLXFwCPhX76SNoyYfbswtWigE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116566},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"47a95777878b177bbe3fc88cb760a2b295296555","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.1.0","@a11y-oracle/visual-engine":"1.1.0","@a11y-oracle/focus-analyzer":"1.1.0","@a11y-oracle/keyboard-engine":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.1.0_1772686080204_0.8720469689114367","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@a11y-oracle/axe-bridge","version":"1.1.1","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.1.1","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"09e09b749ef985ff2e2802e3f45955bbea838052","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.1.1.tgz","fileCount":47,"integrity":"sha512-2lYlO1lrLyBOqDAL/1KSOJtyFNEeKmlWPvFDMY9am/8Qy5rSbB5Yu2iOwkoh2BQUn4Elm8B/UrG5Ethu8//ThQ==","signatures":[{"sig":"MEUCIQCDbcK3yazRKlVUR0s+VJmJHrvQLo8Lehl06z70dUP5aAIgWkAEOfMB5LLgY4H9j6Q4iFgYj1gkfS+V8lBH8GvjbM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116808},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"555a54f42e89930cf78efd3b4d47055f8a9ca62e","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.1.1","@a11y-oracle/visual-engine":"1.1.1","@a11y-oracle/focus-analyzer":"1.1.1","@a11y-oracle/keyboard-engine":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.1.1_1772690064064_0.8419369483285273","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@a11y-oracle/axe-bridge","version":"1.1.2","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.1.2","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"1fa9bd2b2503b1ff1715bb6d26280fe5b0180ead","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.1.2.tgz","fileCount":47,"integrity":"sha512-B93FKLxVExN1fjWMB8YeWHFmRXpkf9CPx/C2/lpaUQgmQOn6yIviJUE/Px50HJdnqAG5xC5UDv7lEIJdbUU0pw==","signatures":[{"sig":"MEQCIDqQEGLEDnWZJgf+NWp6K4T5kSVUimOBF85QWEF4OusQAiBZdoL+POS/HGIhBrru5FKIDvVmuQh22LPBUIhmeARMLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116808},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"0e3e6b7fb933fe4ec494e85abe5c056eff06eaef","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.1.2","@a11y-oracle/visual-engine":"1.1.2","@a11y-oracle/focus-analyzer":"1.1.2","@a11y-oracle/keyboard-engine":"1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.1.2_1772725938232_0.19722384088739564","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@a11y-oracle/axe-bridge","version":"1.1.3","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.1.3","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"15bb0a24aa4ea4a1f71b51d473784f3fe4a11d45","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.1.3.tgz","fileCount":47,"integrity":"sha512-VyJTXtTkasqZFVLWao2VkQREABzyRFhLVbYyaNZyFC7Ek8R4WMsJJb+bsuWs5TUvM6A60tyD5BK/O7FCMJSNCA==","signatures":[{"sig":"MEYCIQD2XTjKEho/9/yr8C+owi+EGwqfms3OjdSLXsqZOqIuxQIhAL8YxT7CyVwL/kUYpOJznJ/bMY+SAdgMU3sHddkFeBb6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116808},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"3fb17cb54b310cb99259d6b25de170f2a09c22f9","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.1.3","@a11y-oracle/visual-engine":"1.1.3","@a11y-oracle/focus-analyzer":"1.1.3","@a11y-oracle/keyboard-engine":"1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.1.3_1772729086363_0.15772339161735638","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@a11y-oracle/axe-bridge","version":"1.1.4","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.1.4","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"866962e8db01db3dd4f9105230ca34c8554a428e","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.1.4.tgz","fileCount":47,"integrity":"sha512-BT5HcMgqKebSiz2t2tL2np29YNqcZpHmXlHLuurVgEh0+PA8APMcRAoPLOwCQUWUENTvZwT6g6Gw9tQneVFOGQ==","signatures":[{"sig":"MEUCIQDg8/8OgxvfTXcYemapd6vwhpUW8K8uJqQRbKXwnTJYmgIgDp9/ghBbfDL4hI3r3jxAQ2eRhyw3a6APdUMgf6jO5vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"2e2f62c8fd8a54c1bb0f9b709647ff4fe8557c27","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.1.4","@a11y-oracle/visual-engine":"1.1.4","@a11y-oracle/focus-analyzer":"1.1.4","@a11y-oracle/keyboard-engine":"1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.1.4_1772745612746_0.1186838908801815","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@a11y-oracle/axe-bridge","version":"1.2.0","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.2.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"6f740ad174fe65e668e6d95d39d1a40c441000c6","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.2.0.tgz","fileCount":47,"integrity":"sha512-zSj5v4z9R3KWDpCNDY+1/mcqaJMHeaCMOeWgGUVF/34LDgVAVlWG9W4tAO3gpy3yzCTv/KI0NzGu2YfJ7fJ/pw==","signatures":[{"sig":"MEYCIQCSBRKS31jv6nUE6PVNJj80cLQ7v3CbqZYo5RPICQ9j4AIhAJdoAupJF35yMNDJ9976Cgv4tM05urtQWQiivPHowb3C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118908},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"43adb7fc2be7245cbb136e07b24200d68cba1744","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.2.0","@a11y-oracle/visual-engine":"1.2.0","@a11y-oracle/focus-analyzer":"1.2.0","@a11y-oracle/keyboard-engine":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.2.0_1772753725269_0.26019155075373246","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@a11y-oracle/axe-bridge","version":"1.3.0","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.3.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"1618b87dd37898f94418e4c254e5f9185a6e123c","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.3.0.tgz","fileCount":47,"integrity":"sha512-O3LXdiAkiGFhYW5fJLf1AucZZuX9prHWkf/wG9rRLUVnqgzKSV8AfOf8skvF7rozxRLPOU/85X75ukrZvmRb9A==","signatures":[{"sig":"MEUCIG51aU5dZMt3WlW/RaNZgzp3eFbaVk+popzQ8kaB6JLlAiEAzg6zkIHZfi9CbnmFx0xly8dhL+t7U4eG5mJqbnbF3ck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118908},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"4295fc44cee8a657989d667355836590231cf754","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.3.0","@a11y-oracle/visual-engine":"1.3.0","@a11y-oracle/focus-analyzer":"1.3.0","@a11y-oracle/keyboard-engine":"1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.3.0_1772769828089_0.8579127884561666","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@a11y-oracle/axe-bridge","version":"1.3.1","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/axe-bridge@1.3.1","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"8a54f4c79c465456ae993cfb27658a42350d6bbb","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.3.1.tgz","fileCount":47,"integrity":"sha512-pqO9YAOMyjf29u0uFcL+goYiBMtY2ko//Bbl4Xi1bsvkv+hvgb7qoa+NtL+EBnTYvDN3oavQT+7U1RMnWv+sxg==","signatures":[{"sig":"MEQCIESkZAVL3csyadVJEBdBQNxiOBfxZv/tTbf9OSTheB+TAiBL0L6IlYk4Sf9ZVigCXzKRsh5zpm3V2isu+yWcU7Ua+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118908},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"1cdf8cb41af6392ea299d37eed4bf536788a802f","_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"repository":{"url":"git+https://github.com/a11y-oracle/a11y-oracle.git","type":"git","directory":"libs/axe-bridge"},"_npmVersion":"11.6.0","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/cdp-types":"1.3.1","@a11y-oracle/visual-engine":"1.3.1","@a11y-oracle/focus-analyzer":"1.3.1","@a11y-oracle/keyboard-engine":"1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/axe-bridge_1.3.1_1773187241135_0.4750999174383348","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@a11y-oracle/axe-bridge","version":"1.3.2","description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","license":"MIT","author":{"name":"a11y-oracle"},"repository":{"type":"git","url":"git+https://github.com/a11y-oracle/a11y-oracle.git","directory":"libs/axe-bridge"},"bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"dependencies":{"@a11y-oracle/cdp-types":"1.3.2","@a11y-oracle/focus-analyzer":"1.3.2","@a11y-oracle/keyboard-engine":"1.3.2","@a11y-oracle/visual-engine":"1.3.2","tslib":"^2.3.0"},"_id":"@a11y-oracle/axe-bridge@1.3.2","gitHead":"58b2a6611a5150328c96c3d8695e0b14bc5d2d27","_nodeVersion":"24.10.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-0XQzAUoxLqQlVLpJFY3KGudOvkEqYhV8UbhT/VOjHOy7GFAAzvKWumt5Ec9rjkQT0ky7HoiGk7j7c0YW5Bm7UA==","shasum":"0fd208d4a9685b11d4be0665be00dab3ea21628b","tarball":"https://registry.npmjs.org/@a11y-oracle/axe-bridge/-/axe-bridge-1.3.2.tgz","fileCount":47,"unpackedSize":118908,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICewiOYPI+PWiwSYPKTmNV1mc3Ch8nbgBsRDX/hF2RgVAiBdfToubpDqAQtQeX17QVms8N3L0Z8SawhncbIVFbPPgQ=="}]},"_npmUser":{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"},"directories":{},"maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/axe-bridge_1.3.2_1773294442551_0.6587792524975602"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T19:25:09.303Z","modified":"2026-03-12T05:47:22.838Z","1.0.0":"2026-03-04T19:25:09.502Z","1.1.0":"2026-03-05T04:48:00.350Z","1.1.1":"2026-03-05T05:54:24.257Z","1.1.2":"2026-03-05T15:52:18.367Z","1.1.3":"2026-03-05T16:44:46.530Z","1.1.4":"2026-03-05T21:20:12.945Z","1.2.0":"2026-03-05T23:35:25.423Z","1.3.0":"2026-03-06T04:03:48.238Z","1.3.1":"2026-03-11T00:00:41.302Z","1.3.2":"2026-03-12T05:47:22.710Z"},"bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"author":{"name":"a11y-oracle"},"license":"MIT","homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/axe-bridge","keywords":["accessibility","a11y","axe-core","wcag","color-contrast","focus-indicator","target-size","cdp","testing"],"repository":{"type":"git","url":"git+https://github.com/a11y-oracle/a11y-oracle.git","directory":"libs/axe-bridge"},"description":"Axe-core result post-processor that resolves 10 incomplete rules using visual analysis, keyboard interaction, and CDP inspection","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"readme":"# @a11y-oracle/axe-bridge\n\nAxe-core result post-processor that resolves \"incomplete\" (Needs Review) findings using visual analysis, keyboard interaction, and CDP inspection. Drop-in middleware between axe-core's `analyze()` and your assertion layer.\n\n## The Problem\n\naxe-core marks rules as \"incomplete\" when they require state changes, interaction, or spatial awareness that static DOM analysis cannot reliably perform. This creates noise in CI dashboards and requires manual review for rules like color contrast, focus indicators, target sizes, and more.\n\n## The Solution\n\n`resolveAllIncomplete()` takes axe-core results and a live CDP session, then pipes them through 10 specialized resolvers that promote findings from `incomplete` to `passes` or `violations`:\n\n| # | Rule ID | WCAG SC | Technique |\n|---|---------|---------|-----------|\n| 1 | `color-contrast` | 1.4.3 | CSS halo heuristic + pixel-level screenshot analysis |\n| 2 | `identical-links-same-purpose` | 2.4.4 | URL normalization and comparison |\n| 3 | `link-in-text-block` | 1.4.1 | Default-state computed style checks |\n| 4 | `target-size` | 2.5.8 | Bounding box measurements + spacing |\n| 5 | `scrollable-region-focusable` | 2.1.1 | Scroll height + focusable child traversal |\n| 6 | `skip-link` | 2.4.1 | Tab-focus visibility verification |\n| 7 | `aria-hidden-focus` | 4.1.2 | Full keyboard Tab traversal |\n| 8 | `focus-indicator` | 2.4.7 | Before/after screenshot pixel diff |\n| 9 | `content-on-hover` | 1.4.13 | Hover + dismiss interaction tests |\n| 10 | `frame-tested` | N/A | Cross-origin iframe axe-core injection |\n\n## Installation\n\n```bash\nnpm install @a11y-oracle/axe-bridge\n```\n\n## Usage\n\n### Resolve All Incompletes (Recommended)\n\n```typescript\nimport { resolveAllIncomplete } from '@a11y-oracle/axe-bridge';\n\n// After running axe-core while the page is still live:\nconst axeResults = await axe.run(document);\nconst resolved = await resolveAllIncomplete(cdpSession, axeResults);\n\n// resolved.incomplete will have fewer (or zero) entries\n// resolved.violations and resolved.passes will have the promoted entries\n```\n\n### With Options\n\n```typescript\nconst resolved = await resolveAllIncomplete(cdpSession, axeResults, {\n  wcagLevel: 'wcag22aa',\n  contrast: {\n    threshold: 4.5,              // normal text contrast ratio\n    largeTextThreshold: 3.0,     // large text contrast ratio\n    supermajorityPassRatio: 0.75, // auto-pass split decisions when 75%+ pixels pass\n    bestCaseMultiplier: 2.0,     // auto-pass when best-case CR exceeds 2× threshold\n  },\n  focusIndicator: { focusSettleDelay: 150, diffThreshold: 0.2 },\n  skipRules: ['frame-tested'], // skip specific resolvers\n});\n```\n\n### Individual Resolvers\n\nEach resolver can be used standalone:\n\n```typescript\nimport { resolveIncompleteContrast } from '@a11y-oracle/axe-bridge';\n\nconst resolved = await resolveIncompleteContrast(cdpSession, axeResults, {\n  wcagLevel: 'wcag22aa',\n});\n```\n\n### With Playwright\n\n```typescript\nimport { test, expect } from '@playwright/test';\nimport { resolveAllIncomplete } from '@a11y-oracle/axe-bridge';\n\ntest('no unresolved accessibility issues', async ({ page }) => {\n  await page.goto('/my-page.html');\n  const cdp = await page.context().newCDPSession(page);\n\n  const axeResults = await axe.run(document);\n  const resolved = await resolveAllIncomplete(cdp, axeResults);\n\n  expect(resolved.violations).toHaveLength(0);\n  expect(resolved.incomplete).toHaveLength(0);\n\n  await cdp.detach();\n});\n```\n\n### With Cypress\n\n```typescript\n// Using Cypress.automation for CDP access:\ncy.window().then(async (win) => {\n  const axeResults = await axeCore.run(win.document);\n\n  // cdpSession obtained via Cypress.automation('remote:debugger:protocol', ...)\n  const resolved = await resolveAllIncomplete(cdpSession, axeResults);\n\n  expect(resolved.violations).to.have.length(0);\n});\n```\n\n## API Reference\n\n### `resolveAllIncomplete(cdp, axeResults, options?)`\n\nOrchestrator that pipes results through all 10 resolvers in sequence. Each resolver receives the output of the previous one.\n\n- **Parameters:**\n  - `cdp: CDPSessionLike` — CDP session connected to the page\n  - `axeResults: AxeResults` — Raw results from axe-core's `analyze()`\n  - `options?: IncompleteResolutionOptions` — Per-resolver options and `skipRules` filter\n- **Returns:** `Promise<AxeResults>` — Modified copy with resolved findings\n- **Pipeline order:** color-contrast → identical-links-same-purpose → link-in-text-block → target-size → scrollable-region-focusable → skip-link → aria-hidden-focus → focus-indicator → content-on-hover → frame-tested\n\n### Individual Resolvers\n\n#### `resolveIncompleteContrast(cdp, axeResults, options?)`\n\nResolves `color-contrast` incomplete entries using CSS halo heuristics and pixel-level screenshot analysis. Resolved nodes (both passes and violations) are enriched with contrast data in the axe check's `data` field, including `contrastRatio`, `expectedRatio`, `fgColor`, `bgColorLightest`, `bgColorDarkest`, and `algorithm` (`'visual-pixel'` or `'visual-halo'`).\n\n- **Options:** `ContrastResolutionOptions`:\n  - `wcagLevel` — WCAG conformance level (default: `'wcag22aa'`). Thresholds are derived automatically (AA → 4.5/3.0). Level A has no contrast SC so the resolver is skipped.\n  - `threshold` — Override minimum contrast ratio for normal text (overrides `wcagLevel`)\n  - `largeTextThreshold` — Override minimum contrast ratio for large text (overrides `wcagLevel`)\n  - `supermajorityPassRatio` — During a split decision (one extreme passes, one fails), auto-pass if at least this fraction of pixels pass (default: `0.75`)\n  - `bestCaseMultiplier` — During a split decision, auto-pass if the best-case contrast ratio exceeds the threshold multiplied by this value (default: `2.0`)\n- Automatically detects large text from axe-core's check data (>= 24px or bold >= 18.66px)\n\n#### `resolveIdenticalLinksSamePurpose(cdp, axeResults)`\n\nResolves `identical-links-same-purpose` by normalizing URLs (stripping query params, hashes, resolving relative paths) and comparing destinations.\n\n- Same destination → **Pass**, different → **Violation**\n\n#### `resolveLinkInTextBlock(cdp, axeResults, options?)`\n\nResolves `link-in-text-block` by checking the **default/resting state** for non-color visual indicators.\n\n- **Options:** `LinkInTextBlockOptions` — `linkTextContrastThreshold` (default: 3.0)\n- Checks: `text-decoration: underline`, `border-bottom > 0`, `font-weight` difference from parent\n- If no non-color indicator: compares link vs surrounding text color contrast\n\n#### `resolveTargetSize(cdp, axeResults, options?)`\n\nResolves `target-size` by measuring bounding boxes and center-to-center spacing.\n\n- **Options:** `TargetSizeOptions` — `minSize` (default: 24)\n- Width/height >= 24px → **Pass**; undersized with 24px+ spacing → **Pass**; otherwise → **Violation**\n\n#### `resolveScrollableRegionFocusable(cdp, axeResults, options?)`\n\nResolves `scrollable-region-focusable` by checking scroll height, tabindex, and focusable children.\n\n- **Options:** `ScrollableRegionOptions` — `maxChildren` (default: 50)\n- Not actually scrollable → **Pass**; has `tabindex >= 0` → **Pass**; focusable children scroll to content → **Pass**\n\n#### `resolveSkipLink(cdp, axeResults, options?)`\n\nResolves `skip-link` by focusing the skip link and verifying it becomes visible.\n\n- **Options:** `SkipLinkOptions` — `focusSettleDelay` (default: 100)\n- Checks bounding box, viewport containment, opacity, clip, position\n\n#### `resolveAriaHiddenFocus(cdp, axeResults, options?)`\n\nResolves `aria-hidden-focus` via a single keyboard Tab traversal across all flagged nodes.\n\n- **Options:** `AriaHiddenFocusOptions` — `maxTabs` (default: 100)\n- Tab lands on flagged element → **Violation**; traversal completes without landing → **Pass**\n\n#### `resolveFocusIndicator(cdp, axeResults, options?)`\n\nResolves `focus-indicator` by pixel-diffing before/after focus screenshots. Elements are scrolled into the viewport before capture, ensuring off-screen elements produce valid screenshots. Enables focus emulation via `Emulation.setFocusEmulationEnabled` so focus indicators render even in headless browsers or Cypress AUT iframes.\n\n- **Options:** `FocusIndicatorOptions` — `focusSettleDelay` (default: 100), `diffThreshold` (default: 0.1%)\n- Screenshots are identical → **Violation**; pixels changed → **Pass**\n\n#### `resolveContentOnHover(cdp, axeResults, options?)`\n\nResolves `content-on-hover` with hover and dismiss interaction tests.\n\n- **Options:** `ContentOnHoverOptions` — `hoverDelay` (default: 300), `dismissDelay` (default: 200)\n- Tests: content appears on hover, remains when mouse moves to content (hoverable), disappears on Escape (dismissible)\n\n#### `resolveFrameTested(cdp, axeResults, options?)`\n\nResolves `frame-tested` by injecting axe-core into cross-origin iframes via CDP.\n\n- **Options:** `FrameTestedOptions` — `axeSource` (complete axe-core script), `iframeTimeout` (default: 30000)\n- Uses `Page.createIsolatedWorld` to bypass same-origin restrictions\n\n### Pipeline Utilities\n\nShared helpers used by all resolvers:\n\n```typescript\nimport {\n  getSelector,        // Extract innermost CSS selector from axe node target\n  cloneResults,       // Deep-clone AxeResults without mutation\n  ruleShell,          // Create a rule shell (metadata only, no nodes)\n  findIncompleteRule,  // Find a rule by ID in the incomplete array\n  applyPromotions,    // Move nodes between incomplete/passes/violations\n} from '@a11y-oracle/axe-bridge';\n```\n\n### Types\n\n```typescript\nimport type {\n  // Axe-core compatible types\n  AxeResults,\n  AxeRule,\n  AxeNode,\n  AxeCheck,\n\n  // WCAG level\n  WcagLevel,\n  ContrastThresholds,\n\n  // Per-resolver options\n  ContrastResolutionOptions,\n  LinkInTextBlockOptions,\n  TargetSizeOptions,\n  ScrollableRegionOptions,\n  SkipLinkOptions,\n  AriaHiddenFocusOptions,\n  FocusIndicatorOptions,\n  ContentOnHoverOptions,\n  FrameTestedOptions,\n\n  // Orchestrator options\n  IncompleteResolutionOptions,\n\n  // Pipeline utility types\n  PromotionResult,\n} from '@a11y-oracle/axe-bridge';\n```\n\n> **Note:** Axe-core types are locally defined for structural compatibility without requiring axe-core as a runtime dependency.\n\n## How It Works\n\nEach resolver follows a common pipeline pattern:\n\n1. **Clone** — Deep-clone the input results (original is never mutated)\n2. **Find** — Locate the target rule in the `incomplete` array\n3. **Analyze** — For each flagged node, run the resolver's specific technique (CDP queries, screenshots, keyboard traversal, etc.)\n4. **Promote** — Move resolved nodes to `passes` or `violations`; unresolved nodes stay in `incomplete`\n\nThe `resolveAllIncomplete` orchestrator chains all resolvers in sequence, so findings accumulate through the pipeline.\n\n## Dependencies\n\n- **`@a11y-oracle/visual-engine`** — Visual analysis engine (halo detection, pixel analysis, PNG decoding, CDP capture)\n- **`@a11y-oracle/focus-analyzer`** — Color parsing and contrast ratio computation\n- **`@a11y-oracle/keyboard-engine`** — Native CDP keyboard dispatch for skip-link, aria-hidden-focus, and content-on-hover\n- **`@a11y-oracle/cdp-types`** — `CDPSessionLike` interface for framework-agnostic CDP access\n","readmeFilename":"README.md"}