프로젝트 로그 #12: 일주일간 앱들을 감사(Auditing)하며 얻은 결과가 이 프로젝트를 바꾸어 놓았습니다.
요약
AI 에이전트의 앱 자동화 성능이 앱의 접근성(Accessibility) 레이블 구현 여부에 따라 결정된다는 분석을 담고 있습니다. 글로벌 앱은 접근성 표준을 준수하여 에이전트 작동이 원활하지만, 로컬 앱은 레이블 부재로 인해 자동화가 어렵다는 점을 지적합니다.
핵심 포인트
- AI 에이전트의 UI 조작 능력은 앱의 접근성 레이블(Accessibility labels)에 의존함
- 글로벌 앱은 높은 접근성 표준을 준수하여 에이전트 자동화에 유리함
- 접근성 결여는 시각 장애인뿐만 아니라 AI 에이전트의 사용도 차단함
- 에이전트 성능 측정을 위해 앱별 접근성 점수(A-F) 도입 필요성 제기
12일 차. 저는 접근성(Accessibility)을 위해 15개의 인기 있는 Android 앱을 테스트했습니다. 제가 발견한 결과는 누가 뒤처지고 있는지를 보여주었습니다.
저는 코딩을 일주일간 쉬었습니다.
막혀서가 아니었습니다. 피곤해서도 아니었습니다. 하지만 10일 차부터 저를 괴롭히던 무언가를 이해할 필요가 있었습니다.
왜 나의 AI 에이전트(AI agent)는 WhatsApp에서는 완벽하게 작동하는데, 내 은행 앱에서는 완전히 실패하는 걸까?
그 답을 찾는 데 테스트, 문서화, 그리고 고민의 일주일이 걸렸습니다. 그리고 제가 발견한 것은 이 프로젝트 전체의 방향을 바꾸어 놓았습니다.
일주일간의 감사 (The Week-Long Audit)
저는 15개의 인기 있는 Android 앱을 테스트했습니다. 각 앱에 대해 저는 동일한 질문을 던졌습니다: "내 에이전트가 UI 트리(UI tree)를 사용하여 핵심 버튼을 찾아 탭할 수 있는가?"
저는 앱을 열고, UI 계층 구조(UI hierarchies)를 덤프하고, XML을 파싱하며, 찾을 수 있는 모든 콘텐츠 설명(content description)을 문서화하는 데 수 시간을 보냈습니다. 저는 코딩을 한 것이 아니라, 조사(investigating)를 하고 있었습니다.
| 앱 | UI 트리 레이블 (UI Tree Labels) | 에이전트 자동화 가능 여부? |
|---|---|---|
| 매우 우수 | ✅ 완전 가능 | |
| ... |
이 패턴은 무시할 수 없었습니다. 글로벌 앱들은 풍부한 접근성 레이블(accessibility labels)을 가지고 있었습니다. 로컬 앱들은 아무것도 없었습니다.
이것이 실제로 의미하는 것
여기에 제가 받아들일 준비가 되지 않았던 진실이 있습니다.
접근성 레이블(Accessibility labels)은 스크린 리더(screen readers)가 시각 장애인 및 저시력 사용자에게 화면에 무엇이 있는지 알려줄 수 있도록 존재합니다. 개발자가 버튼에 content-desc="Send message"를 추가할 때, 그들은 시각 장애인이 WhatsApp을 사용하는 것을 돕고 있는 것입니다.
WhatsApp은 접근성에 투자했습니다. Google은 접근성에 투자했습니다. 그들의 앱은 수백만 명의 장애를 가진 사람들이 사용할 수 있으며—의도치 않게—저의 AI 에이전트도 사용할 수 있습니다.
접근성을 건너뛴 로컬 앱들은 단순히 제 에이전트를 차단한 것이 아닙니다. 그들은 해당 은행 앱, 정부 서비스, 통신 플랫폼을 사용해야 하는 모든 시각 장애인 및 저시력 사용자를 차단한 것입니다.
여기서 제 AI 에이전트는 피해자가 아닙니다. 그것은 탄광 속의 카나리아(canary in a coal mine)입니다.
접근성 격차 (The Accessibility Divide)
이 격차는 명확한 패턴을 따릅니다. 대규모 엔지니어링 팀과 법무팀을 보유한 글로벌 기술 기업들은 접근성을 우선시합니다. 그들은 전담 접근성 엔지니어를 두고, 스크린 리더(screen reader)로 테스트하며, WCAG 가이드라인을 준수합니다.
반면, 더 작은 팀이 제한된 예산으로 구축하는 경우가 많은 로컬 앱들은 접근성을 우선순위에서 제외합니다. 이는 핵심 요구사항이라기보다는 '있으면 좋은 것'으로 간주됩니다. 그 결과, 장애를 가진 사람뿐만 아니라 AI 에이전트에게도 사용 불가능한 전체 유형의 애플리케이션이 생겨납니다.
제가 취하는 조치
저는 제가 지원하는 모든 앱에 접근성 점수(accessibility score)를 추가하고 있습니다. 간단한 A부터 F까지의 등급입니다.
A — 완전 자동화 가능. 곳곳에 풍부한 레이블이 존재합니다. (WhatsApp, Google 앱)
B — 대부분 자동화 가능. 일부 공백이 있지만 레이블은 좋습니다. (Spotify, Slack)
C — 부분적으로 자동화 가능. 일부 레이블만 있고, 대부분 일반적입니다.
D — 거의 사각지대(blind). 레이블이 적습니다. OCR 폴백(OCR fallback)에 크게 의존합니다.
F — 완전히 접근 불가능. 레이블이 없습니다. AI와 스크린 리더 모두로 사용 불가합니다.
이 점수는 제 에이전트만을 위한 것이 아닙니다. 이는 공적인 신호입니다. 만약 귀하의 앱이 F 등급을 받는다면, 단순히 제 프로젝트에 실패하는 것만이 아닙니다. 당신은 서비스를 이용하려는 모든 시각 장애인들에게 실패하고 있는 것입니다.
다음 계획 (Day 13)
- 감사 대상을 30개 이상의 앱으로 확장합니다.
- 접근성 점수 목록의 첫 번째 버전을 공개할 예정입니다.
- 로컬 앱 개발자들에게 접근성 격차에 대해 연락하기 시작할 것입니다.
저장소 (The Repo)
👉 github.com/Dexter2344/phone-agent
감사 결과는 README에 추가되고 있습니다. 점수 시스템도 문서화되었습니다.
이것은 Day 12입니다. 저는 일주일 동안 코드를 작성하지 않았습니다. 그리고 그것은 이 프로젝트 전체에서 가장 생산적인 주였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기