Android Lint 内容描述警告

发布于 2024-12-20 22:05:06 字数 92 浏览 1 评论 0原文

我收到警告 imageview 的“[辅助功能] 图像上缺少 contentDescription 属性”。而使用 android lint

是什么意思?

I am getting warning as
"[Accessibility] Missing contentDescription attribute on image" for imageview. while using android lint

What does that mean?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

恰似旧人归 2024-12-27 22:05:06

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

android:contentDescription="@string/desc"

ADT 16 中的 Android Lint 支持会抛出此警告以确保图像小部件提供 contentDescription。

这定义了简要描述视图内容的文本。该属性主要用于辅助功能。由于某些视图没有文本表示,因此该属性可用于提供此类表示。

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

Resolved this warning by setting attribute android:contentDescription for my ImageView

android:contentDescription="@string/desc"

Android Lint support in ADT 16 throws this warning to ensure that image widgets provide a contentDescription.

This defines text that briefly describes content of the view. This property is used primarily for accessibility. Since some views do not have textual representation this attribute can be used for providing such.

Non-textual widgets like ImageViews and ImageButtons should use the contentDescription attribute to specify a textual description of the widget such that screen readers and other accessibility tools can adequately describe the user interface.

生生漫 2024-12-27 22:05:06

禁用 Lint 警告很容易给您带来以后的麻烦。您最好只为所有 ImageView 指定 contentDescription。如果您不需要描述,则只需使用:

android:contentDescription="@null"

Disabling Lint warnings will easily get you into trouble later on. You're better off just specifying contentDescription for all of your ImageViews. If you don't need a description, then just use:

android:contentDescription="@null"
青瓷清茶倾城歌 2024-12-27 22:05:06

另一种选择是单独抑制警告:

xmlns:tools="http://schemas.android.com/tools"  (usually inserted automatically)
tools:ignore="contentDescription"

示例:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    tools:ignore="contentDescription" >

       <ImageView
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:padding="5dp"
            android:src="@drawable/icon" />

Another option is to suppress the warning individually:

xmlns:tools="http://schemas.android.com/tools"  (usually inserted automatically)
tools:ignore="contentDescription"

Example:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    tools:ignore="contentDescription" >

       <ImageView
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:padding="5dp"
            android:src="@drawable/icon" />
慵挽 2024-12-27 22:05:06

我建议您添加内容描述。

android:contentDescription="@string/contentDescriptionXxxx"

但是,让我们现实一点。大多数人不会为了可访问性而维护文字。
不过,只需付出很少的努力,您就可以实施一些措施来帮助残疾人。

<string name="contentDescriptionUseless">deco</string>
<string name="contentDescriptionAction">button de action</string>
<string name="contentDescriptionContent">image with data</string>
<string name="contentDescriptionUserContent">image from an other user</string>

盲人用户需要知道的最重要的事情是“我需要点击才能继续的按钮在哪里”

对任何可点击的内容使用 contentDescriptionAction。

对图像使用 contentDescriptionContent information (graph, textAsImage, ...)

使用 contentDescriptionUserContent 来表示所有用户提供的内容。

使用 contentDescriptionUseless 来处理其余的内容。

I recommend you to add the contentDescription.

android:contentDescription="@string/contentDescriptionXxxx"

but, let's be realistic. Most people don't maintain literal for accessibility.
Still, with little effort, you can implement something to help people with disability.

<string name="contentDescriptionUseless">deco</string>
<string name="contentDescriptionAction">button de action</string>
<string name="contentDescriptionContent">image with data</string>
<string name="contentDescriptionUserContent">image from an other user</string>

.

The most important thing the blind user will need to know is "Where is the button that I need to click to continue"

Use contentDescriptionAction for anything clickable.

use contentDescriptionContent for image with information (graph, textAsImage, ...)

use contentDescriptionUserContent for all user provided content.

use contentDescriptionUseless for all the rest.

那支青花 2024-12-27 22:05:06

由于这只是一个警告,您可以抑制它。转到 XML 的图形布局并执行以下操作:

  1. 单击右上角的红色按钮

    在此处输入图像描述

  2. 选择“禁用问题类型”(例如)

    在此处输入图像描述

Since it is only a warning you can suppress it. Go to your XML's Graphical Layout and do this:

  1. Click on the right top corner red button

    enter image description here

  2. Select "Disable Issue Type" (for example)

    enter image description here

〃安静 2024-12-27 22:05:06

转到 Gradle 文件(模块应用程序),添加以下代码块

android {
    ... 
    lintOptions {
        disable 'ContentDescription'
    }
    ...
}

不再有警告!快乐编码

Go to Gradle file (module app), add below code block

android {
    ... 
    lintOptions {
        disable 'ContentDescription'
    }
    ...
}

No more warning! happy coding

夜巴黎 2024-12-27 22:05:06

如果您想以优雅的方式抑制此警告(因为您确定此特定 ImageView 不需要可访问性),您可以使用特殊属性:

android:importantForAccessibility="no"

If you want to suppress this warning in elegant way (because you are sure that accessibility is not needed for this particular ImageView), you can use special attribute:

android:importantForAccessibility="no"
面犯桃花 2024-12-27 22:05:06

Android 可访问性所需的 ContentDescription
特别是对于屏幕阅读器功能。
如果您不支持 Android 辅助功能,可以忽略它
通过设置Lint

因此只需创建 lint.xml 即可。

<?xml version="1.0" encoding="UTF-8"?>
<lint>

    <issue id="ContentDescription" severity="ignore" />

</lint>

并将其放入 app 文件夹中。

输入图片此处描述

ContentDescription needed for the Android accessibility.
Particularly for the screen reader feature.
If you don't support Android accessibility you can ignore it
with setup Lint.

So just create lint.xml.

<?xml version="1.0" encoding="UTF-8"?>
<lint>

    <issue id="ContentDescription" severity="ignore" />

</lint>

And put it to the app folder.

enter image description here

忆梦 2024-12-27 22:05:06

对于纯粹装饰性的图形元素,请将其各自的 android:contentDescription XML 属性设置为“@null”。

如果您的应用仅支持运行 Android 4.1(API 级别 16)或更高版本的设备,您可以将这些元素的 android:importantForAccessibility XML 属性设置为“no”

For graphical elements that are purely decorative, set their respective android:contentDescription XML attributes to "@null".

If your app only supports devices running Android 4.1 (API level 16) or higher, you can instead set these elements' android:importantForAccessibility XML attributes to "no"

看轻我的陪伴 2024-12-27 22:05:06

非文本小部件需要以某种方式进行内容描述来以文本方式描述图像,以便屏幕阅读器能够描述用户界面。您可以忽略属性 xmlns:tools="http://schemas.android.com/tools"
tools:ignore="contentDescription"
或定义属性 android:contentDescription="your description"

Non textual widgets need a content description in some ways to describe textually the image so that screens readers to be able to describe the user interface. You can ignore the property xmlns:tools="http://schemas.android.com/tools"
tools:ignore="contentDescription"
or define the property android:contentDescription="your description"

软甜啾 2024-12-27 22:05:06

由于我需要 ImageView 添加一个图标只是为了美观,所以我在 xml 文件中的每个 ImageView 中添加了 tools:ignore="ContentDescription"

我不再收到任何错误消息

Since I need the ImageView to add an icon just for aesthetics I've added tools:ignore="ContentDescription" within each ImageView I had in my xml file.

I'm no longer getting any error messages

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文