2012-02-08 11 views
12

pelusa se queja hey establecer un contentDescription. Para evitar crear una cadena, lo configuré como nulo.contentDescription = "@ null" una mala idea?

android:contentDescription="@null" 

Esto parece calmar las quejas de la pelusa. Estoy un poco perdido por qué necesito establecer una referencia de cadena para el contentDescription. ¿Cuál es el propósito de esto? ¿Por qué alguna vez necesitaría esto? y esencialmente estableciéndolo en nulo, ¿es una buena idea?

Respuesta

22

Es para accesibilidad para ciegos. Para su accesibilidad, las aplicaciones que utilizan el contentDescription ayudan a las personas ciegas a navegar usando las capacidades de texto a voz de Android. Entonces, si alguien selecciona un ImageButton a través de un panel táctil o algo así, el TTS puede hablar el contentDescription para que pueda navegar fácilmente por la aplicación. Vea this para más información.

Para responder a su pregunta: podría silenciar la salida de pelusa, pero no está haciendo nada necesariamente malo o bueno.

+1

¡Muchas gracias por su respuesta! Es exactamente lo que necesitaba saber para entender esto :) – Jona

+0

Excelente. La mejor de las suertes. –

+2

¡Muchas gracias! También es exactamente la información que estaba buscando. ¡Voy a mejorar las descripciones de contenido en mis aplicaciones! – Genom

9

Sé que esta pregunta se le preguntó hace un tiempo, pero en beneficio de los nuevos lectores que podrían atravesarse en esto:

Brian es absolutamente correcta en lo que se utiliza para contentDescription. Sin embargo, hay ocasiones en que no solo es apropiado, sino que prefiere para establecerlo en @null. Si una imagen es puramente decorativa y no se puede hacer clic o está relacionada con el contenido, debe establecer el contentDescription en @null. De lo contrario, configúralo para algo significativo.

Recuerde cualquier cosa configurada como un contenidoDescripción de la descripción en voz alta por el dispositivo cuando se utiliza un lector de pantalla. Imagine en su mente un diálogo emergente simple. Ahora, mental escuchar estas dos descripciones de contenidos diferentes para el mismo cuadro de diálogo: descripciones

  • "Information icon. Do you want to continue? Fancy horizontal rule. Button. Button."

    web frente a

  • "Do you want to continue? Submit. Cancel."

contenido que no están bien pensado acaba siendo tonto. Elementos tales como iconos de leyenda que simplemente repiten el texto junto a ellos o bordes extravagantes que no contribuyen al significado de la página deben suprimirse con @null. Por el contrario, todo lo que se puede hacer clic no solo debe tener una descripción, debe tener una descripción significativa de . Si intentas establecer @null en algo que se puede hacer clic, el dispositivo hablará "Botón" en su lugar. Cambiar la descripción a "Botón verde" no ayuda. ¡No haga que sus usuarios adivinen qué es el "Botón verde"!

Si alguna vez no está seguro, no olvide que puede habilitar TalkBack en su teléfono. Está preinstalado en la mayoría de los dispositivos o puedes obtenerlo en Play Store. Necesitará un d-pad en dispositivos más antiguos, o explorar con un toque en ICS y superior.

+0

Esta debería ser la respuesta aceptada. – Cubicle257

Cuestiones relacionadas