programing

XML의 '이미지에 contentDescription 특성 누락'

skycolor 2023. 5. 12. 21:57
반응형

XML의 '이미지에 contentDescription 특성 누락'

[접근성]에 대한 경고가 표시됩니다.이클립스 이미지에 contentDescription 특성이 없습니다.이 경고는 5행에 표시됩니다(선언문).ImageView아래 XML 코드로 표시됩니다.

이것은 내 애플리케이션을 빌드하고 실행할 때 오류가 발생하지 않습니다.그런데 왜 이런 경고를 받는지 정말 알고 싶습니다.

다음은 내 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 콘텐츠설명 경고

Android:contentDescription for my ImageView 특성을 설정하여 이 경고를 해결했습니다.

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. TalkBack 및 Explorer by Touch와 같은 내게 필요한 옵션 서비스를 설정하여 프로그램을 테스트하고 방향 컨트롤만 사용하여 프로그램을 사용해 보십시오.

더하다android:contentDescription="@string/description"(정적 또는 동적) ImageView로 이동합니다.메시지를 무시하거나 필터링하지 마십시오. 장애 때문에 대체 입력 방법(TalkBack, Tecla Access Shield 등)을 사용하는 사람에게 유용합니다.

업데이트됨:

설명에서 지적했듯이 설명을 null로 설정하면 이미지가 순전히 장식적이며 TalkBack과 같은 화면 판독기에 의해 이해된다는 것을 나타냅니다.

오래된 답변, 저는 더 이상 이 답변을 지지하지 않습니다.

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

아닌 것 같습니다.android:contentDescription="@null"이것이 최선의 해결책입니다.

는 중용사를 합니다.tools:ignore="ContentDescription"그것이 운명입니다.

다음을 포함해야 합니다.xmlns:tools="http://schemas.android.com/tools"루트 레이아웃에 있습니다.

앞으로 순수하게 장식적인 그래픽 요소의 경우 가장 좋은 솔루션은 다음과 같습니다.

android:importantForAccessibility="no"

하위 버전을 실행하는 장치는 이 특성을 무시하기 때문에 최소 SDK 버전이 16 이상인 경우에 적합합니다.

이전 버전을 지원하지 못하는 경우 다음을 사용해야 합니다(다른 사용자가 이미 지적한 대로).

android:contentDescription="@null"

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

더하다

tools:ignore="ContentDescription"

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

이 경고는 정말로 성가신 것이며 대부분의 경우 다양한 장식 이미지 보기에 대한 내용 설명이 필요하지 않습니다.문제를 해결하는 가장 근본적인 방법은 린트에게 이 검사를 무시하라고 말하는 것입니다.Eclipse에서 환경설정의 "Android/Lint 오류 검사"로 이동하여 "내용 설명"("접근성" 그룹에 있음)을 찾은 후 "심각도:"를 "무시"로 변경합니다.

전혀 개의치 않는 경우 다음을 수행합니다.

    android:contentDescription="@null"

승인된 해결책을 조언하고 싶지만, 이것은 해킹입니다:D.

이 경고는 응용 프로그램의 접근성을 향상시키려고 합니다.

전체 프로젝트에서 누락된 내용 설명 경고를 비활성화하려면 응용 프로그램 모듈 build.gradle에 이 경고를 추가할 수 있습니다.

android {

    ...

    lintOptions {
        disable 'ContentDescription'
    }
}

이미지 설명이 정의되지 않았기 때문에 경고가 표시됩니다.

아래 Strings.xml 및 activity_main.xml에 이 코드를 추가하여 이 경고를 해결할 수 있습니다.

Strings.xml에 아래 줄 추가

<string name="imgDescription">Background Picture</string>
you image will be like that:
<ImageView
        android:id="@+id/imageView2"
        android:lay`enter code hereout_width="0dp"
        android:layout_height="wrap_content"
        android:contentDescription="@string/imgDescription"
        app:layout_editor_absoluteX="0dp"
        app:layout_editor_absoluteY="0dp"
        app:srcCompat="@drawable/background1"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

또한 activity_main.xml에 이 행을 추가합니다.

android:contentDescription="@string/imgDescription"

Strings.xml

<resources>
    <string name="app_name">Saini_Browser</string>
    <string name="SainiBrowser">textView2</string>
    <string name="imgDescription">BackGround Picture</string>
</resources>

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

반응형