{
  "markdown": "<div align=\"center\">\n\n# A11y Check · 알리첵\n\n**WCAG 2.2 + KWCAG 2.2를 이중 매핑한 한국어 우선 웹 접근성 자동 점검 엔진**\n\nURL 하나로 대표 페이지를 수집해 접근성을 점검하고, **한국어 개선 가이드**와\nAI 코딩 도구용 수정 요청 문서까지 생성하는 오픈소스 서비스입니다.\n\n[![CI](https://github.com/IsaacEryn/a11ychk/actions/workflows/ci.yml/badge.svg)](https://github.com/IsaacEryn/a11ychk/actions/workflows/ci.yml)\n[![GitHub Marketplace](https://img.shields.io/badge/Marketplace-A11y%20Check-1a7f6e.svg)](https://github.com/marketplace/actions/a11y-check)\n[![core: Apache-2.0](https://img.shields.io/badge/core-Apache--2.0-1a7f6e.svg)](packages/core/LICENSE)\n[![app: AGPL-3.0](https://img.shields.io/badge/app-AGPL--3.0-1a7f6e.svg)](apps/web/LICENSE)\n[![WCAG 2.2](https://img.shields.io/badge/WCAG-2.2%20A%2FAA-1a7f6e.svg)](https://www.w3.org/TR/WCAG22/)\n[![KWCAG 2.2](https://img.shields.io/badge/KWCAG-2.2%20(33%ED%95%AD%EB%AA%A9)-1a7f6e.svg)](https://www.wa.or.kr/)\n\n**[🔗 라이브 데모 a11ychk.com](https://www.a11ychk.com)** ·\n[크롬 확장 설치](https://chromewebstore.google.com/detail/a11y-check/ldldalfanbiampibejfhbdcjdlkcaoag) ·\n[점검 사이트 목록](https://www.a11ychk.com/ko/directory) ·\n[활용 지표](https://www.a11ychk.com/ko/impact) ·\n**[English README](README.en.md)**\n\n*Open-source web accessibility auditing that dual-maps every finding to **WCAG 2.2**\nand **KWCAG 2.2** (Korea's national accessibility guidelines), with Korean-language\nremediation guides for all 33 KWCAG 2.2 checkpoints.*\n\n</div>\n\n---\n\n## 왜 A11y Check인가\n\n대부분의 자동 검사 도구는 위반 목록을 영어로 나열하는 데 그칩니다. A11y Check는 진단에서\n멈추지 않고 **개선 작업으로 이어지는 산출물**을 만듭니다.\n\n- 🇰🇷 **KWCAG 2.2 한국어 규칙 카탈로그** — [`packages/core/src/catalog`](packages/core/src/catalog)에\n  **111개 규칙**을 WCAG 2.2 성공기준과 **KWCAG 2.2 검사항목(33개)에 이중 매핑**하고, 규칙마다 한국어\n  개선 가이드를 담았습니다. 이 카탈로그 자체가 접근성 실무자·개발자에게 독립적으로 유용한 자산입니다.\n- 🔧 **진단 → 수정 연결** — 위반마다 한국어 개선 방법 + AI 코딩 도구(Cursor·Copilot 등)에 그대로 투입\n  가능한 **수정 요청 문서(Markdown·JSON)**를 자동 생성합니다.\n- 🧭 **WCAG-EM 2.0 방법론 준수** — 대표 페이지 표본 선정 → 자동 점검 → 점검자 판정 → 통합 준수율까지\n  구조화된 평가 절차를 따르고, EARL 리포트로 내보낼 수 있습니다.\n- 🙅 **정직한 자동화** — 자동 검사가 확정할 수 없는 항목은 감추지 않고 **수동 검사 방법과 함께 안내**합니다.\n  \"100% 자동 통과\"를 주장하지 않습니다.\n- 🧩 **크롬 확장** — 사이드 패널에서 현재 페이지를 실시간 점검하고, 위반을 **페이지 위에 직접** 표시합니다.\n\n> 자동 검사 도구는 접근성 문제의 일부만 찾을 수 있습니다. 이 프로젝트는 그 한계를 명시하고,\n> 사람이 확인해야 하는 항목을 검사 방법과 함께 제공하는 것을 원칙으로 합니다.\n\n## 무엇을 하나\n\n| | 기능 |\n|---|---|\n| **점검** | axe-core + 자체 규칙(리플로우·텍스트 간격·초점·키보드·미디어 등) + 사이트 수준 검사(제목 유일성·일관된 내비·여러 방법) |\n| **매핑** | 모든 위반을 WCAG 2.2 성공기준 · KWCAG 2.2 검사항목에 동시 대응 |\n| **보고서** | 자동/수동/통합 준수율, KWCAG 33항목 매트릭스, 인증 준비 요약, 전후 비교, PDF·CSV·EARL 내보내기 |\n| **개선** | 규칙별 한국어 가이드 + AI 수정 요청 문서(MD/JSON) |\n| **확장** | 크롬 MV3 사이드 패널 — 실시간 점검·구조 시각화·장애 시뮬레이션·명도대비 스포이드·전문가 판정 |\n| **맛보기** | 로그인 없이 URL 1개를 즉석 검사(1페이지) — 랜딩에서 바로 체험, 봇 방지·횟수 제한 |\n| **운영** | 도메인 소유확인, 정기 자동 점검, 회귀 알림, 임베드 배지, 공개 점검 목록, 친구 초대 등급 |\n| **CI** | GitHub Action으로 PR·배포 전 자동 검사 게이트 — [사용법](docs/github-action.md) |\n| **MCP** | Claude Code·Cursor 등 AI 코딩 도구가 검사·한국어 가이드를 직접 호출 — [사용법](docs/mcp.md) |\n\n## CI에서 바로 쓰기\n\nPR마다 지정 페이지를 검사하고, 심각 이상 위반이 있으면 잡을 실패시킵니다.\n결과는 잡 요약에 Markdown 표로 남습니다.\n\n```yaml\n- uses: IsaacEryn/a11ychk@v1\n  with:\n    urls: |\n      https://example.com/\n      https://example.com/login\n    fail-on: serious\n```\n\n입력·출력과 버전 고정 방법은 [docs/github-action.md](docs/github-action.md)에 있습니다.\n\n## AI 코딩 도구에서 바로 쓰기 (플러그인 · MCP)\n\nClaude Code에서는 플러그인 하나로 감사 스킬 2종과 검사 엔진(MCP 서버)이 함께 설치됩니다.\n개발 중인 localhost 페이지를 그 자리에서 검사하고, 위반마다 한국어 개선 가이드를 받아\n수정하고, 재검사까지 한 대화에서 돕니다.\n\n```\n/plugin marketplace add IsaacEryn/a11ychk\n/plugin install a11ychk@a11ychk\n```\n\n- `/a11ychk:a11y-audit` — 검사 → 수정 → 재검사 루프 (배포 전 점검)\n- `/a11ychk:kwcag-audit` — KWCAG 2.2 33개 검사항목 관점 점검\n\nMCP 서버만 쓰려면 (Cursor 등 다른 클라이언트 포함):\n\n```bash\nclaude mcp add a11ychk -- npx -y @a11ychk/mcp\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"a11ychk\": { \"command\": \"npx\", \"args\": [\"-y\", \"@a11ychk/mcp\"] }\n  }\n}\n```\n\n도구 구성과 설치 안내는 [docs/mcp.md](docs/mcp.md)에 있습니다.\n\n## 구조 (npm workspaces 모노레포)\n\n```\npackages/core     @a11ychk/core — 검사 엔진 (오픈소스의 심장)\n  src/crawler/      대표 페이지 수집 (sitemap → 내부 링크, robots.txt 존중)\n  src/scanner/      axe-core 실행·결과 정규화 (Playwright Page 주입형) + 2-패스 안정성 필터\n  src/catalog/      111개 규칙 → WCAG 2.2 · KWCAG 2.2 이중 매핑 + 한국어 개선 가이드\n  src/manual/       수동 검사 항목 정의 (KWCAG 33개 중 자동 판정 불가 항목)\n  src/report/       보고서 집계 (준수율, KWCAG 매트릭스, 사이트 수준 검사)\n  src/security/     SSRF 가드 (사설 IP·DNS 리바인딩·redirect 차단), robots.txt 파서\npackages/mcp      @a11ychk/mcp — AI 코딩 도구용 MCP 서버 (npm)\napps/web          Next.js 16 서비스 앱 (a11ychk.com)\napps/extension    크롬 확장 (MV3 Side Panel)\naction            GitHub Action 러너 (워크스페이스 밖 독립 패키지 — 소비자 CI가 직접 설치)\nsupabase          DB 마이그레이션 + RLS 정책\ndocs              아키텍처 · 로드맵 · 운영 설정\n```\n\n## 시작하기\n\n```bash\nnpm install\ncp apps/web/.env.example apps/web/.env.local   # Supabase 키 등 입력\nnpx playwright install chromium                 # 로컬 스캔용 브라우저\nnpm run dev                                     # http://localhost:3000\n```\n\n크롬 확장은 **[크롬 웹스토어](https://chromewebstore.google.com/detail/a11y-check/ldldalfanbiampibejfhbdcjdlkcaoag)**에서\n바로 설치할 수 있습니다. 소스에서 빌드하려면 `npm run build -w @a11ychk/extension` →\n`apps/extension/dist`를 `chrome://extensions`에서 압축 해제 로드. Supabase 설정은 [docs/SETUP.md](docs/SETUP.md) 참고.\n\n## 기술 스택\n\nNext.js 16 (App Router) · TypeScript · Tailwind CSS v4 · next-intl(ko/en) ·\nSupabase (Auth + PostgreSQL/RLS) · playwright-core + @sparticuz/chromium · axe-core 4.12 · Zod · Vercel\n\n## 테스트\n\n```bash\nnpm run test                        # core 유닛 테스트 + 웹 테스트\nnpm run test:e2e -w @a11ychk/core   # 실제 크로미엄으로 fixture 스캔 E2E\nnpm run typecheck && npm run lint\n```\n\n## 보안 원칙\n\n- 모든 시크릿은 환경변수로만 관리 — 저장소에는 `.env.example`만 존재\n- 사용자 입력 URL은 SSRF 가드(스킴 검증 → DNS resolve → 사설 대역 차단 → 브라우저 DNS 핀 → redirect 재검증)를 통과\n- Supabase RLS로 사용자 데이터 격리, service role은 서버에서 권한 검증 후에만 사용\n- 검사 횟수 제한(일/주/월) + robots.txt 존중, CSP nonce·표준 보안 헤더 적용\n\n## 기여\n\n규칙 카탈로그([`packages/core/src/catalog`](packages/core/src/catalog))의 한국어 개선 가이드 보강·매핑\n교정·새 규칙 제안 PR을 가장 환영합니다. 코드가 아니어도 기여입니다 — [CONTRIBUTING.md](CONTRIBUTING.md) 참고.\n\n도움이 되었다면 ⭐️ **Star**로 프로젝트를 응원해 주세요. 한국어 접근성 도구 생태계를 함께 키웁니다.\n\n## 라이선스\n\n**분할 라이선싱** — 자세한 내용은 [LICENSING.md](LICENSING.md) 참고.\n\n- **검사 엔진·규칙 카탈로그** (`packages/core`) · **MCP 서버** (`packages/mcp`) · **크롬 확장**\n  (`apps/extension`) · **GitHub Action** (`action/`) → [Apache-2.0](packages/core/LICENSE):\n  자유롭게 사용·수정·재배포·통합할 수 있습니다.\n- **서비스 앱** (`apps/web`) → [AGPL-3.0-only](apps/web/LICENSE): 열려 있지만, 이 앱을 수정해\n  네트워크 서비스로 운영하면 수정 소스를 공개해야 합니다.\n",
  "bytes": 6358,
  "sha": "9b4fd9d1a84429bbcd775a3c730c6990affba68821bd2781c274ebeb7b3a4687",
  "repo_slug": "isaaceryn/a11ychk",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_a11ychk_mcp_a60b800d/readme"
}