'Place Order' 버튼을 눌렀다. 화면이 잠시 멈추고 스피너가 돈다. 시각 사용자라면 빙글빙글 돌아가는 원을 보며 '처리 중이구나' 하고 기다린다. 스크린리더 사용자에게는 그 2~4초가 완벽한 침묵이다. 아무것도 들리지 않으니 클릭이 안 된 줄 알고 버튼을 다시 누른다. 결과는 이중 결제, 그리고 30분짜리 고객 지원 통화다. dev.to에 게재된 '로딩 스피너와 스크린리더' 아티클이 소개한 화훼 쇼핑몰 사례가 딱 이 시나리오다.
이 문제는 단순한 UX 실수가 아니다. WCAG 2.1 성공 기준 4.1.3 'Status Messages'는 키보드 포커스 이동 없이 페이지 상태가 바뀔 때—로딩, 성공 메시지, 인라인 에러 모두—보조 기술에 변경 사항을 프로그래밍적으로 알려야 한다고 명시한다. 이 기준은 Level AA, 즉 사실상 모든 공공·상업용 서비스의 법적 준수 기준선이다. 2025년 6월 발효된 EU 접근성법(EAA), 2026년 4월 시행된 미국 DOJ Title II 규정, 영국 공공기관 접근성 규정이 모두 WCAG 2.1 AA를 기준으로 삼는다. 같은 아티클에 따르면 2025년 이후 미국 소규모 사업자에게 발송된 ADA 요구 서한의 약 4건 중 1건이 WCAG 4.1.3 위반을 명시적으로 인용하고 있다. 수정 비용은 개발자 1시간, 합의금은 5,000~20,000달러다.
기술적 해법 자체는 간단하다. aria-live="polite" 속성이 붙은 영역 안에 텍스트를 넣으면 스크린리더가 현재 읽던 내용을 방해하지 않고 조용히 알려준다. 로딩 시작 시 '주문을 제출하는 중입니다, 잠시 기다려 주세요'→ (10초 이상 지속될 경우) 중간 경과 메시지 → 완료 후 '주문이 성공적으로 접수되었습니다' 또는 오류 안내, 이 세 단계가 스크린리더 사용자에게 필요한 전부다. WooCommerce, Shopify, Wix 같은 주요 e-커머스 플랫폼의 기본 스피너에는 이 live region이 없다고 해당 아티클은 지적한다.
문제는 이 단순한 수정이 왜 여전히 빠져 있느냐다. 여기서 AI 워크플로우 이야기가 등장한다. Bali에서 디지털 에이전시를 운영하는 개발자가 dev.to에 공유한 사례를 보면, AI 도구 도입 후 프론트엔드 빌드 기간이 2주에서 1주로 줄었다. Cursor와 Claude로 컴포넌트를 스캐폴딩하고, AI 보조 자동 시각 회귀 테스트와 'AI 보조 a11y 리뷰'로 QA를 3일로 압축했다고 설명한다. 하지만 그가 솔직하게 인정한 것이 있다. "AI는 볼륨을 처리하고 인간이 방향을 잡는다. 이 순서를 뒤집으면 쓰레기를 더 빠르게 배출할 뿐이다."
AI 코드 생성 도구가 접근성을 자주 놓치는 이유는 구조적이다. axe-core 같은 자동화 스캐너는 잘못된 HTML 요소의 존재는 잡아내지만, aria-live 선언의 부재처럼 '없어서 문제인 것'은 탐지하지 못한다. AI 모델이 학습한 코드 코퍼스에도 접근성 처리가 제대로 된 로딩 상태 패턴보다 그냥 CSS 스피너가 압도적으로 많다. 결과적으로 Cursor든 Copilot이든 프롬프트에 명시하지 않으면 aria-live 없는 스피너를 자신 있게 생성해낸다. 빠르게 만들어지는 코드가 접근성이라는 품질 레이어를 조용히 건너뛰는 것이다.
이는 단지 접근성만의 문제가 아니다. 같은 에이전시 사례에서 '시니어 개발자가 auth 플로우에서 왜 사용자 12%가 이탈하는지 파악하는 시간'은 AI 이후에도 줄지 않았다고 언급한다. 스크린리더 침묵으로 인한 이중 클릭, 혼란에 의한 이탈, 신뢰 손상이 정확히 그런 '데이터로 잡히지 않는 12% 이탈'의 원인일 수 있다. 접근성 버그는 단순히 장애 사용자만의 문제가 아니라, 측정되지 않는 전환율 저하로 전 사용자에게 영향을 준다.
실무 시사점은 명확하다. AI 코드 생성 워크플로우에 접근성 검증 체크포인트를 의도적으로 삽입해야 한다. 구체적으로는 세 가지다. 첫째, 컴포넌트 생성 프롬프트에 "include appropriate aria-live regions for loading states"를 명시적으로 포함시킨다. AI는 요청받은 것만 만든다. 둘째, 자동화 테스트 파이프라인에 axe-core만이 아니라 실제 스크린리더 시나리오를 포함한 E2E 테스트를 추가한다. 폼 제출 → 로딩 → 완료 흐름을 NVDA나 VoiceOver로 검증하는 테스트 케이스 하나가 법적 리스크를 사전에 차단한다. 셋째, 디자인 시스템 차원에서 로딩 컴포넌트에 aria-live 패턴을 기본값으로 내장한다. shadcn/ui 같은 컴포넌트 라이브러리의 Skeleton이나 Spinner를 커스터마이징할 때 이 레이어를 팀의 표준으로 못 박아두는 것이다.
전망을 보면, 접근성은 AI가 코드 생산 속도를 높일수록 역설적으로 더 중요한 차별화 요소가 된다. 빠르게 만들어지는 동질적인 코드 속에서 '스크린리더가 침묵하지 않는 경험'은 기술 부채가 아니라 신뢰 자산이다. EU 접근성법 첫 번째 집행 파도가 2026년에 시작된다는 점, 미국 DOJ Title II 집행이 본격화된다는 점을 고려하면 지금이 마지막으로 저렴하게 고칠 수 있는 시점이다. AI는 이미 'a11y review' 단계를 QA 일정에 포함시키는 방향으로 에이전시 워크플로우를 재편하고 있다—하지만 그것이 실제로 실행되려면, 여전히 인간이 '넣어야 한다'고 결정해야 한다.