Programming

XML에서 '이미지에 contentDescription 속성 누락'

procodes 2020. 5. 5. 20:56
반응형

XML에서 '이미지에 contentDescription 속성 누락'


이클립스의 이미지[Accessibility] Missing contentDescription 속성에 대한 경고가 표시 됩니다. 이 경고는 ImageView아래 XML 코드에서 5 행 (declare )에 표시 됩니다.

내 응용 프로그램을 빌드하고 실행할 때 오류가 발생하지 않습니다. 그러나 나는 왜이 경고가 나타나는지 알고 싶습니다.

이것은 내 XML 파일입니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/contact_entry_image"
        android:src="@drawable/ic_launcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    <TextView
        android:id="@+id/contact_entry_text"
        android:text=""
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        />

</LinearLayout>

이것에 대해 도와 주셔서 감사합니다.


해결책을 보려면이 링크를 따르십시오 : Android Lint contentDescription 경고

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

android : contentDescription = "@ string / desc"

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

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

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

설명을위한이 링크 : 접근성, 영향 및 개발 리소스

많은 Android 사용자는 다양한 방식으로 Android 기기와 상호 작용해야하는 장애가 있습니다. 여기에는 터치 스크린을 완전히 보거나 사용하지 못하게하는 시각, 신체 또는 연령 관련 장애가있는 사용자가 포함됩니다.

Android는 접근성 기능과 서비스를 제공하여 이러한 사용자가 텍스트 음성 변환, 햅틱 피드백, 트랙볼 및 경험을 향상시키는 D 패드 탐색을 포함하여 장치를보다 쉽게 ​​탐색 할 수 있도록합니다. Android 애플리케이션 개발자는 이러한 서비스를 활용하여 애플리케이션의 액세스 가능성을 높이고 자체 접근성 서비스를 구축 할 수 있습니다.

이 가이드는 앱의 접근성을 높이기위한 것입니다.

특히 프레임 워크 제공 사용자 인터페이스 구성 요소를 사용하는 경우 모든 사용자가 응용 프로그램에 액세스 할 수 있도록하는 것이 비교적 쉽습니다. 응용 프로그램에 이러한 표준 구성 요소 만 사용하는 경우 응용 프로그램에 액세스 할 수 있도록 몇 단계 만 수행하면됩니다.

  1. android : contentDescription 속성을 사용 하여 ImageButton , ImageView , EditText , CheckBox 및 기타 사용자 인터페이스 컨트롤에 레이블을 지정하십시오 .

  2. 트랙볼 또는 D 패드와 같은 방향성 컨트롤러를 사용하여 모든 사용자 인터페이스 요소에 액세스 할 수 있도록하십시오.

  3. 음성 안내 지원 및 터치하여 탐색과 같은 접근성 서비스를 설정하여 애플리케이션을 테스트하고 방향 제어 만 사용하여 애플리케이션을 사용해보십시오.


android:contentDescription="@string/description"ImageView에 (정적 또는 동적)을 추가하십시오 . 메시지를 무시하거나 필터링하지 마십시오. 음성으로 인해 대체 입력 방법을 사용하는 사람들에게 유용합니다 (TalkBack, Tecla Access Shield 등).


업데이트 :

설명에서 지적한 바와 같이 설명을 null로 설정하면 이미지가 순전히 장식 적이며 음성 안내 지원과 같은 스크린 리더에 의해 이해되는 것으로 나타납니다.

이전 답변, 더 이상이 답변을 지원하지 않습니다.

경고를 피하는 방법을 찾는 모든 사람들에게 :

android:contentDescription="@null"최선의 해결책 이라고 생각하지 않습니다 .

나는 그것을 사용 tools:ignore="ContentDescription"하려고합니다.

xmlns:tools="http://schemas.android.com/tools"루트 레이아웃에 포함시켜야 합니다.


더하다

tools:ignore="ContentDescription"

당신의 이미지에. xmlns:tools="http://schemas.android.com/tools" .루트 레이아웃 이 있는지 확인하십시오 .


The warning is indeed annoying and in many (most!) cases no contentDescription is necessary for various decorative ImageViews. The most radical way to solve the problem is just to tell the Lint to ignore this check. In Eclipse, go to "Android/Lint Error Checking" in Preferences, find "contentDescription" (it is in the "Accessibility" group) and change "Severity:" to Ignore.


If you don't care at all do this:

    android:contentDescription="@null"

Although I would advise the accepted solutions, this is a hack :D


Going forward, for graphical elements that are purely decorative, the best solution is to use:

android:importantForAccessibility="no"

This makes sense if your min SDK version is at least 16, since devices running lower versions will ignore this attribute.

If you're stuck supporting older versions, you should use (like others pointed out already):

android:contentDescription="@null"

Source: https://developer.android.com/guide/topics/ui/accessibility/apps#label-elements

참고URL : https://stackoverflow.com/questions/9730673/missing-contentdescription-attribute-on-image-in-xml

반응형