Android Lint 컨텐츠 설명 경고


130

imageview에 대해 "[액세스 가능성] 이미지에 contentDescription 속성이 누락되었습니다"라는 경고가 표시됩니다. 안드로이드 린트를 사용하는 동안

그게 무슨 뜻이야?


5
이것은 매우 성가신 경고입니다-특히 감각을위한 이미지의 경우
누군가 어딘가에

6
나는 strings.xml의이 정의 : <string name="none"></string> 다음 나는 사용android:contentDescription="@string/none"
어딘가의 누군가에게

답변:


170

android:contentDescription내 ImageView의 속성 을 설정하여이 경고를 해결했습니다.

android:contentDescription="@string/desc"

ADT 16의 Android Lint 지원은 이미지 위젯이 contentDescription을 제공하도록하기 위해이 경고를 발생시킵니다.

뷰의 내용을 간략하게 설명하는 텍스트를 정의합니다. 이 속성은 주로 접근성을 위해 사용됩니다. 일부 뷰에는 텍스트 표현이 없으므로이 속성을 사용하여 해당 속성을 제공 할 수 있습니다.

ImageViews 및 ImageButtons와 같은 텍스트가 아닌 위젯은 contentDescription 속성을 사용하여 화면 판독기 및 기타 내게 필요한 옵션 도구가 사용자 인터페이스를 적절히 설명 할 수 있도록 위젯에 대한 텍스트 설명을 지정해야합니다.



49

린트 경고를 비활성화하면 나중에 쉽게 문제를 일으킬 수 있습니다. 모든 ImageView에 contentDescription을 지정하는 것이 좋습니다. 설명이 필요하지 않으면 다음을 사용하십시오.

android:contentDescription="@null"

38

다른 옵션은 경고를 개별적으로 억제하는 것입니다.

xmlns:tools="http://schemas.android.com/tools"  (usually inserted automatically)
tools:ignore="contentDescription"

예:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    tools:ignore="contentDescription" >

       <ImageView
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:padding="5dp"
            android:src="@drawable/icon" />

잘못된-RelativeLayout에 tools : ignore = "contentDescription"을 추가하면 컴파일시 "속성에 Android 네임 스페이스 접두사가 누락되었습니다"라는 오류가 발생했습니다
.

3
이것은 일식 문제입니다. 프로젝트를 청소하십시오. xmlns : tools = " schemas.android.com/tools "도 포함되어 있는지 확인하십시오 !
Gunnar Bernstein

24

contentDescription을 추가하는 것이 좋습니다.

android:contentDescription="@string/contentDescriptionXxxx"

하지만 현실적이되자. 대부분의 사람들은 접근성을 위해 문자 그대로를 유지하지 않습니다. 그러나 노력이 거의 들지 않으면 장애가있는 사람들을 돕기 위해 무언가를 구현할 수 있습니다.

<string name="contentDescriptionUseless">deco</string>
<string name="contentDescriptionAction">button de action</string>
<string name="contentDescriptionContent">image with data</string>
<string name="contentDescriptionUserContent">image from an other user</string>

.

시각 장애인이 알아야 할 가장 중요한 것은 "계속하려면 클릭해야하는 버튼은 어디에 있습니까?"입니다.

클릭 가능한 내용에는 contentDescriptionAction을 사용하십시오.

정보가있는 이미지에는 contentDescriptionContent를 사용하십시오 (graph, textAsImage, ...)

모든 사용자 제공 컨텐츠에 contentDescriptionUserContent를 사용하십시오.

나머지는 모두 contentDescriptionUseless를 사용하십시오.


1
감사! 경고를 억제하기 위해 항상이 설명을 제공하는 것이 가장 좋습니다.
Vinicius Paldês

12

경고 일 뿐이므로 억제 할 수 있습니다. XML의 그래픽 레이아웃으로 이동하여 다음을 수행하십시오.

  1. 오른쪽 상단의 빨간 버튼을 클릭하십시오

    여기에 이미지 설명을 입력하십시오

  2. "문제 유형 비활성화"를 선택하십시오 (예 :)

    여기에 이미지 설명을 입력하십시오


4
사실, 당신 그것을 억제 할 수는 있지만 아마도 안드로이드가 제공하는 접근성 도구를 사용하는 사용자를 위해 선택된 답변의 조언을 따라야합니다.
Kyle Falconer

이거 야!!! 내가 찾던 것입니다. 이 답변과 @Gunnar Bernstein의 답변이 있습니다.
IronBlossom

3

이 특정 ImageView에 액세스 가능성이 필요하지 않기 때문에이 경고를 우아하게 표시하지 않으려는 경우 특수 속성을 사용할 수 있습니다.

android:importantForAccessibility="no"

2

Gradle파일 (모듈 앱)로 이동하여 코드 블록 아래에 추가하십시오.

android {
    ... 
    lintOptions {
        disable 'ContentDescription'
    }
    ...
}

더 이상 경고가 없습니다! 행복한 코딩


행복 코딩, 그러나 이것은 사실에 의존하는 사람들을위한 접근성을 해칠 것을 참고
나는 개구리 용이야

1

비 텍스트 위젯은 화면 판독기가 사용자 인터페이스를 설명 할 수 있도록 텍스트로 이미지를 텍스트로 설명하는 방식으로 컨텐츠 설명이 필요합니다. 속성을 무시하거나 속성을 정의 할 수 있습니다xmlns:tools="http://schemas.android.com/tools"
tools:ignore="contentDescription"
android:contentDescription="your description"


1

ContentDescription안드로이드 접근성에 필요합니다. 특히 스크린 리더 기능. Android 접근성을 지원하지 않는 경우 setup Lint로 무시할 수 있습니다 .

그래서 그냥 만드십시오 lint.xml.

<?xml version="1.0" encoding="UTF-8"?>
<lint>

    <issue id="ContentDescription" severity="ignore" />

</lint>

그리고 그것을 app폴더에 넣으십시오 .

여기에 이미지 설명을 입력하십시오


1

순전히 장식적인 그래픽 요소의 경우 각각의 android : contentDescription XML 속성을 "@null"로 설정하십시오.

앱이 Android 4.1 (API 레벨 16) 이상을 실행하는 기기 만 지원하는 경우 대신 이러한 요소의 android : importantForAccessibility XML 속성을 "no"로 설정할 수 있습니다


android : importantForAccessibilty는 내가 찾던 것입니다. 감사합니다!
Hrafn

이것은 실제로 정답이며 최상위 답변이어야합니다.
lsrom 2016 년

0

미학을 위해 아이콘을 추가하려면 ImageView가 필요하므로 추가했습니다. tools:ignore="ContentDescription" XML 파일에있는 각 ImageView 내에 .

더 이상 오류 메시지가 표시되지 않습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.