ARIA 접근성 가이드

모바일 앱 접근성 지침 · 5. 인식의 용이성 · 5.2 멀티미디어 대체수단

5.2.1 자막 또는 수어

오디오·비디오를 포함한 멀티미디어 콘텐츠에는 자막 또는 수어를 제공해야 합니다. 생방송 콘텐츠도 포함합니다.

KS X 3253:2016

한눈에 보기

검사 항목
5.2.1 자막 또는 수어
원칙
5. 인식의 용이성
지침
5.2 멀티미디어 대체수단
도입
KS X 3253:2016

요구 사항

오디오 또는 비디오를 포함한 멀티미디어 콘텐츠에는 동등한 내용의 자막 또는 수어를 제공해야 하며, 생방송 멀티미디어 콘텐츠에도 제공해야 합니다. 다음 중 한 가지 이상을 제공합니다.

  • 자막 — 재생할 때 동기화된 자막을 화면에 표시할 수 있어야 하며, 음성(대사)과 동등한 내용을 전달해야 합니다.
  • 수어 — 비디오에 수어를 포함해 제공해도 이 항목을 준수한 것으로 봅니다. 수어도 음성(대사)과 동등한 내용이어야 합니다.

개정 내역: 강화 — 2016판 「5.2 자막, 수화 등의 제공」

WCAG 대응표에서는 사전 녹화 자막(1.2.2)뿐 아니라 실시간 자막(1.2.4)과 수어(1.2.6)까지 이 항목에 대응시킵니다.

왜 필요한가요

청각장애인은 자막과 수어로 음성·음향 정보에 접근할 수 있습니다. 자막은 시끄럽거나 소리를 켤 수 없는 환경, 외국어 학습에도 유용하며 영상 내용의 검색과 색인을 쉽게 해 줍니다.

도움받는 사용자

  • 농인·난청인 등 청각장애인
  • 소리를 켤 수 없는 환경(대중교통, 사무실)의 사용자
  • 외국어 사용자

적용 방법

플랫폼 기본 플레이어의 자막 트랙 기능을 활용하고, 사용자가 자막을 켜고 끌 수 있게 합니다. 운영체제의 자막 설정(Android 자막 환경설정, iOS 자막 및 청각 장애인용 자막)을 존중하면 글자 크기·색을 사용자가 바꿀 수 있습니다.

Android (Kotlin · View)
// Media3 ExoPlayer: 자막(WebVTT) 트랙 추가
val subtitle = MediaItem.SubtitleConfiguration.Builder(Uri.parse(vttUrl))
    .setMimeType(MimeTypes.TEXT_VTT)
    .setLanguage("ko")
    .setSelectionFlags(C.SELECTION_FLAG_DEFAULT)
    .build()
val item = MediaItem.Builder()
    .setUri(videoUrl)
    .setSubtitleConfigurations(listOf(subtitle))
    .build()
player.setMediaItem(item)
iOS (Swift · UIKit)
// AVPlayerViewController는 HLS 자막 트랙과 시스템 자막 설정을 자동으로 지원합니다.
let vc = AVPlayerViewController()
vc.player = AVPlayer(url: hlsURL)   // 자막(WebVTT) 트랙이 포함된 HLS
// 사용자가 시스템에서 자막을 켰는지 확인
let wantsCaptions = UIAccessibility.isClosedCaptioningEnabled
React Native
// react-native-video: 외부 자막 트랙
<Video
  source={{ uri: videoUrl }}
  textTracks={[{ title: '한국어', language: 'ko', type: 'text/vtt', uri: vttUrl }]}
  selectedTextTrack={{ type: 'language', value: 'ko' }}
/>

사례

자막 선택 버튼 제공

권장텍스트
[▶ 재생] [CC 자막: 한국어 ▾] [음량]
자막 트랙: ko.vtt (대사 + "(문 닫히는 소리)" 같은 효과음 설명 포함)

영상 안 대사가 자막 없이 음성으로만 제공

비권장텍스트
제품 소개 영상 (자막 없음, 수어 없음)

자주 하는 실수

  • 대사가 있는 영상에 자막도 수어도 제공하지 않습니다.
  • 자막이 대사 일부만 담거나 음성과 시점이 맞지 않습니다.
  • 실시간 방송(라이브 커머스 등)에 자막이나 수어 통역이 없습니다.
  • 자막 켜기 버튼이 레이블 없이 아이콘만 있어 화면낭독기 사용자가 찾을 수 없습니다.

검사 방법

  • 앱 안의 모든 동영상·오디오 콘텐츠 목록을 만들고 각각 자막 또는 수어가 있는지 확인합니다.
  • 자막 내용이 대사와 동등한지, 음성과 동기화되는지 확인합니다.
  • 생방송 콘텐츠에 실시간 자막 또는 수어가 있는지 확인합니다.
  • 자막 켜기/끄기 컨트롤이 TalkBack·VoiceOver로 조작 가능한지 확인합니다.

다른 지침의 대응 항목