본문 바로가기
안드로이드 프로그래밍

안드로이드 ImageView에서 contentDescription의 역할

by Loyal 2021. 4. 8.
반응형

support.google.com/accessibility/android/answer/7158690?hl=ko

 

콘텐츠 라벨 - Android 접근성 고객센터

배경 스크린 리더 등 접근성 서비스의 사용자는 콘텐츠 라벨을 사용하여 인터페이스 내 요소의 의미를 이해합니다. 정보가 요소 내에서 시각적으로 전달되는 등의 일부 경우 콘텐츠 라벨은 해

support.google.com

먼저 contentDescription이 무엇인지부터 알아야 할 필요가 있다. contentDescription는 ImageView, ImageButton, CheckBox와 같은 시각적으로 정보를 전달하는 보기에서 이 속성을 사용한다. 시각장애인의 경우 이미지와 같은 정보들은 제대로 받아들일 수 없는 경우가 많기 때문에, 이를 대체할 설명도 필요한데, contentDescription이 이 역할을 해줄 수 있다.

 

VoiceOver와 같은 TTS가 ImageView를 클릭 할 경우, contentDescription에서 설정한 텍스트를 읽는다. 이와 같은 장애인 접근성에 훌륭한 수단이다.

 

xml에서는 다음과 같은 코드로 설정할 수 있다.

android:contentDescription="@string/imageview_descriptor"/>

@string/~와 같은 것들은 res/values/strings.xml에서 설정할 수 있다.

 

물론 코틀린 코드 상에서도 수정이 가능하다. 이미지가 실시간으로 변경될 수 있기 때문에, 그에 맞는 contentDescription이 필요하기 때문이다. 코드는 아래와 같다.

img_imageview.contentDescription = "대체될 텍스트"

여기서 img_imageview는 xml에서 설정한 ImageView의 id이므로, 본인의 ImageView의 id를 대체해서 넣으면 되겠다.

반응형