피드로 돌아가기
Introducing @accesslint/jest: progressive accessibility testing for Jest
Dev.toDev.to
Frontend

Snapshot Baseline 기반의 점진적 Accessibility 테스트 도입 전략

Introducing @accesslint/jest: progressive accessibility testing for Jest

Cameron Cundiff2026년 4월 18일11intermediate

Context

기존 Accessibility 테스트는 레거시 코드의 방대한 위반 사항으로 인해 CI 파이프라인이 중단되거나, 관리 불가능한 Suppression 파일의 비대화라는 한계에 직면함. 기존의 Zero-tolerance 방식이나 단순 티켓팅 기반 접근법은 신규 회귀 오류와 기존 부채를 구분하지 못해 테스트 효율성을 저해함.

Technical Solution

  • toBeAccessible() Matcher 도입을 통한 Snapshot-baseline 워크플로우 구현
  • 최초 실행 시 현재 위반 사항을 JSON Baseline으로 저장하여 기존 부채와 신규 Regression을 분리하는 게이팅 전략 채택
  • 위반 사항 해결 시 Baseline 파일을 자동으로 축소하는 Auto-ratchet 메커니즘 적용
  • .history.ndjson Sidecar 파일을 통한 Append-only 이벤트 기록으로 정량적 개선 추세 추적
  • Shared Preset 구조를 통한 조직 내 일괄 배포 및 팀별 자율적 Opt-in 기반의 점진적 도입 경로 설계
  • ACCESSLINT_UPDATE=1 환경 변수를 통한 의도적인 Baseline 강제 갱신 제어 기능 제공

- 레거시 부채가 많은 시스템에 신규 테스트 도입 시 Snapshot-baseline 방식으로 신규 회귀만 차단하는 전략 검토 - 테스트 결과의 단순 Pass/Fail을 넘어 `.ndjson` 형태의 시계열 데이터를 수집하여 의사결정권자를 위한 정량적 지표 확보 - 전사 표준 설정을 Shared Preset으로 관리하여 개별 레포지토리의 수정 없이 도구를 배포하는 인프라 구성

원문 읽기