{"_id":"wcag-a11y","_rev":"28-93b0f524520dfaf97fa4862e3c220c1a","name":"wcag-a11y","dist-tags":{"latest":"0.5.14"},"versions":{"0.1.0":{"name":"wcag-a11y","version":"0.1.0","_id":"wcag-a11y@0.1.0","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"52fac6b0831a22213c5db54711c876e6594895f9","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.1.0.tgz","fileCount":25,"integrity":"sha512-CbARzk8wHXNf7DHOBL9/Bwg+RYT1mHK2x2K3u8B0+sf2Vs43XBY7hm2F5eVENJ4MnvOdiDjO9mr3BHG/ikDexQ==","signatures":[{"sig":"MEYCIQCcwQhHBElnfpHfLnLNSqRg6V2QqCz/uU7dHsasOZm9KgIhAOSrZuhxV26LYKe3MxxapPfg/8j2vLmXjjGG/IvytmhA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105625},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"ece88a90aeb7be247e652dbf047f43702cd9ed95","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.1.0_1780074386191_0.8201985168727768","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"wcag-a11y","version":"0.2.0","_id":"wcag-a11y@0.2.0","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"87391e0214f0c69f09593b85de31f10054024d81","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.2.0.tgz","fileCount":27,"integrity":"sha512-4W9DhBsvVTMzLmNxSOEjoA/t1c84DpMQ5GivwjDmif5SLNimvbkLtfDBtgf4uDcBIJhQV/1LWoQgGl8ajOFdrw==","signatures":[{"sig":"MEQCIDJgtwfWU+chqySGlEOIETjkZDAvcktRJMRwxjmeP5r9AiASEV/eGQktEWIYd27tPNp0Uqd6W/LUUsHQIcJWrDuSkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121914},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"8a4409c1f93fd0c288ec251135f2d67fc7a63d53","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.2.0_1780133227155_0.8354400635445423","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"wcag-a11y","version":"0.3.0","_id":"wcag-a11y@0.3.0","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"0415d94cf673799cb910b53b6c660db53cd6f4b9","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.3.0.tgz","fileCount":27,"integrity":"sha512-v4+VHRXhpCp9iz/da9Wm020FPtT8zUg9J/2EBGQ1cLLbes4oar1ZNvp2cI/Sv6kCIPXNMeXC9/VQoChK/GFEZA==","signatures":[{"sig":"MEUCIGRRNGQTebU+V2Pz1ceDa5hayUdsF7kiL173FhaqBFGnAiEAmtzAZ6oSamNCrbvSDfrFfSA8H4Dfs/F3ZFkI6nK93IY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125646},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"15834b0c24480a648640ab9698b2a887d4e8e1b9","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.3.0_1780142191167_0.27670693531386403","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"wcag-a11y","version":"0.3.1","_id":"wcag-a11y@0.3.1","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"b8381970ae828458add47ea320531298b520fa9f","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.3.1.tgz","fileCount":28,"integrity":"sha512-7HheWgMQmScUAz13RdhkXAYWgfSX1+FE3zUqRp3sBYR9lLVDMSMszlO+E/8TWgYUuGotjROshMA21r/01NQaMA==","signatures":[{"sig":"MEQCIEZKtfn57gMkn0kCsYNcgysABvHOz/oWFTvpBP5TbMIjAiAtJ2gc43g6SqJzfQKKXzFYXUAYKkmoWeKvH9dtdUTJSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135542},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"4b68ef90ff0f3cf48b55468b9b083b3acda9654f","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.3.1_1780145951967_0.8418959669860753","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"wcag-a11y","version":"0.3.2","_id":"wcag-a11y@0.3.2","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"104dc626fe6c45b946f51e576ac4616113bd19fc","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.3.2.tgz","fileCount":28,"integrity":"sha512-Mwo/kCkblTk/9Cbyqy1V4/lLqFXmUT8BwslhTKybtuMmPVSH4RoGgmup8p8xgLPx9atWSf/shMvr8VTJay+oVg==","signatures":[{"sig":"MEUCIH24guXXfVSxTThzmO31y5GGCt/mjrsgyGm9wNFGXykiAiEAtJBhODU+dded8QNkSNMwpSsIp7WD+tB8VMhkHKaYJ6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135542},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"c94bb61ee7328659b1fa9584b2c1ffb994edb8da","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.3.2_1780146117512_0.18104864653523878","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"wcag-a11y","version":"0.3.3","_id":"wcag-a11y@0.3.3","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"37c89083958aaf6cbf592a9474ffbd66fc0baeee","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.3.3.tgz","fileCount":28,"integrity":"sha512-wQbLddRSy4dR2fXdN33mNEbeWYCjQubycsJs/cxvcGpICDpKYcz5AXpO0XQdyCTRYEJYxq6zkFrhy9GiOuuWiA==","signatures":[{"sig":"MEUCIQDgBqos3rTwCdqZPwmeFrn7Luvvzr511LXcT5xBSwuYaQIgCoB/iwDEkcZPi1XQcsbVPeUJAD1Y6sluzdiu5mT0YWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136260},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"f4cf4b9058a28a090cf987e117052bf0f4ca00b5","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.3.3_1780155305518_0.0031748044130437414","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"wcag-a11y","version":"0.3.4","_id":"wcag-a11y@0.3.4","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"6827a1a241ab96c9e4d5764c576f8ef5efbaf500","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.3.4.tgz","fileCount":28,"integrity":"sha512-sRd5yJ7xD7qrLX12U8btT9ODEL+UmKU1hCVCfOMrAb0EGt21LZRzGVmFl0EIZaAzxq5opeNC0qnc3k66nFV9Zw==","signatures":[{"sig":"MEYCIQC17EXlXJwqsq3b4a3p6PbmTzhGkBLApmsK3q/tuF0e0gIhAOGL+oCgzEkMXH3ed0XYgHSpqfLMP04rUfbKmU0p+csP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139113},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"995d5136b91c09306abbbda0af38bc87057371cc","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.3.4_1780157609791_0.47059154848042994","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"wcag-a11y","version":"0.3.5","_id":"wcag-a11y@0.3.5","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"62417ac1f294702ff7a8a9dbb64272c2831b5241","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.3.5.tgz","fileCount":30,"integrity":"sha512-htAzEfIsTZQH95bKjmFNeQlJtBS4iyv2QVWyxiMG4uvBpJresAN4daTD9ytdap3YFNUnF7+uf6P2SkFKUh6YBg==","signatures":[{"sig":"MEQCIHX9+0BG0hnDxe9I/RNJn/00xVZNPxpgv8Ke7HPCx9t3AiAok+G+cAOqkgBwg6vmA1fuYsTE4tTRT6+eAxs+3yUhKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157740},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"7286e29d79a3c5eb5f91911ef8fafa31387bd1c5","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.3.5_1780555949602_0.047368913019535386","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"wcag-a11y","version":"0.3.6","_id":"wcag-a11y@0.3.6","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"e75a74a80cc4428736c03495ca43b73e8b70a4de","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.3.6.tgz","fileCount":30,"integrity":"sha512-gAZC+SsAEv4fysorqBA8ZlW5AdP2wKDDoxe9TfYGz3gx+3uY8ajnd/ja6mWoWfZAATDXZNi2IOpIBtYaQo0jVQ==","signatures":[{"sig":"MEUCIQCXNRHlsBvq+XJV+KCChvAcFg8bxLK6BGULYd3cSUH/bQIgNowlZ4rm+BxkAcHfAn8KdHEtRfy8J4x47bXrVRkshbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162053},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"649d58985820aa7b283d24128214f57f01cafdc8","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.13.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.3.6_1780556533385_0.24054496454569585","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"wcag-a11y","version":"0.4.0","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","screen-reader"],"_id":"wcag-a11y@0.4.0","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"ed695e5ae93a1ae633038989cb5d674bb95b6fb4","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.4.0.tgz","fileCount":41,"integrity":"sha512-D5UAUx8vA3sx7zRQwrBdoYULXpiyhr+8bEc2jxOkH4eMO4cdiF1wwjSE4p/AjDEr0ILOAQw/IjNxBmzXB5vU3g==","signatures":[{"sig":"MEUCIGE2ovb3uRTvx6oNy+SrD1vrC/wyuHbxZnDjAK6UARsbAiEA6OjJIp7JOFv5DhdVJk+cI2hVmFRv2z8bPdByil4/TtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175732},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"2d012af81aded676c957b03d9f59b8f3d612173f","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.4.0_1780659339202_0.09440011462847142","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"wcag-a11y","version":"0.4.1","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","screen-reader"],"_id":"wcag-a11y@0.4.1","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"c8ff657221c9fa8bf7c96c3932a96a0c3bae6355","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.4.1.tgz","fileCount":42,"integrity":"sha512-JEttX9V7ujOC5gTPkxGdMAamwp8zn1MgUYP6BJAGcpnJM/oeLXSweeBIokuCOeGrRSGbQ+ZECsiuvENjNZCR3g==","signatures":[{"sig":"MEUCIQCpOga7xgPYF07YLcDkv3uiD2TiDvfq8SpJQ/dqLL+5oAIgVvlp/Hd1+XkQpzslj6TNFkMl9WMO7lLmUpcc66rhQjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188926},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"aa7061f97aa614d3e58a74862e6739a779aa0724","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.4.1_1780662583371_0.0771385159535416","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"wcag-a11y","version":"0.4.2","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","screen-reader"],"_id":"wcag-a11y@0.4.2","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"e1c0c4fb3df1fa23b2295af26eb10ed78f657fd4","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.4.2.tgz","fileCount":42,"integrity":"sha512-gy4U7rspY2tPbtbE+Tq9ip0LaT3FBgBmQsJal3OkThx0is7DL8APESEMjH+9zy7wUgxFpgZqob4no2iDAfZ5vw==","signatures":[{"sig":"MEYCIQD7AyITzaJI2qGX7+e6M/bntwXC3YhrTOu/uGZ1v4aeigIhAMQhNYJunrwHq63yWfLnQtAQuBIthrO77C/MgQmfcNyg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190837},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"e722a80cba6e50a546fafe77ce2b3afa130c2df0","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.4.2_1780677770229_0.5471178426912251","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"wcag-a11y","version":"0.4.3","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","screen-reader"],"_id":"wcag-a11y@0.4.3","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"61a10124d73345b760155fb32bdb82b211704e24","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.4.3.tgz","fileCount":42,"integrity":"sha512-b3ycXodZ1kUIJKWg2WSryoSeQQdWn90tLLxGEiGG6jfT5fxQ+ilZRsZTLuhVYcsMuW7iCTlI4Y5DWV5H39jXWg==","signatures":[{"sig":"MEUCIQD/5IRs8eW+oJQ1xnFz0u3JnlqqlqDWQXpegNGyIkrPtQIgNKvxpl5vRjBCUlPi5SVFhdSzsiJ9j4LycJaVgtQnLVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191208},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"a47a92b97ca9a09552c009bbbb4cc3e8930fe7b4","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.4.3_1780677938306_0.724057551620028","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"wcag-a11y","version":"0.5.0","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.0","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"d725ccf94f1bdf94d5ab3cbef3d60010eebc3cce","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.0.tgz","fileCount":42,"integrity":"sha512-qzQ3di8nOXcICxGEuJJzNRcTFPv/MqZFI+ywJdWcjoN1Zs/MjV3BRj1WwJWwF0+VrV+1h8LMPiFjaXbih+tt/w==","signatures":[{"sig":"MEUCIAbYalHLZoujiCb/Hc46NAva14azNHQ+4zsAh2q0bBB0AiEApMaDBR+rGFMrPCE5AxUq6fYzDvkDKOKi2+vryMI6j3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196467},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"85252128367212b4d1a5f6e341b97c0cb86ea82d","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.0_1780680292846_0.4635576833082513","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"wcag-a11y","version":"0.5.1","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.1","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"7d0097e5b16113da1499f8e7a9327751e8a93fe4","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.1.tgz","fileCount":42,"integrity":"sha512-ZV26aZzuFa20VTeBVft/whd2XwhEwNjVgF5OVoWhZgIr/XXB7FX/szlQb4jXp8UmZ2gDOjMCyJjgZ5NKaD3AdA==","signatures":[{"sig":"MEUCIQD28506gmomDQUgRFv/PaY1/GrO/kO8yVJwqA79/dDEDgIgYXeRmWy8iM5zPSf1adCE5r/pI7ZKJ2n7mMAQEsdon+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198392},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"f1195525a6adc4a91fd988b438f12fde1e1132c7","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.1_1780714032888_0.6351730494232994","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"wcag-a11y","version":"0.5.2","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.2","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"8c57c79953c5d88cedf3ec097fd7822b9af4f951","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.2.tgz","fileCount":42,"integrity":"sha512-aax6sCW4F7xyKRovs3xQPfill8iI0IiC/PDPSO/iqgfYvZJ4XwgrHjoDsJpr4+xpWLubHULeNzsIpyjMhUou4Q==","signatures":[{"sig":"MEUCIBsG4ETlIoitVzlW9o0jhsUhMDpzl6OD24TKAp0JdgEjAiEAqGOCqYbyaaaAWu1PYtzcoaDSEAIr53zPhDkmtry3uCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199403},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"5343d3b40728a1838ed06fa589cf6bc55f3624f4","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.2_1780727767600_0.6176188693537177","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"wcag-a11y","version":"0.5.3","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.3","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"73a94a80c5c22cb44bbf469a99d5aaadf1436963","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.3.tgz","fileCount":42,"integrity":"sha512-qWk+V+tVwigz2aKmmenFluJBHNCRrYRHTL4/9BaJQfv4zV+msdlg4vux4u8kHbqM18JRWRYPCuFYqBsr21bpfQ==","signatures":[{"sig":"MEUCIQDQ5h7OAUuI9kZ436H0/eW1k3B2BjSExaD+Y7JQXhDEGwIgYjaJAHNO51XIQutdLxrQhAHS2j1aL7AFoWMgciywhhc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198754},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"1728cb333bde8bfb883636d1fcf11983eff82757","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.3_1780728409085_0.8575802939704282","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"wcag-a11y","version":"0.5.4","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.4","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"cc7571ada0ba4990849e986f334c2cacc204c23b","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.4.tgz","fileCount":42,"integrity":"sha512-o1Mdw07kyFtphZhxUN0tZmmgWGBU5u1ZdvbFfjJSb0L+twHk2NgAbvB/LPym8cM7zrrAk03Fpy30cTOXky9O/g==","signatures":[{"sig":"MEUCIERVO+v1+xXmzzSDr6nV1ypCT4LCYha3zDxlzrNlhZuaAiEA0a1RvdqXQtozyCOi2CHkXWZnGeo8oMHGtAJZDdIgWHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198882},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"8d2bee4478eaae65894e404ecde607814687961a","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.4_1780732146668_0.2384715127632795","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"wcag-a11y","version":"0.5.5","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.5","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"fb4b999c77894c550a98043559f6eb219535429c","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.5.tgz","fileCount":42,"integrity":"sha512-wH1EVxxFfV2mzwLj5KpTxp9Gw5FAvEJ+AVIZLYS+3qHwmr97eJNcMSFr6Ao9Tl7JJeFMIRnaHjO/O3vyi3he1w==","signatures":[{"sig":"MEYCIQDoX1/gBwQ6DPu3XXmMiT9+Acs2DNbeegCJc4uFdVUObQIhAL8HCWwTX2DTbC2HATEZHna+5RbIT9Af2l0kM/r+uGyi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198443},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"1bc9f1d1b0f60852c219b484bfbe09bdb31a1fe7","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.5_1780732538111_0.014384175499937646","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"wcag-a11y","version":"0.5.6","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.6","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"bc694d0b847bb397d9def35bc1efe486f5073849","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.6.tgz","fileCount":42,"integrity":"sha512-TplEK0MVH0HAnGdPcev0Bn5wpWDnsXuDry7JCiQ+ciK4tUqJxz9SsQi70oLPnpwXMABr1rgKD7FaDF/q1y13PA==","signatures":[{"sig":"MEUCIF1h4TX42ZPb6xBaSMyHqYtvmyWwW2F/q6ETFbpIZN8EAiEAmiDZZ50ZeOgXKR5Z3vDnXuOiWXMDXaV0UY2BPmQeqf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200002},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"a25f5c7365660966919c316b4b7318618a423f80","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.6_1780758782349_0.8015664565839922","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"wcag-a11y","version":"0.5.7","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.7","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"6ddc505eb259883eea201f2818e7a43c97365896","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.7.tgz","fileCount":42,"integrity":"sha512-JpYNs2KOv457/x07lrcRd1ogBRYkaFhpyFAodhBaFEPalQbj1wPOyNEtP1XGsOCVwZ0E+q1kKt8qwo8TtNcMoQ==","signatures":[{"sig":"MEYCIQDNIgrQfMyTtQUNAJbEysf+kCh6lp7TQF5LSAhj2ddp+wIhAJ6myKv6TQMhiigFXTZgvXPnzpDcITV1aW7hZ1FF6I8T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200412},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"9a73a05c0948077a8db6d44567b5795beecd6254","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.7_1780759400591_0.8393385647016609","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"wcag-a11y","version":"0.5.8","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.8","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"4432c4e209dfa11a53bc0c4dd200c6b71142ad84","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.8.tgz","fileCount":43,"integrity":"sha512-UBc7rINdiPxmtGi8IE3bdBGewfgA6gNppGWv0Eh454vm2I7FOJrA2Ii3iBIc0CpQgNhpGay+TpgNDnaz/QM2xw==","signatures":[{"sig":"MEUCIQCP0BrBSfRAKuz39PvRgmunVI4uH8TyeArncO/rXlfW5gIgeNY3fqJJ6/msY4oJMhHcfz+0m7BpmzR7Xwvqi+FX5i8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202745},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"6aa8e14fc7cd96c2259b6fab5c3dc3383dd6a477","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.8_1780768740026_0.6586270333062612","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"wcag-a11y","version":"0.5.9","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.9","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"e9883e1114101d9f829703ac1ba8856db1e66ea1","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.9.tgz","fileCount":43,"integrity":"sha512-6TU49dj+qC2iSRIOvW81MoxkGfs00ZatTU6ptyFasCytDlU5/fgetVOXLMDKMYut+b32tx7ar9dsCbRkoVyr8A==","signatures":[{"sig":"MEUCIQCnJh8/a6g9PVPR694eXZKddOuFdGeufYYBJbtD927Z1QIgeMYGuOyGcoqFcOEefH3BReOxuTJ5WL9xlOuAk0xM0ns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202745},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"009826c5e841c9b6b7fbc4163c7d10afe7f212da","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.9_1780768831765_0.4990635465844089","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"wcag-a11y","version":"0.5.10","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.10","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"9f7fa8bcb0ef7e5583bafccbaaed492a2c0fd800","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.10.tgz","fileCount":43,"integrity":"sha512-25XpksGL1phjgLZwFHSqswCnCPGfX/Neoxe0Npq8DJaw2PZC/V04i6G9CA/OWuPXMJ1KEFs0sYg47OmQQk/uig==","signatures":[{"sig":"MEUCIBQqMVBSyOgv1uUnAnVsEackdWY5dDl5YDEeboUwfHrcAiEAl8LOjIGc5yCP/Fu5har2A3XSI9kW6EdlMM/VQDIZVhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202751},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"5eee25afbc0057e0230e902ec4e68a516d19cf23","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.10_1780769394327_0.823401306758923","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"wcag-a11y","version":"0.5.11","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.11","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"5c58c9494263be448f0ec834477ac9770d19b03e","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.11.tgz","fileCount":43,"integrity":"sha512-OrNf5JUvAi+Twx47GiqhOqY+tZA3Jvi6bzNGw1d8fzlQNd0H08LDzPcw8gR4ZL1Huw6bqZiSiKirR8ggNseBYw==","signatures":[{"sig":"MEUCIFf59EtcLluX4HNFbYBWnLEdlsBhnrzDFugXjbXuPZxmAiEA3HxCTrN8UDrAh0GByN4Vf9euSwNKI3+F9F6n/IKY6v4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202747},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"4272328aa9dea93dbe953fa1090c78535e2f4fb3","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.11_1780769657111_0.8633939107845223","host":"s3://npm-registry-packages-npm-production"}},"0.5.12":{"name":"wcag-a11y","version":"0.5.12","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.12","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"63ed4fc8a2bd7ecd5c9bb41b62d56e9fb6adfc64","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.12.tgz","fileCount":43,"integrity":"sha512-+AlVtEKFRAyWswlHx5I3OXlTaB3bu4zR3BuIRy5jpd8U80kyLr3ZAAG+7MZ83NPWY2kM1zbqFkrTJnte9f0C0w==","signatures":[{"sig":"MEYCIQDuzBhPEkwu17bXN4dsGXoeKjyO8KpgCkFrlS/LOOh9LQIhANDdOC17FUilduF1/UKXabovsLYY4hZ2zb9sOttUULrR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202641},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"38f966c1439ef71fede1a56410b091ce4dd9f020","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.12_1780770997646_0.6342689092832954","host":"s3://npm-registry-packages-npm-production"}},"0.5.13":{"name":"wcag-a11y","version":"0.5.13","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"_id":"wcag-a11y@0.5.13","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"bin":{"wcag-a11y":"dist/cli.js"},"dist":{"shasum":"1e509d1c0cde7e600cbc8718d457d49039c6f350","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.13.tgz","fileCount":43,"integrity":"sha512-HsYZBoYN//J7itngEgaDAaoSCYoey1jPwOBhW4ofVz/MwsxRTi8XdpQEfL8ipNMElPUq0DJdDoazHw93j7Qh1A==","signatures":[{"sig":"MEUCIQCB6DmEVLsfJM3pIwgc1htqBE1VQ0by21XhcSo3bX7fuAIgaDLuAm3mbUr7si2iCssOKR9Vc/pOEjY19Qt2jC2PhBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203186},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"7ec22281a7415c02d5cc6778bc6b5116afbd92fb","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"_npmVersion":"11.16.0","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","directories":{},"_nodeVersion":"24.16.0","dependencies":{"chalk":"^5.6.0","commander":"^14.0.0","playwright":"^1.60.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","vitest":"^4.1.0","typescript":"^6.0.0","@types/node":"^25.9.0"},"_npmOperationalInternal":{"tmp":"tmp/wcag-a11y_0.5.13_1780798686628_0.05971075328981801","host":"s3://npm-registry-packages-npm-production"}},"0.5.14":{"name":"wcag-a11y","version":"0.5.14","description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"type":"module","bin":{"wcag-a11y":"dist/cli.js"},"engines":{"node":">=20.0.0"},"scripts":{"build":"tsc","dev":"tsx src/cli.ts","test":"vitest run","test:watch":"vitest"},"dependencies":{"commander":"^14.0.0","playwright":"^1.60.0","chalk":"^5.6.0"},"devDependencies":{"typescript":"^6.0.0","@types/node":"^25.9.0","vitest":"^4.1.0","tsx":"^4.22.0"},"gitHead":"fa22511afec0fd9f4f941e38dcf3119a920e79cc","_id":"wcag-a11y@0.5.14","_nodeVersion":"24.16.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-6IQwXVWAkVB7j3c9YTDkK6rHgFP8eLWeyUfki2PB4wppoGIgtBCUJn/IrdBDraJA0bfqMTnacqeYWo+5aazn1w==","shasum":"64cd3d4022bf2925a965867764eb8a94fcc88f80","tarball":"https://registry.npmjs.org/wcag-a11y/-/wcag-a11y-0.5.14.tgz","fileCount":43,"unpackedSize":203186,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC79SWlaGpY6th8Xi+oNvJ+OLzrDVtUGoSiJEixHAX1EwIhAIuNGjNyL8sOeaVqbRWzYooH+O4wcDs1+V877zhq6H0A"}]},"_npmUser":{"name":"hu_i_d","email":"huyh13530@gmail.com"},"directories":{},"maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wcag-a11y_0.5.14_1780798760769_0.029670484907215133"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T17:06:26.147Z","modified":"2026-06-07T02:19:21.057Z","0.1.0":"2026-05-29T17:06:26.353Z","0.2.0":"2026-05-30T09:27:07.299Z","0.3.0":"2026-05-30T11:56:31.327Z","0.3.1":"2026-05-30T12:59:12.142Z","0.3.2":"2026-05-30T13:01:57.690Z","0.3.3":"2026-05-30T15:35:05.655Z","0.3.4":"2026-05-30T16:13:29.970Z","0.3.5":"2026-06-04T06:52:29.741Z","0.3.6":"2026-06-04T07:02:13.531Z","0.4.0":"2026-06-05T11:35:39.416Z","0.4.1":"2026-06-05T12:29:43.542Z","0.4.2":"2026-06-05T16:42:50.370Z","0.4.3":"2026-06-05T16:45:38.452Z","0.5.0":"2026-06-05T17:24:53.039Z","0.5.1":"2026-06-06T02:47:13.023Z","0.5.2":"2026-06-06T06:36:07.727Z","0.5.3":"2026-06-06T06:46:49.226Z","0.5.4":"2026-06-06T07:49:06.810Z","0.5.5":"2026-06-06T07:55:38.248Z","0.5.6":"2026-06-06T15:13:02.496Z","0.5.7":"2026-06-06T15:23:20.740Z","0.5.8":"2026-06-06T17:59:00.172Z","0.5.9":"2026-06-06T18:00:31.912Z","0.5.10":"2026-06-06T18:09:54.479Z","0.5.11":"2026-06-06T18:14:17.233Z","0.5.12":"2026-06-06T18:36:37.789Z","0.5.13":"2026-06-07T02:18:06.785Z","0.5.14":"2026-06-07T02:19:20.939Z"},"keywords":["wcag","accessibility","a11y","wcag2","wcag21","wcag22","aria","playwright","ai","audit","fix","cli","gemini","openai","anthropic","auth","screen-reader"],"description":"WCAG 2.1/2.2 accessibility auditor with AI-powered fixes. Crawls your dev server with Playwright, runs 40+ checks, and uses AI (12 providers) to generate fix prompts or patch source files directly. Supports authenticated sessions via Playwright storageSta","maintainers":[{"name":"hu_i_d","email":"huyh13530@gmail.com"}],"readme":"# WCAG A11y\n\n[![CI](https://github.com/Dannyplusplus12/WCAG-A11y/actions/workflows/ci.yml/badge.svg)](https://github.com/Dannyplusplus12/WCAG-A11y/actions/workflows/ci.yml)\n\nMost accessibility auditors stop at detection — they tell you *what* is broken and leave the rest to you. `wcag-a11y` crawls your running dev server with Playwright, runs 40+ WCAG 2.1/2.2 checks, and uses AI to generate ready-to-paste fix prompts **or write the fixes directly into your source files**. Each violation links to the exact source file and line number. Works with authenticated apps via Playwright session state.\n\nTwo modes:\n- **`scan`** — find violations + get AI prompts you paste into Cursor, Copilot, or Claude\n- **`fix`** — find violations + patch source files automatically (dry-run by default, `--apply` to write)\n\n---\n\n## Try it instantly\n\nNo dev server, no config:\n\n```bash\nnpx wcag-a11y demo\n```\n\n---\n\n## What the output looks like\n\nRunning `wcag-a11y demo` scans a built-in page, prints every violation to the terminal, and saves `a11y-report.md` with a fix prompt for each one — no config or API key needed:\n\n```\nwcag-a11y demo — scanning built-in page with intentional WCAG violations...\n\nScan complete  ───────────────────────────────────────────────────────\n\n  ✖  http://127.0.0.1:PORT  4 critical · 1 serious\n\n  [SERIOUS]  Text must have a contrast ratio of at least 4.5:1 against its background  WCAG 1.4.3\n  → #main > p\n\n  [CRITICAL]  Non-semantic elements with click handlers must have a role and be keyboard focusable  WCAG 2.1.1\n  → #main > div\n\n  [CRITICAL]  Form inputs must have an associated label  WCAG 1.3.1\n  → #main > section > form > input\n\n  [CRITICAL]  Buttons must have an accessible name  WCAG 4.1.2\n  → #main > section > form > button\n\n  [CRITICAL]  Links must have non-empty accessible names  WCAG 2.4.4\n  → #main > a\n\n────────────────────────────────────────────────────────────\n\nReport saved → a11y-report.md\n  5 violations · fix prompts for each — open a11y-report.md\n\nRun on your own project:  npx wcag-a11y scan -u http://localhost:3000\n```\n\n`a11y-report.md` contains one entry per rule — the failing element with its **source file and line number**, why it matters to real users, and a ready-to-paste prompt for Cursor, Copilot, or Claude:\n\n~~~markdown\n### 🟠 [SERIOUS] Text must have a contrast ratio of at least 4.5:1 against its background\n\n**Rule:** `color-contrast-text`\n**WCAG:** WCAG 2.1 SC 1.4.3\n**Instances:** 1\n\n**Representative element:**\n`#main > p` — `src/components/Promo.jsx:14`\n```html\n<p style=\"color:#aaa; background:#fff; font-size:14px;\">Free shipping on orders over $50.</p>\n```\n\n**Why it matters:**\nUsers with low vision or color blindness cannot distinguish this text from its\nbackground; the text becomes difficult or impossible to read.\n\n**📋 Prompt for your AI assistant (Cursor / Copilot / Claude):**\n```\nFix WCAG 2.1 SC 1.4.3 (Level AA) — Text must have a contrast ratio of at least 4.5:1\n\nAffected element:\n- Selector: `#main > p`\n\nCurrent HTML:\n  <p style=\"color:#aaa; background:#fff; font-size:14px;\">Free shipping on orders over $50.</p>\n\nHow to fix:\nDarken the text color to meet 4.5:1 contrast.\nExample: change `color: #aaa` to `color: #767676` (minimum passing value).\n```\n\n---\n\n### 🔴 [CRITICAL] Buttons must have an accessible name\n\n**Rule:** `button-name`\n**WCAG:** WCAG 2.1 SC 4.1.2\n**Instances:** 1\n\n**Representative element:**\n`#main > section > form > button`\n```html\n<button type=\"submit\"><svg ...></svg></button>\n```\n\n**Why it matters:**\nScreen reader users hear only \"button\" with no label — they cannot tell what\nthe button does without exploring the surrounding content visually.\n\n**📋 Prompt for your AI assistant (Cursor / Copilot / Claude):**\n```\nFix WCAG 2.1 SC 4.1.2 (Level A) — Buttons must have an accessible name\n\nAffected element:\n- Selector: `#main > section > form > button`\n\nCurrent HTML:\n  <button type=\"submit\"><svg ...></svg></button>\n\nHow to fix:\nAdd visible text content or aria-label to the button.\nExample: <button type=\"submit\" aria-label=\"Subscribe\">...</button>\n         or <button type=\"submit\">Subscribe <svg ...></svg></button>\n```\n\n... 3 more violations with prompts\n~~~\n\n---\n\n## Install\n\n```bash\nnpm install -g wcag-a11y\n```\n\n## Quick start\n\n```bash\n# 1. Configure your AI provider (Gemini is free, no credit card)\nwcag-a11y init\n\n# 2. Start your dev server, then scan\nwcag-a11y scan -u http://localhost:3000\n```\n\nAdd `--pages / /about /contact` to scan specific routes, or `--crawl` to follow links automatically.\n\n**Optional — set your framework once:** The tool auto-detects common frameworks at runtime. If detection fails (e.g. scanning a staging URL, or using Astro/SvelteKit), set it in your config so every run uses the right syntax:\n\n```bash\nwcag-a11y init --framework next    # or react, vue, angular, svelte, astro, …\n```\n\n---\n\n## Commands\n\n### `wcag-a11y scan`\n\nScan a running dev server for accessibility violations.\n\n```bash\nwcag-a11y scan -u http://localhost:3000\nwcag-a11y scan -u http://localhost:3000 --pages / /about /contact\nwcag-a11y scan -u http://localhost:3000 --crawl\nwcag-a11y scan -u http://localhost:3000 --no-ai --ci\nwcag-a11y scan -u http://localhost:3000 --terminal --fast-mode\n```\n\n| Flag | Default | Description |\n|---|---|---|\n| `-u, --url <url>` | required | Base URL of your running dev server |\n| `-p, --pages <paths...>` | `/` | Paths to scan. Space-separated: `--pages / /about /contact` |\n| `-c, --crawl` | off | Follow same-origin links and scan all reachable pages |\n| `--no-ai` | — | Skip AI fix generation — scan runs faster, violations only |\n| `--no-report` | — | Skip saving `a11y-report.md` |\n| `--no-explain` | — | Omit explanations, show prompts only |\n| `--terminal` | off | Print violations and AI prompts to terminal |\n| `--fast-mode` | off | Output only the raw prompts — no summaries or decoration |\n| `--group <strategy>` | `rule` | `rule`: one prompt per rule type. `none`: one prompt per element |\n| `--ci` | off | Exit with code `1` if any violations are found |\n| `--auth-state <path>` | — | Path to a Playwright `storageState` JSON. Loads cookies and localStorage so you can scan pages behind a login wall |\n| `--provider <name>` | from config | Override AI provider for this run |\n| `--framework <name>` | from config | *(optional)* Override framework for this run. Auto-detected by default; use this when scanning staging URLs or for frameworks outside the detection list |\n\n---\n\n### `wcag-a11y fix`\n\nScan for violations and apply AI-generated patches directly to your source files. Works with any framework — React, Vue, Angular, Svelte, or plain HTML.\n\n```bash\nwcag-a11y fix -u http://localhost:3000               # dry-run: show diff, nothing written\nwcag-a11y fix -u http://localhost:3000 --apply       # write fixes to disk\nwcag-a11y fix --from-report --apply                  # patch from an existing report\n```\n\n```\nsrc/components/Navbar.jsx — 2 violations\n  · [button-name] Buttons must have an accessible name\n  · [aria-valid-role] Elements must use valid ARIA roles\n\n  Requesting AI patch... done\n  +2 -1\n    <nav className=\"navbar\">\n  -   <button onClick={toggle}><MenuIcon /></button>\n  +   <button onClick={toggle} aria-label=\"Toggle navigation\"><MenuIcon /></button>\n      <ul role=\"navigation\">\n  -     <li role=\"listbox\">Home</li>\n  +     <li>Home</li>\n```\n\n**Common workflow:** scan first to review, then patch:\n\n```bash\nwcag-a11y scan -u http://localhost:3000   # generates a11y-report.md\nwcag-a11y fix --from-report --apply       # patches files from that report, no second crawl\n```\n\n| Flag | Default | Description |\n|---|---|---|\n| `-u, --url <url>` | — | Base URL. Required unless `--from-report` is used |\n| `-p, --pages <paths...>` | `/` | Paths to scan |\n| `-c, --crawl` | off | Auto-discover pages by following same-origin links |\n| `--from-report [path]` | `a11y-report.md` | Load violations from an existing report instead of rescanning |\n| `--apply` | off | Write fixes to disk (dry-run without this flag) |\n| `--force` | off | Skip the git dirty-state check when using `--apply` |\n| `--provider <name>` | from config | Override AI provider for this run |\n| `--framework <name>` | from config | *(optional)* Override framework for this run. Auto-detected by default; use this when scanning staging URLs or for frameworks outside the detection list |\n\n**Git safety:** `wcag-a11y fix --apply` checks for uncommitted changes before writing anything. If the working tree is dirty it exits with an error — commit or stash first, or pass `--force` to override.\n\n---\n\n### Scanning authenticated pages\n\nMost real apps require a login. Save your session with Playwright once, then reuse it on every scan:\n\n```bash\n# 1. Save session (run this once after logging in)\nnode -e \"\nconst { chromium } = require('playwright');\n(async () => {\n  const browser = await chromium.launch({ headless: false });\n  const context = await browser.newContext();\n  const page = await context.newPage();\n  await page.goto('http://localhost:3000/login');\n  // log in manually in the browser window that opens\n  await page.waitForTimeout(30000);\n  await context.storageState({ path: 'auth.json' });\n  await browser.close();\n})();\n\"\n\n# 2. Scan with your saved session\nwcag-a11y scan -u http://localhost:3000 --auth-state auth.json --pages / /dashboard /settings\n```\n\n`auth.json` captures cookies and `localStorage`. Keep it out of source control (add `auth.json` to `.gitignore`).\n\n---\n\n### `wcag-a11y init`\n\nCreate `a11y.config.json` pre-configured for your chosen provider.\n\n```bash\nwcag-a11y init                                      # Gemini (free, default)\nwcag-a11y init --provider openai\nwcag-a11y init --provider ollama                    # local — no API key needed\nwcag-a11y init --provider openai --framework next   # optional: save framework too\n```\n\n| Flag | Description |\n|---|---|\n| `--provider <name>` | AI provider. Default: `gemini`. See [AI Providers](#ai-providers) for all options |\n| `--framework <name>` | *(optional)* Your project framework — saved to config so every scan uses it automatically. The tool auto-detects common frameworks; use this flag when scanning staging URLs or using a framework not in the detection list |\n\nAccepted framework values: `next`, `react`, `vue`, `nuxt`, `angular`, `svelte`, `gatsby`, `remix`, `astro` — or any free-form string. You can also add `\"framework\": \"next\"` directly to `a11y.config.json` at any time.\n\n---\n\n### `wcag-a11y demo`\n\nScan a built-in page with intentional violations. No dev server or config required — runs in seconds and shows you exactly what a real scan produces.\n\n```bash\nwcag-a11y demo               # scan + fix prompts + saves a11y-report.md (no config needed)\nwcag-a11y demo --no-report  # print summary only, skip saving the report file\n```\n\n---\n\n## AI Providers\n\n12 providers supported. Configure once in `a11y.config.json`, or override per-run with `--provider`.\n\n| Provider | `--provider` | Default model | Notes |\n|---|---|---|---|\n| Google Gemini | `gemini` *(default)* | `gemini-2.5-flash` | Free tier available |\n| OpenAI | `openai` | `gpt-4o-mini` | |\n| Anthropic | `anthropic` | `claude-sonnet-4-6` | |\n| Mistral | `mistral` | `mistral-large-latest` | |\n| Groq | `groq` | `llama-3.3-70b-versatile` | Fast inference |\n| Cohere | `cohere` | `command-r-plus` | |\n| xAI | `xai` | `grok-2` | |\n| DeepSeek | `deepseek` | `deepseek-chat` | |\n| Together AI | `together` | `meta-llama/Llama-3-70b-chat-hf` | Open-source models |\n| Perplexity | `perplexity` | `llama-3.1-sonar-large-128k-online` | |\n| Azure OpenAI | `azure-openai` | *(your deployment)* | |\n| Ollama | `ollama` | `llama3` | Local — no API key |\n\nAll models are configurable. If the AI response is unparseable, the tool generates a fix prompt directly from the violation data — you always get something actionable.\n\n---\n\n## Config\n\nRun `wcag-a11y init` to generate `a11y.config.json`. Only fill in the fields for your chosen provider. This file is gitignored by default.\n\n```json\n{\n  \"provider\": \"gemini\",\n  \"apiKey\": \"YOUR_GEMINI_API_KEY\"\n}\n```\n\n`\"framework\"` is optional — add it if auto-detection fails for your setup:\n\n```json\n{\n  \"provider\": \"gemini\",\n  \"apiKey\": \"YOUR_GEMINI_API_KEY\",\n  \"framework\": \"next\"\n}\n```\n\n<details>\n<summary>Full config reference (all 12 providers)</summary>\n\n```json\n{\n  \"provider\": \"gemini\",\n\n  \"apiKey\": \"YOUR_GEMINI_API_KEY\",\n  \"model\": \"gemini-2.5-flash\",\n\n  \"openaiApiKey\": \"YOUR_OPENAI_API_KEY\",\n  \"openaiModel\": \"gpt-4o-mini\",\n\n  \"anthropicApiKey\": \"YOUR_ANTHROPIC_API_KEY\",\n  \"anthropicModel\": \"claude-sonnet-4-6\",\n\n  \"mistralApiKey\": \"YOUR_MISTRAL_API_KEY\",\n  \"mistralModel\": \"mistral-large-latest\",\n\n  \"groqApiKey\": \"YOUR_GROQ_API_KEY\",\n  \"groqModel\": \"llama-3.3-70b-versatile\",\n\n  \"cohereApiKey\": \"YOUR_COHERE_API_KEY\",\n  \"cohereModel\": \"command-r-plus\",\n\n  \"xaiApiKey\": \"YOUR_XAI_API_KEY\",\n  \"xaiModel\": \"grok-2\",\n\n  \"deepseekApiKey\": \"YOUR_DEEPSEEK_API_KEY\",\n  \"deepseekModel\": \"deepseek-chat\",\n\n  \"togetherApiKey\": \"YOUR_TOGETHER_API_KEY\",\n  \"togetherModel\": \"meta-llama/Llama-3-70b-chat-hf\",\n\n  \"perplexityApiKey\": \"YOUR_PERPLEXITY_API_KEY\",\n  \"perplexityModel\": \"llama-3.1-sonar-large-128k-online\",\n\n  \"azureOpenaiApiKey\": \"YOUR_AZURE_KEY\",\n  \"azureOpenaiEndpoint\": \"https://YOUR_RESOURCE.openai.azure.com\",\n  \"azureOpenaiDeployment\": \"YOUR_DEPLOYMENT_NAME\",\n  \"azureOpenaiApiVersion\": \"2024-10-01-preview\",\n\n  \"ollamaBaseUrl\": \"http://localhost:11434\",\n  \"ollamaModel\": \"llama3\"\n}\n```\n\n</details>\n\n---\n\n## What it checks\n\n40+ rules across 10 WCAG 2.1/2.2 categories: Text Alternatives, Color Contrast, Forms, Keyboard, ARIA, Structure, Links, Media, Tables, and Language.\n\n<details>\n<summary>Full rule list</summary>\n\n### Text Alternatives — WCAG 1.1.1\n\n| Rule | Impact | Description |\n|---|---|---|\n| `img-alt` | critical | Images must have an `alt` attribute |\n| `input-image-alt` | critical | `<input type=\"image\">` must have `alt` |\n| `svg-title` | serious | Inline SVGs must have `<title>` or `aria-label` |\n| `object-alt` | serious | `<object>` must have fallback text content |\n| `role-img-alt` | serious | Elements with `role=\"img\"` must have an accessible name |\n| `image-redundant-alt` | minor | Image `alt` must not duplicate nearby visible text |\n\n### Color Contrast — WCAG 1.4.3 / 1.4.6\n\n| Rule | Impact | Description |\n|---|---|---|\n| `color-contrast-text` | serious | Normal text must meet 4.5:1 contrast ratio |\n| `color-contrast-large-text` | serious | Large text must meet 3:1 contrast ratio |\n\n### Forms — WCAG 1.3.1, 1.3.5, 3.3.1, 3.3.2, 4.1.2\n\n| Rule | Impact | Description |\n|---|---|---|\n| `label-missing` | critical | Form inputs must have an associated label |\n| `label-empty` | serious | `<label>` elements must have text content |\n| `error-identification` | serious | Invalid inputs must link to an error message via `aria-describedby` |\n| `input-button-name` | critical | Input buttons must have a discernible label |\n| `fieldset-legend` | moderate | `<fieldset>` must have a `<legend>` with text |\n| `autocomplete` | moderate | Common fields (name, email, phone) should declare `autocomplete` |\n| `form-field-required-label` | moderate | Required inputs should expose state via `aria-required` |\n\n### Keyboard — WCAG 2.1.1, 2.4.1, 2.4.3, 2.4.7\n\n| Rule | Impact | Description |\n|---|---|---|\n| `no-positive-tabindex` | serious | `tabindex` > 0 disrupts natural tab order |\n| `interactive-not-focusable` | serious | Clickable `div`/`span` elements must be keyboard accessible |\n| `skip-link` | moderate | Pages should have a skip navigation link |\n| `focus-visible` | serious | Focusable elements must not hide the focus indicator |\n| `scrollable-region-focusable` | moderate | Scrollable regions must be keyboard reachable |\n| `accesskey-unique` | moderate | `accesskey` values must be unique per page |\n\n### ARIA — WCAG 4.1.2\n\n| Rule | Impact | Description |\n|---|---|---|\n| `aria-valid-role` | critical | Elements must use valid ARIA roles |\n| `aria-required-attr` | critical | Roles must include all required attributes |\n| `aria-hidden-focus` | serious | `aria-hidden` elements must not be focusable |\n| `button-name` | critical | Buttons must have an accessible name |\n| `aria-required-children` | serious | Roles must contain required child roles |\n| `aria-required-parent` | serious | Roles must be inside a required parent role |\n| `aria-prohibited-attr` | moderate | ARIA attributes must be allowed on the element |\n\n### Structure — WCAG 1.3.1, 2.4.2, 4.1.1\n\n| Rule | Impact | Description |\n|---|---|---|\n| `heading-order` | moderate | Heading levels must not skip (e.g. h1 → h4) |\n| `page-title` | serious | Pages must have a non-empty `<title>` |\n| `landmark-one-main` | moderate | Page must have exactly one `<main>` landmark |\n| `list-structure` | serious | `<li>`, `<dt>`, `<dd>` must be inside the correct parent |\n| `region-landmark` | moderate | Content must be inside a landmark region |\n| `duplicate-id` | serious | `id` attributes must be unique per page |\n| `frame-title` | serious | `<iframe>` elements must have a `title` attribute |\n| `meta-viewport` | critical | Viewport must not block user scaling |\n| `marquee` | serious | `<marquee>` is deprecated and inaccessible |\n| `p-as-heading` | moderate | Paragraphs styled as headings should use heading elements |\n\n### Links — WCAG 2.4.4, 2.4.9\n\n| Rule | Impact | Description |\n|---|---|---|\n| `link-name` | serious | Links must have descriptive text (not \"click here\", \"read more\") |\n| `link-empty` | critical | Links must not be empty |\n| `identical-links-different-purpose` | moderate | Links with the same text must go to the same destination |\n| `link-new-window-warn` | moderate | Links opening a new tab must warn users |\n\n### Media — WCAG 1.2.2, 1.2.3, 1.2.5\n\n| Rule | Impact | Description |\n|---|---|---|\n| `video-captions` | critical | `<video>` elements must have a captions track |\n| `audio-description` | serious | Videos must have an audio description track |\n| `audio-transcript` | serious | `<audio>` elements must have a transcript |\n\n### Tables — WCAG 1.3.1\n\n| Rule | Impact | Description |\n|---|---|---|\n| `table-headers` | serious | Data tables must have `<th>` header cells |\n| `table-scope-valid` | moderate | `scope` attribute values must be valid |\n| `td-headers-attr` | serious | `headers` attribute must reference valid `th` IDs |\n| `table-duplicate-name` | minor | Table `summary` must not duplicate the `<caption>` |\n\n### Language — WCAG 3.1.1\n\n| Rule | Impact | Description |\n|---|---|---|\n| `html-lang` | serious | `<html>` must have a `lang` attribute |\n| `html-lang-valid` | serious | `lang` attribute must be a valid BCP 47 language tag |\n\n</details>\n\n---\n\n## Use in CI/CD\n\n```yaml\n# .github/workflows/a11y.yml\nsteps:\n  - name: Start dev server\n    run: npm run dev &\n\n  - name: Wait for server\n    run: npx wait-on http://localhost:3000\n\n  - name: Accessibility audit\n    run: npx wcag-a11y scan -u http://localhost:3000 --no-ai --ci\n```\n\nExits `0` when clean, `1` when violations are found — gates merges on accessibility.\n","readmeFilename":"README.md"}