{"_id":"@a11y-oracle/audit-formatter","_rev":"10-86794bae80db8f8804fa895c49457d42","name":"@a11y-oracle/audit-formatter","dist-tags":{"latest":"1.3.2"},"versions":{"1.0.0":{"name":"@a11y-oracle/audit-formatter","version":"1.0.0","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.0.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"8d3881b094c2784a5f990a08349f5b24941c92a5","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.0.0.tgz","fileCount":20,"integrity":"sha512-ppIfAkIsSGWv70dYcSj0dxSScRn5cmIqFBPN7q5gzNSnjIT4VtTUnv5D2htd70XZnmkrMXa3eqVJ2rNs2BXv4g==","signatures":[{"sig":"MEYCIQCUfx54pHRjhawyS+C49LY131DA+2G86ZEoWcVZ9rl8+gIhAKPIM48Ew4sFaOD7jgvaOvqg72l8GVaul5Tz5NaTSxCf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.0.0","@a11y-oracle/focus-analyzer":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.0.0_1772652309699_0.9291677266707026","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@a11y-oracle/audit-formatter","version":"1.1.0","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.1.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"92b8c076a85d01e440e05b3060a07827553f61b5","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.1.0.tgz","fileCount":20,"integrity":"sha512-oWBwvJHBb7ST1IA9h5ssxqD4ogJ9QyfAQ+i9XQWR3INpPwoYLz4o8Z5uz9RD8MjgV+n0TKlfqNgJOjSz5w3ubA==","signatures":[{"sig":"MEUCIC4kKKc92maLQ3TZRNaJM2ooCcXVxnoCuDumFGVmDA5iAiEA0s+84f+LM0B3pUKrZgJhkBirkEsjTCKmfYu+n4o55pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.1.0","@a11y-oracle/focus-analyzer":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.1.0_1772686080919_0.7995899076498598","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@a11y-oracle/audit-formatter","version":"1.1.1","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.1.1","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"4dd8dd7e589c5e09fe57d9331221e4ebb584f161","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.1.1.tgz","fileCount":20,"integrity":"sha512-tesl4U7nS/39TfPhVcuImscCTXOAiRdeq0OPpfTWIrCCQ3+pGvno674bpZR/FVIxjRevi62Sj5APS4VdRd2Y4Q==","signatures":[{"sig":"MEYCIQDqnamQ1M/iFLePWtj8jd9aspECVgBxe/fxljnCskrAPgIhAPtvA9MXKWvqfbS04LuEjuDw3HwJ7/4cMtzwMcwCkySy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.1.1","@a11y-oracle/focus-analyzer":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.1.1_1772690064396_0.6853792679074373","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@a11y-oracle/audit-formatter","version":"1.1.2","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.1.2","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"7510f8c043fa7f67934f0e8ee140f314ba1c6088","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.1.2.tgz","fileCount":20,"integrity":"sha512-7jH7ir3rusK5eFzKjs0NYz5oqsgDylkr3j9MAZiBrW/EKPyWsYNbwb477mokRXp8aHpsGiMnaoSWB4HQV3zmcw==","signatures":[{"sig":"MEUCIQD+hCwRrFgCrjzqNygQcRseVjAu5NEu1YXyqAxHVByDhQIgTOAivHDws34Yw7FnM4BWuabNm4keAfzBubds77/fB/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.1.2","@a11y-oracle/focus-analyzer":"1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.1.2_1772725937568_0.7433302094836629","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@a11y-oracle/audit-formatter","version":"1.1.3","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.1.3","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"e61a29ca06c82c04454c754f94a002aed7bbb5ac","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.1.3.tgz","fileCount":20,"integrity":"sha512-UTN7fgdtU+eu81VWurAVbEISNdWmnb44RjvgRjJlG6A764+5WOLCnrlW5SGGuI/so+0qWLijvKLNPt3h+4dBVA==","signatures":[{"sig":"MEUCIGTgnbRh+IjUvz5IAESdiO558IMK7pU6BTSWeGTvgEkNAiEA1ux088H01+zEVWsy+1QpsGuXUpl3B2aEzzsIK2hS/qE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.1.3","@a11y-oracle/focus-analyzer":"1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.1.3_1772729085882_0.39128274492199266","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@a11y-oracle/audit-formatter","version":"1.1.4","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.1.4","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"cba5c0351a7b41b5c758a33cf6121d0b3e4dc3cb","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.1.4.tgz","fileCount":20,"integrity":"sha512-6nZZFKH1pRPK5zxf9ZBDa5fRqiT9QXHEEVHm71LDO9QprSi3eK75JiByX/RNaZuUbT+tjH5UFhOfh9sd4gWAnA==","signatures":[{"sig":"MEQCIFmf5bLZKyUXyorEJ8ZkCK3vTxK0eCa/9I4bDNWV7DG4AiBEqBR2cz9Z4BOi/NsagTfFuZh0cJerDKJQ8ujsNzqP4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.1.4","@a11y-oracle/focus-analyzer":"1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.1.4_1772745612686_0.16682355807585636","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@a11y-oracle/audit-formatter","version":"1.2.0","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.2.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"8cbce7cb503b942a4f40974be588575456ff3659","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.2.0.tgz","fileCount":20,"integrity":"sha512-4gU1Zll398VA3Z3b8j57KVtLp641J+YRRfWizV0xQ0poeVNVbyRHs+xiiPRCFWh2ulVWbcYy+VyBOj/sorTd7g==","signatures":[{"sig":"MEUCIQC0Esdprt1EmsEB3ydJDYwIB2Z/8cjVvxVAHlHdXTl1AwIgeQe/wNhc28+wLYw0S/Rpc6cPcgl6O4Jia5H6FB+WHTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.2.0","@a11y-oracle/focus-analyzer":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.2.0_1772753724940_0.9116831680729174","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@a11y-oracle/audit-formatter","version":"1.3.0","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.3.0","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"f38725edf047146f069eb4018e6fb18c84f0e710","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.3.0.tgz","fileCount":20,"integrity":"sha512-MTkfFRjRN+3te+/AttHXmb+lsfIFqdNj2A6V6V0jg7dUIsBhv6PYGnxbJqKyyaxdbhZ22R9cplkm6TtUHHkCuQ==","signatures":[{"sig":"MEQCICcoPKfybFo1zdpq3DI04JJnQgU1eNq1fFhPHw1zujdLAiAfhm05cUm7mRf9J/HIo0hJcn/S9TTnv3XXHUPC+BnZtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.3.0","@a11y-oracle/focus-analyzer":"1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.3.0_1772769827737_0.31941856426242343","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@a11y-oracle/audit-formatter","version":"1.3.1","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"author":{"name":"a11y-oracle"},"license":"MIT","_id":"@a11y-oracle/audit-formatter@1.3.1","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"dist":{"shasum":"d38c1ec38528677073fb347ac8758490f8eb97fc","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.3.1.tgz","fileCount":20,"integrity":"sha512-OCk/1Scj2Lw9Fx0bsaln9miZiqBqqNQ6xiFX+k9bK7i2zb5WTGrA1OZt7TS7Vsbp8m60yIe6i+AgxKnSTstBBA==","signatures":[{"sig":"MEUCIQDnJxlB9IydE5ewATqghkKdkiGpDHmK3cdZhqhzBFEvGgIgCTrk3jFRtWb+xoD2RI4hNu7RQDydzOH4A/fDsUuupfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58270},"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/audit-formatter"},"_npmVersion":"11.6.0","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","directories":{},"_nodeVersion":"24.10.0","dependencies":{"tslib":"^2.3.0","@a11y-oracle/core-engine":"1.3.1","@a11y-oracle/focus-analyzer":"1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/audit-formatter_1.3.1_1773187241596_0.9359853531326876","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@a11y-oracle/audit-formatter","version":"1.3.2","description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","license":"MIT","author":{"name":"a11y-oracle"},"repository":{"type":"git","url":"git+https://github.com/a11y-oracle/a11y-oracle.git","directory":"libs/audit-formatter"},"bugs":{"url":"https://github.com/a11y-oracle/a11y-oracle/issues"},"homepage":"https://github.com/a11y-oracle/a11y-oracle/tree/main/libs/audit-formatter","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"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/core-engine":"1.3.2","@a11y-oracle/focus-analyzer":"1.3.2","tslib":"^2.3.0"},"_id":"@a11y-oracle/audit-formatter@1.3.2","gitHead":"58b2a6611a5150328c96c3d8695e0b14bc5d2d27","_nodeVersion":"24.10.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-cFJZ6QUwsEeknijC3fcfcvi6TbDpxonZIbr+lf0XFSTCcvsmbeQFDSD19rSXTj1ZNQHBdSX/slG6PhSPMPXfGw==","shasum":"ea6278f3011ed7f9db78cf22b8044f8fbd4c7f20","tarball":"https://registry.npmjs.org/@a11y-oracle/audit-formatter/-/audit-formatter-1.3.2.tgz","fileCount":20,"unpackedSize":58270,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCu6tJwFVlbZRLGCQkPOb+mao124G1GHRlhCvGj/neqxgIgebdVUTeoZaPEoHV3jeJW2aClXvcpBikAO9cMqbIwC94="}]},"_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/audit-formatter_1.3.2_1773294441857_0.5626748611130075"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T19:25:09.589Z","modified":"2026-03-12T05:47:22.106Z","1.0.0":"2026-03-04T19:25:09.849Z","1.1.0":"2026-03-05T04:48:01.080Z","1.1.1":"2026-03-05T05:54:24.541Z","1.1.2":"2026-03-05T15:52:17.716Z","1.1.3":"2026-03-05T16:44:46.037Z","1.1.4":"2026-03-05T21:20:12.822Z","1.2.0":"2026-03-05T23:35:25.096Z","1.3.0":"2026-03-06T04:03:47.887Z","1.3.1":"2026-03-11T00:00:41.843Z","1.3.2":"2026-03-12T05:47:22.012Z"},"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/audit-formatter","keywords":["accessibility","a11y","audit","wcag","axe-core","testing","formatter"],"repository":{"type":"git","url":"git+https://github.com/a11y-oracle/a11y-oracle.git","directory":"libs/audit-formatter"},"description":"Converts accessibility findings to axe-core-compatible OracleIssue objects with WCAG rule metadata","maintainers":[{"name":"pjlamb12","email":"preston.j.lamb@gmail.com"}],"readme":"# @a11y-oracle/audit-formatter\n\nConverts A11y-Oracle findings into axe-core-compatible issue objects (`OracleIssue`). Pure functions with no CDP dependency — works with any `A11yState` or `TraversalResult` regardless of how it was produced.\n\nOutput is differentiated from axe-core findings by `resultType: 'oracle'` and `oracle/`-prefixed rule IDs (e.g., `oracle/focus-not-visible`).\n\n## Installation\n\n```bash\nnpm install @a11y-oracle/audit-formatter\n```\n\n> **Note:** Most users should use the [`@a11y-oracle/playwright-plugin`](../playwright-plugin/README.md) or [`@a11y-oracle/cypress-plugin`](../cypress-plugin/README.md) instead. The audit-formatter is the underlying library that those plugins use. Install it directly if you need to format issues outside a test framework or build a custom integration.\n\n## Usage\n\n### Pure Formatter Functions\n\nThe simplest approach — pass an `A11yState` and get back any issues:\n\n```typescript\nimport { formatFocusIssues, formatTrapIssue } from '@a11y-oracle/audit-formatter';\nimport type { A11yState } from '@a11y-oracle/core-engine';\nimport type { TraversalResult } from '@a11y-oracle/focus-analyzer';\n\nconst context = { project: 'my-app', specName: 'nav.spec.ts' };\n\n// Check a focused element for focus indicator issues\nconst focusIssues = formatFocusIssues(state, context);\n// Returns: [] if passing, or [OracleIssue] if failing\n\n// Check a traversal result for keyboard traps\nconst trapIssues = formatTrapIssue(result, '#modal-container', context);\n// Returns: [] if not trapped, or [OracleIssue] if trapped\n\n// Convenience: run all state-based checks at once\nimport { formatAllIssues } from '@a11y-oracle/audit-formatter';\nconst allIssues = formatAllIssues(state, context);\n```\n\n### OracleAuditor Class\n\nWraps an orchestrator and automatically audits every interaction. Issues accumulate across calls:\n\n```typescript\nimport { test, expect } from '@a11y-oracle/playwright-plugin';\nimport { OracleAuditor } from '@a11y-oracle/audit-formatter';\n\ntest('all focus indicators pass oracle rules', async ({ page, a11y }) => {\n  await page.goto('/my-page.html');\n\n  const auditor = new OracleAuditor(a11y, {\n    project: 'my-app',\n    specName: 'navigation.spec.ts',\n  });\n\n  // Each pressKey() automatically runs all state-based checks\n  await auditor.pressKey('Tab');\n  await auditor.pressKey('Tab');\n  await auditor.pressKey('Tab');\n\n  // Check a container for keyboard traps\n  await auditor.checkTrap('#modal-container');\n\n  // Assert no issues found\n  expect(auditor.issueCount).toBe(0);\n  expect(auditor.getIssues()).toHaveLength(0);\n});\n```\n\nThe `OracleAuditor` accepts any object matching the `OrchestratorLike` interface, which is satisfied by both `A11yOracle` (Playwright) and `A11yOrchestrator` (core engine).\n\n### Selector Utilities\n\nGenerate CSS selectors and HTML snippets from element data:\n\n```typescript\nimport {\n  selectorFromFocusedElement,\n  htmlSnippetFromFocusedElement,\n} from '@a11y-oracle/audit-formatter';\n\nconst selector = selectorFromFocusedElement(state.focusedElement);\n// \"#submit-btn\" or \"button.primary.large\" or \"button\"\n\nconst snippet = htmlSnippetFromFocusedElement(state.focusedElement);\n// '<button id=\"submit-btn\" class=\"primary\">Submit</button>'\n```\n\n## Rules\n\nA11y-Oracle enforces six WCAG rules:\n\n| Rule ID | WCAG Criterion | Since | Level | Tag | Impact | Description |\n|---------|---------------|-------|-------|-----|--------|-------------|\n| `oracle/focus-not-visible` | [2.4.7 Focus Visible](https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html) | 2.0 | AA | `wcag2aa` | `serious` | Focused element has no visible focus indicator |\n| `oracle/focus-low-contrast` | [2.4.12 Focus Appearance](https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance.html) | 2.2 | AA | `wcag22aa` | `moderate` | Focus indicator contrast ratio is below 3:1 |\n| `oracle/keyboard-trap` | [2.1.2 No Keyboard Trap](https://www.w3.org/WAI/WCAG22/Understanding/no-keyboard-trap.html) | 2.0 | A | `wcag2a` | `critical` | Keyboard focus is trapped within a container |\n| `oracle/focus-missing-name` | [4.1.2 Name, Role, Value](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html) | 2.0 | A | `wcag2a` | `serious` | Focused element has no accessible name |\n| `oracle/focus-generic-role` | [4.1.2 Name, Role, Value](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html) | 2.0 | A | `wcag2a` | `serious` | Focused element has a generic or presentational role |\n| `oracle/positive-tabindex` | [2.4.3 Focus Order](https://www.w3.org/WAI/WCAG22/Understanding/focus-order.html) | 2.0 | A | `wcag2a` | `serious` | Element uses a positive tabindex value |\n\n`focus-not-visible` takes priority over `focus-low-contrast` — if no indicator exists, only the visibility rule fires (not both). `focus-generic-role` and `focus-missing-name` are mutually exclusive — generic roles trigger only the role check.\n\nFor detailed remediation guidance on each rule, see the [Remediation Guide](../../docs/REMEDIATION.md).\n\n## API Reference\n\n### Formatter Functions\n\n#### `formatFocusIssues(state, context)`\n\nCheck an `A11yState` for focus indicator issues.\n\n- **Parameters:**\n  - `state: A11yState` — unified accessibility state from `pressKey()` or `getState()`\n  - `context: AuditContext` — `{ project, specName, wcagLevel?, disabledRules? }`\n- **Returns:** `OracleIssue[]` — 0 or 1 issues\n- **Behavior:** Returns `oracle/focus-not-visible` if `isVisible === false`. Returns `oracle/focus-low-contrast` if visible but `meetsWCAG_AA === false`. Returns `[]` if passing or no focused element.\n\n#### `formatTrapIssue(result, containerSelector, context)`\n\nCheck a `TraversalResult` for keyboard traps.\n\n- **Parameters:**\n  - `result: TraversalResult` — result from `traverseSubTree()`\n  - `containerSelector: string` — CSS selector for the container (used in the issue)\n  - `context: AuditContext` — `{ project: string, specName: string }`\n- **Returns:** `OracleIssue[]` — 0 or 1 issues\n\n#### `formatNameIssues(state, context)`\n\nCheck an `A11yState` for missing accessible name issues.\n\n- **Parameters:** Same as `formatFocusIssues`\n- **Returns:** `OracleIssue[]` — 0 or 1 issues\n- **Behavior:** Returns `oracle/focus-missing-name` if the focused element has no computed name. Skips elements with generic/presentational roles (those fire `formatRoleIssues` instead).\n\n#### `formatRoleIssues(state, context)`\n\nCheck an `A11yState` for generic/presentational role issues.\n\n- **Parameters:** Same as `formatFocusIssues`\n- **Returns:** `OracleIssue[]` — 0 or 1 issues\n- **Behavior:** Returns `oracle/focus-generic-role` if the focused element has a `generic`, `none`, or `presentation` role.\n\n#### `formatTabIndexIssues(state, context)`\n\nCheck an `A11yState` for positive tabindex issues.\n\n- **Parameters:** Same as `formatFocusIssues`\n- **Returns:** `OracleIssue[]` — 0 or 1 issues\n- **Behavior:** Returns `oracle/positive-tabindex` if the focused element has `tabIndex > 0`.\n\n#### `formatAllIssues(state, context)`\n\nConvenience wrapper that runs all state-based checks: focus indicator, name, role, and tabindex.\n\n- **Parameters:** Same as `formatFocusIssues`\n- **Returns:** `OracleIssue[]`\n- **Behavior:** Applies `wcagLevel` filtering (default `'aa'`) and `disabledRules` suppression from `context`.\n\n#### `matchesWcagLevel(rule, level)`\n\nCheck if a rule applies at a given WCAG conformance level.\n\n- **Parameters:**\n  - `rule: OracleRule` — rule metadata object\n  - `level: WcagLevel` — `'a'` or `'aa'`\n- **Returns:** `boolean` — `true` if the rule applies at the given level\n- **Behavior:** `'aa'` includes all rules. `'a'` includes only rules tagged with `wcag2a`.\n\n### OracleAuditor\n\n#### `constructor(orchestrator, context)`\n\n- `orchestrator: OrchestratorLike` — any object with `pressKey()`, `getState()`, and `traverseSubTree()` methods\n- `context: AuditContext` — `{ project, specName, wcagLevel?, disabledRules? }`\n\n#### `pressKey(key, modifiers?): Promise<A11yState>`\n\nDispatch a key press and automatically audit the resulting state for all state-based rules.\n\n#### `getState(): Promise<A11yState>`\n\nRead the current state and audit it for all state-based rules.\n\n#### `checkTrap(selector, maxTabs?): Promise<TraversalResult>`\n\nRun keyboard trap detection on a container and audit the result.\n\n#### `getIssues(): ReadonlyArray<OracleIssue>`\n\nReturn a copy of all accumulated issues.\n\n#### `clear(): void`\n\nReset the accumulated issues list.\n\n#### `issueCount: number`\n\nThe number of accumulated issues (getter).\n\n### OrchestratorLike Interface\n\n```typescript\ninterface OrchestratorLike {\n  pressKey(key: string, modifiers?: Record<string, boolean>): Promise<A11yState>;\n  getState(): Promise<A11yState>;\n  traverseSubTree(selector: string, maxTabs?: number): Promise<TraversalResult>;\n}\n```\n\nSatisfied by `A11yOracle` (playwright-plugin) and `A11yOrchestrator` (core-engine).\n\n### Rule Utilities\n\n#### `RULES: Record<string, OracleRule>`\n\nAll defined rule objects keyed by rule ID.\n\n#### `RULE_IDS: string[]`\n\nArray of all rule IDs.\n\n#### `getRule(ruleId): OracleRule`\n\nGet a rule by ID, or throw if unknown.\n\n### Selector Utilities\n\n#### `selectorFromFocusedElement(el): string`\n\nGenerate a CSS selector from an `A11yFocusedElement`. Priority: `#id` > `tag.class1.class2` > `tag`.\n\n#### `selectorFromTabOrderEntry(entry): string`\n\nGenerate a CSS selector from a `TabOrderEntry`. Priority: `#id` > `tag[role=\"...\"]` > `tag`.\n\n#### `htmlSnippetFromFocusedElement(el): string`\n\nGenerate a minimal HTML snippet from an `A11yFocusedElement`.\n\n#### `htmlSnippetFromTabOrderEntry(entry): string`\n\nGenerate a minimal HTML snippet from a `TabOrderEntry`.\n\n## Types\n\n```typescript\nimport type {\n  OracleIssue,         // Main issue object\n  OracleNode,          // Axe-compatible node result\n  OracleCheck,         // Individual check within a node\n  OracleImpact,        // 'minor' | 'moderate' | 'serious' | 'critical'\n  OracleResultType,    // 'violation' | 'incomplete' | 'oracle'\n  OracleRule,          // Rule metadata\n  AuditContext,        // { project, specName, wcagLevel?, disabledRules? }\n  WcagLevel,           // 'wcag2a' | 'wcag2aa' | 'wcag21a' | 'wcag21aa' | 'wcag22a' | 'wcag22aa'\n} from '@a11y-oracle/audit-formatter';\n```\n\n## Exports\n\n```typescript\n// Types\nexport type { OracleIssue, OracleNode, OracleCheck, OracleImpact, OracleResultType, OracleRule, AuditContext, WcagLevel };\n\n// Rule definitions\nexport { RULES, RULE_IDS, getRule, matchesWcagLevel };\n\n// Pure formatter functions\nexport { formatFocusIssues, formatTrapIssue, formatNameIssues, formatRoleIssues, formatTabIndexIssues, formatAllIssues };\n\n// Selector utilities\nexport { selectorFromFocusedElement, selectorFromTabOrderEntry, htmlSnippetFromFocusedElement, htmlSnippetFromTabOrderEntry };\n\n// Convenience class\nexport { OracleAuditor };\nexport type { OrchestratorLike };\n```\n","readmeFilename":"README.md"}