Pha*_*tHV 207 eclipse android warnings accessibility android-imageview
我在eclipse中的图像上收到关于[辅助功能]缺少contentDescription属性的警告.此警告显示在ImageView
下面的XML代码中的第5行(声明).
这在构建和运行我的应用程序时不会出现任何错误.但我真的想知道为什么我会收到这个警告.
这是我的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>
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题并感谢您的阅读.
Pha*_*tHV 261
请点击此链接获取解决方案: Android Lint contentDescription警告
通过为我的ImageView设置属性android:contentDescription解决了此警告
机器人:contentDescription = "@字符串/递减"
ADT 16中的Android Lint支持会抛出此警告,以确保图像窗口小部件提供contentDescription
这定义了简要描述视图内容的文本.此属性主要用于辅助功能.由于某些视图没有文本表示,因此该属性可用于提供此类属性.
像ImageViews和ImageButtons这样的非文本小部件应该使用contentDescription属性来指定小部件的文本描述,以便屏幕阅读器和其他可访问性工具可以充分描述用户界面.
此链接用于解释: 可访问性,它的影响和开发资源
许多Android用户都需要他们以不同的方式与他们的Android设备进行互动.这些用户包括视力,身体或年龄相关的残疾,这些用户无法完全看到或使用触摸屏.
Android提供辅助功能和服务,帮助这些用户更轻松地浏览他们的设备,包括文本到语音,触觉反馈,轨迹球和D-pad导航,增强他们的体验.Android应用程序开发人员可以利用这些服务使其应用程序更易于访问,并构建自己的可访问性服务.
确保所有用户都可以访问您的应用程序相对容易,尤其是在使用框架提供的用户界面组件时.如果您只为您的应用程序使用这些标准组件,则只需几个步骤即可确保您的应用程序可访问:
使用android:contentDescription属性标记ImageButton,ImageView,EditText,CheckBox和其他用户界面控件.
使用方向控制器(例如轨迹球或D-pad)可以访问所有用户界面元素.
通过启用TalkBack和Explore by Touch等辅助功能服务来测试您的应用程序,并尝试仅使用方向控件来使用您的应用程序.
小智 65
添加android:contentDescription="@string/description"
(静态或动态)到ImageView.请不要忽略或过滤消息,因为它有助于使用替代输入方法的人因为他们的残疾(如TalkBack,Tecla Access Shield等).
Sot*_*tti 33
更新:
正如评论中指出的那样,将描述设置为null表示该图像纯粹是装饰性的,并且被像TalkBack这样的屏幕阅读器理解.
老答案,我不再支持这个答案:
对于所有寻求如何避免警告的人:
我认为不是android:contentDescription="@null"
最好的解决方案.
我正在使用tools:ignore="ContentDescription"
那就是意味着什么.
确保包含xmlns:tools="http://schemas.android.com/tools"
在根布局中.
are*_*lek 12
展望未来,对于纯粹装饰的图形元素,最好的解决方案是使用:
android:importantForAccessibility="no"
Run Code Online (Sandbox Code Playgroud)
如果您的最小 SDK 版本至少为 16,这很有意义,因为运行较低版本的设备将忽略此属性。
如果你坚持支持旧版本,你应该使用(就像其他人已经指出的那样):
android:contentDescription="@null"
Run Code Online (Sandbox Code Playgroud)
来源:https : //developer.android.com/guide/topics/ui/accessibility/apps#label-elements
小智 10
加
tools:ignore="ContentDescription"
Run Code Online (Sandbox Code Playgroud)
对你的形象.确保您具有xmlns:tools="http://schemas.android.com/tools"
.
根布局.
小智 9
警告确实令人讨厌,并且在许多(大多数!)情况下,各种装饰性ImageView都不需要contentDescription.解决问题最根本的方法就是告诉Lint忽略这个检查.在Eclipse中,转到"首选项"中的"Android/Lint错误检查",找到"contentDescription"(它位于"辅助功能"组中)并将"严重性:"更改为"忽略".
如果你根本不关心这样做:
android:contentDescription="@null"
Run Code Online (Sandbox Code Playgroud)
虽然我会建议接受的解决方案,但这是一个黑客:D
此警告试图提高应用程序的可访问性。
要在整个项目中禁用缺少内容描述警告,您可以将其添加到您的应用程序模块 build.gradle
android {
...
lintOptions {
disable 'ContentDescription'
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
261961 次 |
最近记录: |