스크린 리더
Screen Reader
도구
화면에 있는 것을 소리로 바꿔 읽어 주어, 화면을 보지 않고도 제품을 조작하게 해 주는 프로그램입니다.
등장 배경
컴퓨터는 처음부터 화면을 본다는 전제로 만들어졌습니다. 눈으로 볼 수 없는 사람에게 화면은 아무 정보가 아니었습니다. 종이에 인쇄된 책은 점자로 옮겨 둘 수 있었지만 화면은 누를 때마다 내용이 바뀝니다. 미리 옮겨 두는 방식으로는 따라갈 수 없는 대상이었습니다.
그래서 화면을 읽는 일을 프로그램이 맡게 됐습니다. 스크린 리더는 화면에 무엇이 있는지를 운영체제에서 받아다 소리로 바꿔 내보냅니다. 사용자는 키보드로 위치를 옮기고, 옮긴 자리에 무엇이 있는지를 귀로 확인합니다.
이 프로그램이 생기면서 만드는 쪽에 책임이 하나 붙었습니다. 보이는 모양이 아니라 그 모양에 붙은 이름과 구조가 전달되기 때문입니다. 페이지덱에서 태오가 자기가 만든 문서 목록 화면을 눈을 감고 들어 봤을 때 들린 것은 버튼, 버튼, 버튼이었습니다. 공유와 댓글과 삭제 아이콘이 나란히 놓여 있었는데 이름이 붙어 있지 않았습니다. 장애나 상황에 관계없이 쓸 수 있게 만드는 접근성은 기준과 구현과 보조 기술로 갈리는데, 스크린 리더는 사용자에게 결과를 전달하는 마지막 자리입니다.
해결하는 문제
눈으로 훑는 일을 귀로 대신하게 만드는 것이 이 도구가 맡은 일입니다. 눈은 화면 전체를 한 번에 보고 원하는 자리로 바로 가지만, 소리는 순서대로 흐릅니다. 처음부터 끝까지 읽어 주기만 하면 긴 화면에서 아무것도 찾을 수 없습니다. 그래서 실제 동작은 낭독이 아니라 훑기입니다.
- 목차로 훑습니다. 제목만 건너뛰며 듣거나, 링크만 뽑아 목록으로 듣거나, 입력란만 차례로 옮겨 다닙니다. 문서 화면에서 소제목 스무 개를 듣고 원하는 대목으로 바로 가는 식입니다.
- 이름을 읽습니다. 아이콘의 그림은 전달되지 않고 거기 붙은 이름이 전달됩니다. 이름이 없으면 버튼 셋이 버튼, 버튼, 버튼으로 읽히고 이름이 있으면 공유 버튼, 댓글 버튼, 삭제 버튼으로 읽힙니다. 같은 화면인데 하나는 아무 정보가 없고 하나는 목차 구실을 합니다.
- 역할을 읽습니다. 요소의 뜻에 맞는 태그를 쓰는 시맨틱 마크업이 되어 있으면 버튼은 버튼으로, 제목은 몇 단계 제목으로 전달됩니다. 모양만 버튼처럼 꾸민 상자는 상자로 읽히고 키보드로 선택되지도 않습니다.
- 이미지를 읽습니다. 그림 자체는 소리가 되지 않으니 대체 텍스트로 적어 둔 문장이 대신 읽힙니다. 3분기 매출 그래프라고만 적힌 것과 7월 대비 12퍼센트 증가라고 적힌 것은 듣는 사람에게 다른 정보입니다.
- 상태를 읽습니다. 저장 중이라는 표시가 화면 구석에 떴다 사라지는 것은 눈에만 보입니다. 보조 기술에 역할과 상태를 알려 주는 속성 규격인 ARIA로 알려 주어야 소리로 전달됩니다.
조작은 전부 키보드로 일어납니다. 마우스로만 닿는 자리는 스크린 리더 사용자에게 없는 자리와 같아서, 키보드 내비게이션이 없는 화면은 읽히기는 하지만 눌리지 않습니다. 반대로 눈으로 보며 키보드를 쓰는 사용자에게는 지금 선택된 자리를 테두리로 보여 주는 포커스 링이 같은 구실을 합니다.
대안
사용자 쪽에 다른 보조 수단이 여럿 있지만 서로를 대신하지는 않습니다. 화면을 크게 키우는 확대 기능과 색을 뒤집어 대비를 높이는 설정은 남아 있는 시력을 쓰는 방법이고, 시력이 전혀 없으면 소리 말고 쓸 통로가 없습니다. 점자 정보 단말은 스크린 리더가 읽어 낸 것을 소리 대신 점자로 내보내는 장치라 대안이 아니라 출력 방식입니다. 음성 명령은 손을 쓰기 어려운 경우에 맞고, 화면 내용을 알려 주지는 않습니다.
만드는 쪽의 대안은 자동 검사 도구입니다. 화면을 훑어 규칙 위반을 목록으로 내주는 프로그램인데, 기계가 판정할 수 있는 것만 잡습니다. 이름이 비어 있는 버튼은 잡아내지만 이름이 틀린 버튼은 통과시킵니다. 대체 텍스트에 파일 이름이 그대로 들어가 있어도 글자가 채워져 있으니 규칙상 문제가 없습니다. 웹 접근성의 국제 표준 지침인 WCAG 항목을 표로 대조하는 검토서도 한계가 같습니다.
그래서 실무에서는 셋을 겹칩니다. 자동 검사로 빠진 것을 걸러 내고, 스크린 리더를 켜서 한 흐름을 끝까지 들어 보고, 가능하면 이 도구를 매일 쓰는 사용자에게 같은 흐름을 맡겨 봅니다.
실무 용례
"이 아이콘 버튼들 이름이 안 붙어 있어서 스크린 리더로는 버튼 버튼 버튼으로 읽힙니다."
화면에 보이는 그림이 소리로는 아무것도 전달하지 않는다는 지적입니다.
"모달이 열렸는데 초점이 안 옮겨 가서 뒤에 있는 목록만 계속 읽혀요."
키보드 초점을 새로 뜬 창으로 옮겨 주지 않아 사용자가 갇힌 상태라는 뜻입니다.
"스크린 리더 켜고 이 흐름 끝까지 가 보셨어요? 저는 세 번째 화면에서 막혔습니다."
문서 점검이 아니라 직접 들어 본 결과로 이야기하자는 요구입니다.
페이지덱이 공공기관 도입 검토에서 접근성 항목을 제출하게 된 분기에 이 대화가 늘었습니다. 민서가 시안 단계에서 아이콘마다 읽힐 이름을 함께 적어 넘기고, 태오는 새 화면을 올릴 때 스크린 리더로 한 번 들어 본 뒤에 검토를 요청했습니다. 바꾼 것은 작업 순서 하나뿐인데 검토에서 되돌아오는 항목이 크게 줄었습니다.
흔한 오해
전혀 볼 수 없는 사용자만 쓰는 도구로 아는 경우가 가장 많습니다. 이름에 읽어 준다는 말이 들어 있어서 그렇게 읽힙니다. 실제로는 글자를 읽기 어려운 사용자가 글과 소리를 함께 쓰기도 하고, 눈 수술 후 회복 기간이나 운전 중처럼 일시적인 상황에서도 켭니다. 대상을 전맹 사용자로만 잡으면 사용자 수가 실제보다 훨씬 작게 보이고, 그 숫자를 근거로 우선순위가 가장 뒤로 밀립니다.
개발 마지막에 붙이는 작업으로 여기는 것도 흔합니다. 코드에 속성 몇 개를 더하면 되는 일처럼 보이기 때문입니다. 하지만 읽힐 것이 있는지 없는지는 시안에서 이미 정해집니다. 아이콘만 놓고 글자를 빼기로 한 결정, 색만으로 상태를 구분하기로 한 결정, 누를 수 있는 영역을 터치 타깃보다 작게 잡은 결정이 모두 화면 구조를 바꿉니다. 코드 단계에서 알아차리면 다시 그려야 하고, 일정이 없으면 다음 분기로 밀립니다.
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16