Recibo una advertencia sobre [Accesibilidad] Falta el atributo contentDescription en la imagen en eclipse. Esta advertencia se muestra en la línea 5 (declarar ImageView
) en el código XML a continuación.
Esto no hace ningún error al compilar y ejecutar mi aplicación. Pero realmente quiero saber por qué recibo esta advertencia.
Este es mi archivo 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>
Por favor, ayúdame con respecto a esto y gracias por tu lectura.
android:contentDescription
este atributoimageview
, solo una sugerencia, creo que puede ignorar esto, no comete el error de compilación, también puede verificarlohttp://developer.android.com/reference/android/view/View.html#attr_android:contentDescription
Respuestas:
Siga este enlace para la solución: contenido de Android Lint Advertencia de descripción
Este enlace para explicación: accesibilidad, impacto y recursos de desarrollo
Esta guía es para hacer que su aplicación sea accesible: hacer que las aplicaciones sean más accesibles
fuente
Agregue
android:contentDescription="@string/description"
(estático o dinámico) a su ImageView. No ignore ni filtre el mensaje, ya que es útil para las personas que utilizan métodos de entrada alternativos debido a su discapacidad (como TalkBack, Tecla Access Shield, etc.).fuente
Actualizado:
Como se señaló en los comentarios, establecer la descripción como nula indica que la imagen es puramente decorativa y los lectores de pantalla como TalkBack la entienden así.
Antigua respuesta, ya no apoyo esta respuesta:
Para todas las personas que buscan cómo evitar la advertencia:
No creo que
android:contentDescription="@null"
sea la mejor solución.Estoy usando
tools:ignore="ContentDescription"
eso es lo que debe ser.Asegúrese de incluir
xmlns:tools="http://schemas.android.com/tools"
en su diseño de raíz.fuente
@null
como contenido Descripción es una forma de decir explícitamente que esta imagen es puramente decorativa. Simplemente ignorar la advertencia no es la solución correcta.@null
le dice a TalkBack que la imagen es decorativa. No debe ignorar la advertencia, ya que poner@null
TalkBack informa en lugar de hacer que piense que falta y que debería estar allí.Añadir
a tu imagen. Asegúrese de tener
xmlns:tools="http://schemas.android.com/tools" .
en su diseño de raíz.fuente
La advertencia es realmente molesta y, en muchos casos (¡la mayoría!), No es necesaria la descripción de contenido para varias ImageViews decorativas. La forma más radical de resolver el problema es simplemente decirle a la pelusa que ignore esta verificación. En Eclipse, vaya a "Android / Lint Error Checking" en Preferencias, busque "contentDescription" (está en el grupo "Accesibilidad") y cambie "Severity:" a Ignore.
fuente
contentDescription
en un juego que requiere vista para poder jugar?Si no te importa, haz esto:
Aunque recomendaría las soluciones aceptadas, este es un truco: D
fuente
En el futuro, para los elementos gráficos que son puramente decorativos , la mejor solución es usar:
Esto tiene sentido si su versión mínima de SDK es de al menos 16, ya que los dispositivos que ejecutan versiones inferiores ignorarán este atributo.
Si está atascado admitiendo versiones anteriores, debe usar (como ya señalaron otros):
Fuente: https://developer.android.com/guide/topics/ui/accessibility/apps#label-elements
fuente
Esta advertencia intenta mejorar la accesibilidad de su aplicación.
Para deshabilitar la advertencia de descripción de contenido faltante en todo el proyecto, puede agregar esto al módulo de aplicación build.gradle
fuente
Le da la advertencia porque la descripción de la imagen no está definida.
Podemos resolver esta advertencia agregando este código a continuación en Strings.xml y activity_main.xml
Agregue esta línea a continuación en Strings.xml
Agregue también esta línea en activity_main.xml
Strings.xml
fuente