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

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

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

Ответ 1

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

Устранено это предупреждение, установив атрибут android: contentDescription для моего ImageView

Android: contentDescription = "@строка/убывание"

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

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

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

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

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

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

Это руководство предназначено для того, чтобы сделать ваше приложение доступным: Расширение доступа к приложениям

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

  • Назовите ImageButton, ImageView, EditText, CheckBox и других пользователей. интерфейса, используя атрибут android: contentDescription.

  • Сделать доступными все элементы пользовательского интерфейса с помощью направленного контроллер, например трекбол или D-pad.

  • Проверьте свое приложение, включив службы доступности, такие как TalkBack и Explore by Touch, и попробуйте использовать ваше приложение, используя только направленные средства управления.

Ответ 2

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

Ответ 3

Обновлено:

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

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

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

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

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

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

Ответ 4

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

Ответ 5

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

    android:contentDescription="@null"

Хотя я бы посоветовал принять принятые решения, это взломать: D

Ответ 6

Добавить

tools:ignore="ContentDescription"

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