在XML中“缺lessimage上的contentDescription属性”

我得到一个关于[可访问性]在eclipse中的图像上缺lesscontentDescription属性的警告。 此警告显示在下面的XML代码中的第5行(声明ImageView )。

编译和运行我的应用程序时,这不会造成任何错误。 但是我真的很想知道为什么我会得到这个警告。

这是我的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> 

请帮助我,并感谢您的阅读。

按照此链接解决scheme: Android Lint contentDescription警告

通过为我的ImageView设置属性android:contentDescription解决了此警告

机器人:contentDescription = “@string/递减”

ADT 16中的Android Lint支持会引发此警告,以确保图像小部件提供contentDescription

这定义了简要描述视图内容的文本。 该属性主要用于可访问性。 由于某些视图没有文字表示,因此可以使用此属性来提供此类属性。

像ImageViews和ImageButtons这样的非文本小部件应该使用contentDescription属性来指定小部件的文本描述,以便屏幕阅读器和其他辅助工具可以充分描述用户界面。

这个链接解释: 可访问性,影响力和开发资源

许多Android用户都有需要他们以不同方式与Android设备互动的残疾。 这些包括具有视觉,身体或年龄相关残疾的用户,以防止他们完全看见或使用触摸屏。

Android提供辅助function和服务,帮助这些用户更轻松地浏览他们的设备,包括文本到语音,触觉反馈,跟踪球和D-pad导航,以增强他们的体验。 Android应用程序开发人员可以利用这些服务来提高应用程序的可访问性,并构build自己的无障碍服务。

本指南旨在使您的应用程序可访问: 使应用程序更 易于 访问

确保所有用户都可以访问应用程序相对容易,尤其是在使用框架提供的用户界面组件时。 如果您只为应用程序使用这些标准组件,则只需几个步骤即可确保您的应用程序可访问:

  1. 使用android:contentDescription属性标记ImageButtonImageViewEditTextCheckBox和其他用户界面控件。

  2. 使所有的用户界面元素都可以通过方向控制器(如轨迹球或D-pad)进行访问。

  3. 通过开启TalkBack和Explore by Touch等无障碍服务来testing您的应用程序,并尝试仅使用方向控件来使用您的应用程序。

android:contentDescription="@string/description" (静态或dynamic)添加到ImageView中。 请不要忽略也不要过滤这个信息,因为对于那些因为残疾而使用替代input法的人来说,这是非常有用的(像TalkBack,Tecla Access Shield等等)。

更新:

正如在评论中指出的那样,将描述设置为null表示图像纯粹是装饰性的,并且像TalkBack一样被屏幕阅读器理解。

老答案,我不再支持这个答案:

对于所有寻找如何避免这个警告的人来说:

我不认为android:contentDescription="@null"是最好的解决scheme。

我正在使用的tools:ignore="ContentDescription"这是什么意思。

确保在根布局中包含xmlns:tools="http://schemas.android.com/tools"

这个警告实际上是令人讨厌的,在许多(大多数情况下)情况下,对于各种装饰性的ImageViews,不需要contentDescription。 解决这个问题最激进的方法就是告诉林特忽略这个检查。 在Eclipse中,转到首选项中的“Android / Lint错误检查”,find“contentDescription”(位于“Accessibility”组),并将“Severity:”更改为忽略。

如果你根本不在乎这个:

  android:contentDescription="@null" 

虽然我会build议接受的解决scheme,这是一个黑客:D

 tools:ignore="ContentDescription" 

到你的形象。 确保你有xmlns:tools="http://schemas.android.com/tools" . 在你的根布局。