원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
Audit a live page and report each violation and where it is. Locate; don't fix.
Shared grounding and honesty conventions: `../shared/methodology.md`.
$ARGUMENTS is a URL, a config target name (dev, storybook, …), or empty to audit the default target from accesslint.config.json. If it's empty and no config exists, ask for a URL or suggest npx @accesslint/cli init.
1. Audit
PORT=$(npx -y @accesslint/chrome@latest ensure | node -e 'process.stdin.on("data",d=>process.stdout.write(""+JSON.parse(d).port))')
npx -y @accesslint/cli@latest scan <target> --port "$PORT" --format json<target> is the URL or config target name from $ARGUMENTS. Omit it (don't pass "") to audit the config's default target. Add flags as needed: --selector, --wait-for "<selector>", --include-aaa, --disable <rules>, or pin them per-target in accesslint.config.json.
2. Report
Counts by impact, then one entry per violation:
- where: selector verbatim, plus
file:line (symbol)ifsourceis present. Don't fabricate. If no violation hassource, note "source mapping unavailable; located by selector only". - evidence: contrast ratio, missing attribute, empty name.
- fix: mechanical change, or
NEEDS HUMAN.
Don't edit. For fixes, apply the mechanical ones and re-run to verify; for bulk work hand off to accesslint:accessibility-fix.
3. Tear down
npx -y @accesslint/chrome@latest stop --all # skip if ensure reported "managed":falseNotes
ensuredetermines the port; don't hardcode 9222.- CLI exit 2 means a bad URL or target, or the page never loaded; check the dev server. An unknown target name makes the CLI list the available targets from
accesslint.config.json.

