접근성
읽을 가치가 있는 성명은 무엇이 잘못되었는지 분명히 밝히는 성명이에요. 이 성명에는 그 내용과 함께 우리가 지향하는 기준, 놓친 부분을 신고하는 방법도 담겨 있어요.
- 목표 기준은 WCAG 2.2 AA
- 판단이 아닌 측정으로 확인한 대비
- 알려진 미비점 공개
위치
이 웹사이트는 WCAG 2.2 레벨 AA 기준에 맞춰 제작하며, 이를 단순히 가정하지 않고 직접 확인해요. 대비는 각 요소가 실제로 표시되는 배경 색상을 기준으로 측정하고, 기준을 충족하지 못하면 빌드가 차단돼요. 이는 선언해 두고 매년 한 번씩 다시 확인하는 목표가 아니라, 모든 릴리스마다 실행되는 검사예요.
완전한 준수를 주장하는 것은 아니에요. 알려진 미흡한 부분은 누락하지 않고 아래에 적어 두었어요. 이 사이트나 앱에서 사용할 수 없는 부분이 있다면 [email protected]로 제목을 Accessibility로 설정해 어떤 일이 있었는지 알려 주세요. 이는 의견이 아니라 결함 보고로 처리해요.
시행일
기본으로 구현된 사항
- 모든 페이지는 JavaScript 없이 작동해요. 기본적으로 아무것도 숨겼다가 스크립트로 표시하지 않기 때문에, 스크립트가 실패하거나 콘텐츠 차단이 엄격하게 적용되거나 텍스트 전용 클라이언트를 사용해도 페이지 콘텐츠가 표시돼요. 인터랙티브 요소는 이미 작동하는 페이지 위에 더해지는 기능이에요.
- 명암비는 실제로 칠해진 배경을 기준으로 측정해요. 임의로 가정한 색상과 눈대중으로 비교하는 대신, 각 요소를 뒤에서 받치는 첫 번째 불투명 조상 요소를 찾아 계산해요. 이 사이트의 본문 텍스트는 한때 4.49:1로 AA 기준에 못 미쳤지만, 보기에는 충분히 자연스러웠어요. 측정하고 나서야 그 사실을 발견했어요.
- 건너뛰기 링크와 표시되는 포커스가 있어요. 모든 페이지는 콘텐츠로 건너뛰는 링크로 시작하고, 모든 인터랙티브 요소에는 정돈을 위해 윤곽선을 제거하는 대신 포커스 표시가 보이도록 했어요.
- 의미론적 구조를 사용해요. 페이지마다 h1은 하나만 두고, 단계가 건너뛰지 않도록 제목 순서를 지키며, 실제 목록과 올바른 헤더 셀 및 캡션이 있는 표, 스크린 리더로 탐색할 수 있는 랜드마크를 사용해요.
- 모션은 시스템 설정을 따라요. prefers-reduced-motion이 설정되면 모든 애니메이션을 비활성화하고, 콘텐츠가 나타나는 애니메이션을 기다리지 않아도 즉시 표시해요.
- 텍스트 크기를 조정할 수 있어요. 레이아웃은 상대 단위와 재배치를 사용하기 때문에 텍스트를 확대하거나 창이 좁아져도 깨지거나 가로로 스크롤되지 않아요.
- 의미 있는 대체 텍스트를 사용해요. 이미 자체 텍스트를 포함한 링크 안의 이미지에는 의도적으로 빈 alt를 사용해요. 그런 이미지에 설명을 넣으면 스크린 리더가 같은 내용을 두 번 읽기 때문이에요.
현재 알려진 부족한 점
이 섹션이 있어야 이 페이지를 공개할 가치가 있어요. 각 항목은 실제 문제이고, 저희도 알고 있으며, 여기에서 해결된 문제인 것처럼 소개하지 않아요.
사이트가 서른 개 언어로 제공되지만 모든 언어에서 스크린 리더 테스트를 진행하지는 않았어요. 테스트는 영어로 진행했어요. 오른쪽에서 왼쪽으로 쓰는 언어의 발음과 읽기 순서, 그리고 저희가 사용하는 디스플레이 서체가 지원하지 않아 플랫폼 서체로 대체되는 문자 체계에서는 보조 기술을 사용해 확인하지 않았어요.
저희가 사용하는 두 가지 서체는 라틴 문자만 지원해요. 키릴 문자, 데바나가리 문자, 조지아 문자, 태국 문자, 아랍 문자, 히브리 문자, 벵골 문자, 에티오피아 문자와 CJK는 모두 플랫폼 자체 서체로 대체돼요. 일반적으로 가독성에는 도움이 되지만, 영어에서 저희가 조정하는 서체 세부 요소 — 굵기, 간격, 작은 텍스트가 더 이상 충분히 작지 않게 되는 크기 — 는 해당 지역 언어에서는 제어할 수 없다는 뜻이기도 해요.
일부 인터랙티브 요소는 최근에 추가되어 테스트가 덜 되었어요. 비교 표와 도움말 검색은 현재 위치에서 행을 필터링하는데, 이는 올바른 방식이에요. 하지만 변경된 결과 수를 스크린 리더에 알리는 기능은 구현은 되었지만 실제 사용자 테스트는 아직 진행하지 않았어요.
앱에도 같은 원칙을 적용하지만 사이트보다 점검 횟수가 적어요. 앱은 플랫폼 자체의 텍스트 크기 조정과 스크린 리더를 지원하고, 이 두 기능이 대부분의 작업을 처리해요. 하지만 현재는 출시 버전마다 공식적인 접근성 감사를 진행하지 않아요.
사이트와 앱 모두 공식적인 제3자 감사를 받은 적이 없어요. 보유하지 않은 인증을 받은 것처럼 보이게 하는 것보다 이 사실을 명확히 말하는 편이 낫다고 생각해요.
앱과 알아두면 좋은 한 가지
Telvio 앱은 실행되는 운영체제의 접근성 기능에 의존해요. iOS에서는 VoiceOver와 Dynamic Type을, Android에서는 TalkBack과 글꼴 크기 조정을 사용해요. 인터페이스가 키패드, 잔액, 요금 목록으로 구성된 앱에서 중요한 접근성 기능 대부분을 지원해요.
기능이라기보다 접근성의 특성으로 봐야 할 설계 결정이 하나 있어요. 앱에는 계정이 필요하지 않기 때문에 가입 양식, 입력해야 하는 비밀번호, 이메일 인증 단계, 메시지에서 찾아야 하는 코드가 없어요. 보조 기술을 사용하는 사람이나 양식을 어려워하는 사람이 가장 자주 겪는 상호작용 문제가 아예 존재하지 않는다는 뜻이에요. 설치하고, 전화를 걸고, 대화하면 돼요.
그에 따른 제한도 다른 모든 내용과 같은 페이지에 있어요. 앱으로는 긴급 서비스에 전화를 걸 수 없으며, 긴급 전화에 설명되어 있어요. 누군가 이 앱을 가족에게 해외 전화를 거는 고령자 등 친척을 위해 설정해 주는 경우가 많은데, 설정하면서 반드시 설명해야 할 가장 중요한 내용이에요.
문제를 알려주세요
제목을 Accessibility로 설정해 [email protected]로 이메일을 보내주세요. 페이지나 화면, 하려던 작업, 사용한 보조 기술과 버전, 대신 어떤 일이 일어났는지를 알려주시면 도움이 돼요. 어느 것도 필수는 아니에요. “스크린 리더로 요금 표를 사용할 수 없어요”라고 한 문장만 보내도 충분히 좋은 제보이고, 아무런 제보가 없는 것보다 그런 내용을 받는 편이 저희에게 더 좋아요.
영업일 기준 5일 이내에 문제를 평가한 결과와, 결함이 있다고 판단하는 경우 대략적인 처리 기간을 답변드리려고 해요. 작업을 완료하지 못하게 막는 문제는 다른 작업보다 먼저 수정하고, 작업을 어렵게 만드는 문제는 막연하게 약속하지 않고 솔직하게 대기열에 올려요.
유럽 연합에 거주하며 접근성 의무가 지켜지지 않고 있다고 생각한다면 관련 국가 집행 기관에 신고할 수도 있어요. 먼저 저희에게 알려주시길 바라지만, 어느 쪽으로 문의하시든 답변드릴게요.
점검이 실제로 진행되는 방식
설명해 둘 만한 내용이 두 가지 있어요. 선언과 실제 운영의 차이를 보여주기 때문이에요.
명암비는 분석하는 것이 아니라 실제로 칠해진 결과를 기준으로 확인해요. 스타일시트에서 읽어낸 색상 값은 요소가 어떤 색상이 되도록 지정되었는지만 알려줄 뿐, 최종적으로 어떻게 보이는지는 알려주지 않아요. 어두운 띠 위의 반투명 요소, 정규 표현식이 이해하지 못하는 최신 색상 함수, 영웅 이미지 위에 고정된 헤더가 그 예예요. 점검 과정에서는 각 요소의 실제 배경을 확인하기 위해 첫 번째 불투명 조상 요소까지 위로 올라가 브라우저 자체에서 색상을 계산한 다음 명암비를 계산해요. 그 결과 이 사이트의 본문 텍스트가 4.49:1이라는 사실을 발견했어요. AA 기준에 못 미치지만 단독으로 보면 전혀 이상해 보이지 않는 값이에요.
페이지는 작성된 코드가 아니라 렌더링된 결과를 기준으로 점검해요. 별도의 점검 도구가 실제 브라우저에서 각 페이지를 불러온 다음, 뷰포트 안의 텍스트 중 불투명도가 0인 것이 있는지, 문서가 가로로 스크롤되는지, 자체 배경색으로 칠해진 요소가 있는지를 확인해요. 마지막 점검은 실제 배포되기 전에는 터무니없게 들릴 수 있어요. 한 번은 그룹화된 CSS 규칙 하나가 레이블의 글자색과 배경색을 같은 값으로 설정했어요. 그 결과 1:1 명암비가 생겼지만 마크업에서도, DOM에서도, 소스 코드 스크린샷에서도 보이지 않았어요.
의도적으로 결정한 사항
- 허용하지 않으면 모션을 사용하지 않아요. 스크롤 애니메이션은 먼저 모션 사용을 원하는지 확인하는 스크립트에서 선택해야 활성화돼요. 따라서 모션 줄이기가 설정된 독자는 콘텐츠를 즉시 보고, 콘텐츠가 나타나는 장면을 보지 않아요.
- JavaScript 뒤에 콘텐츠를 숨기지 않아요. 어떤 콘텐츠도 보이지 않도록 작성하지 않아요. 이는 성능뿐 아니라 접근성을 위한 결정이기도 해요. 콘텐츠가 표시되려면 스크립트에 의존해야 하는 페이지는 그 스크립트가 실패하는 모든 사람에게도 실패하는 페이지예요.
- 데이터에는 아이콘보다 단어를 사용해요. 비교 표에는 체크 표시와 엑스 표시 대신 “예”, “없음”, “반올림”이라고 써요. 체크 표시는 읽어줄 때 모호하고 복사할 때 보이지 않기 때문이에요.
- 설명이 반복되는 곳에는 빈 alt를 사용해요. 자체 텍스트를 포함한 링크 안의 이미지에는
alt=""를 지정해 스크린 리더가 목적지를 두 번이 아니라 한 번만 읽도록 해요. - 넓은 표는 자체 영역 안에서 스크롤돼요. 페이지 전체를 옆으로 밀어내지 않기 때문에 휴대폰에서 문단을 읽으려고 가로 스크롤할 필요가 없어요.
결론
저희는 WCAG 2.2 AA 기준으로 개발하고 모든 릴리스에서 이를 확인해요. 대비는 추정값이 아니라 실제로 렌더링된 배경을 기준으로 측정해요. 이는 완전한 준수를 주장하는 내용은 아니에요.
현재 알려진 부족한 점은 다음과 같아요. 스크린 리더 테스트는 서른 개 언어 중 영어로만 진행했어요. 글꼴은 라틴 문자만 지원하므로 다른 문자 체계는 플랫폼 글꼴로 대체돼요. 가장 최근에 추가된 상호작용 요소는 테스트가 충분하지 않고, 제3자 감사도 진행하지 않았어요.
사용할 수 없는 부분은 제목을 Accessibility로 설정해 [email protected]로 알려 주세요. 해당 내용은 결함 보고로 처리하며, 작업을 막는 문제는 다른 작업보다 먼저 수정해요.
자주 묻는 질문
Telvio는 어떤 접근성 표준을 따르나요?
웹사이트의 목표는 WCAG 2.2 레벨 AA예요. 정기적으로 검토하는 대신 모든 릴리스에서 확인해요. 대비는 각 요소가 실제로 렌더링되는 배경을 기준으로 측정하고, 문제가 발견되면 빌드를 중단해요. 완전한 준수를 주장하지는 않아요.
Telvio 웹사이트는 JavaScript 없이도 작동하나요?
네. 기본적으로 숨겨 두었다가 스크립트로 표시하는 콘텐츠가 없어서, JavaScript가 비활성화되거나 차단되어도 모든 페이지의 콘텐츠가 표시돼요. 비교 필터 같은 대화형 기능은 이미 작동하는 페이지 위에 추가된 기능이에요.
Telvio는 접근성 감사를 받은 적이 있나요?
웹사이트와 앱 모두 제3자 감사를 받은 적이 없어요. 사이트의 모든 릴리스에서 자동 및 수동 검사를 진행하고 있으며, 이 안내에서는 알려진 부족한 점을 생략하지 않고 명시해요.
Telvio 앱은 스크린 리더로 이용할 수 있나요?
앱은 플랫폼 자체의 접근성 기능에 의존해요. iOS에서는 VoiceOver와 Dynamic Type을, Android에서는 TalkBack과 글꼴 크기 조정을 사용해요. 웹사이트보다 감사 횟수가 적고, 각 릴리스마다 공식적인 접근성 감사를 진행하지는 않아요.
접근성 문제는 어떻게 신고하나요?
[email protected]으로 제목을 Accessibility로 적어 이메일을 보내 주세요. 어떤 페이지나 화면인지, 무엇을 하려고 했는지, 어떤 일이 발생했는지 알려 주세요. 보조 기술과 버전 정보를 함께 보내면 도움이 되지만, 필수는 아니에요. 영업일 기준 5일 이내에 답변드리도록 하고 있어요.
사이트에서 내 언어를 사용할 때 다른 글꼴이 표시되는 이유는 무엇인가요?
사이트에 사용하도록 디자인된 두 서체는 라틴 문자만 지원해요. 키릴 문자, 데바나가리 문자, 조지아 문자, 태국 문자, 아랍 문자, 히브리 문자, 벵골 문자, 에티오피아 문자와 CJK 문자는 플랫폼 자체 글꼴로 대체돼요. 일반적으로 가독성에는 더 좋지만, 해당 언어 환경에서는 서체의 세부 표현을 저희가 제어할 수 없다는 뜻이에요.