"Отсутствует атрибут contentDescription на изображении" в XML

Я получаю предупреждение о [доступность]отсутствует атрибут contentDescription на изображение в Eclipse. Это предупреждение отображается в строке 5 (declare 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>

пожалуйста, помогите мне в этом и спасибо за ваше чтение.

6 ответов


перейдите по этой ссылке для решения: Android Lint contentDescription предупреждение

разрешено это предупреждение, установив атрибут android: contentDescription для моей книги

android: contentDescription= "@string / desc"

поддержка Android Lint в ADT 16 выдает это предупреждение, чтобы убедиться, что виджеты изображений обеспечивают contentDescription

определяет текст, который кратко описывает содержание из вида. Этот свойство используется главным образом для доступности. Поскольку некоторые представления не иметь текстовое представление этот атрибут можно использовать для предоставления такие.

нетекстовые виджеты, такие как ImageViews и ImageButtons, должны использовать атрибут contentDescription для указания текстового описания виджет такой, что читатели экрана и другие инструменты доступности могут адекватно опишите пользовательский интерфейс.

по этой ссылке объяснение: доступность, это влияние и ресурсы развития

многие пользователи Android имеют недостатки, которые требуют от них взаимодействия с их Android устройств по-разному. К ним относятся пользователи, которые имеют визуальные, физические или возрастные недостатки, которые предотвращают их от полного просмотра или использования сенсорного экрана.

Android предоставляет специальные возможности и услуги для оказания помощи этим пользователи перемещаются по своим устройствам более легко, включая text-to-speech, тактильная обратная связь, трекбол и D-pad навигация, которая увеличивает их опыт. Разработчики приложений Android могут воспользоваться этими службы, чтобы сделать их приложения более доступными, а также построить собственные службы доступности.

это руководство предназначено для того, чтобы сделать ваше приложение доступным: Сделать Приложения Более Доступными

убедитесь, что ваше приложение доступно для всех пользователей относительно легко, особенно при использовании пользовательского интерфейса, предоставляемого платформой комплектующие. Если вы используете только эти стандартные компоненты для применение, там как раз немного шагов необходимо обеспечить ваше приложение доступно:

  1. маркировка ImageButton, ImageView, полей EditText, флажок и других пользователей управление интерфейсом с помощью android: contentDescription.

  2. все элементы пользовательского интерфейса можно с дирекционным контроллер, например трекбол или D-pad.

  3. Проверьте свое приложение, включив службы специальных возможностей, такие как TalkBack и исследовать на ощупь, и попробуйте использовать приложение, используя только элементы управления направлением.


добавить android:contentDescription="@string/description" (статический или динамический) для вашего ImageView. Пожалуйста, не игнорируйте и не фильтруйте сообщение, потому что это полезно для людей, использующих альтернативные методы ввода из-за их инвалидности (например, TalkBack, Tecla Access Shield и т. д.).


обновление:

как указано в комментариях, установка описания в null указывает на то, что изображение является чисто декоративным и понимается как это читателями экрана, как TalkBack.

старый ответ, я больше не поддерживаю этот ответ:

для всех людей, которые ищут как избежать предупреждение:

не думаю android:contentDescription="@null" - лучшее решение.

Я использую tools:ignore="ContentDescription" это то, что должно быть.

обязательно указывайте xmlns:tools="http://schemas.android.com/tools" в корневом макете.


предупреждение действительно раздражает и во многих (большинство!) случаи никакое contentDescription не необходимо для различных декоративных ImageViews. Самый радикальный способ решить проблему - просто сказать корпии игнорировать эту проверку. В Eclipse перейдите в" Проверка ошибок Android/Lint "в настройках, найдите" contentDescription "(он находится в группе" доступность") и измените" серьезность:", чтобы игнорировать.


Если вам все равно, сделайте это:

    android:contentDescription="@null"

хотя я бы посоветовал принятые решения, это хак: D


добавить

tools:ignore="ContentDescription"

в ваш образ. Убедитесь, что у вас есть xmlns:tools="http://schemas.android.com/tools" . в корневом макете.