ContentDescription = "@ null" una mala idea?
Lint se queja hey establecer un contentDescription. Así que para evitar la creación de una cadena de ponerlo en nulo.
android:contentDescription="@null"
Esto parece tranquilizar las quejas de pelusa. Estoy un poco perdido por qué tengo que establecer una referencia de cadena a la contentDescription. ¿Cuál es el propósito de esto? ¿Por qué necesitaría esto alguna vez? Y esencialmente ponerlo a nulo, ¿es una buena idea?
- Cómo mantener la relación de aspecto fijo para un botón en android
- Suavemente animar vista ocultar / mostrar en disposición lineal android
- Formato correcto para android: gravedad en attrs.xml?
- cómo crear 3d animación de desplazamiento de android?
- Escala Android de imágenes a densidad de pantalla
- Cómo abrir la navegación en lugar de mapview en android?
- Cómo colocar una vista inferior y central de la página android layout?
- Layout_gravity no funciona dentro de LinearLayout
- ¿Cómo evitar los pesos anidados?
- Alineación del botón de la barra de herramientas de Android v7
- Mis opiniones se están restableciendo en el cambio de orientación
- GridView y GridLayout en android
- Mostrar texto dinámico en una vista de Android
Es por la accesibilidad para los ciegos. En cuanto a la accesibilidad, las aplicaciones que utilizan la función contentDescription
ayudan a las personas ciegas a navegar utilizando las capacidades de conversión de texto a voz de Android. Así que si alguien selecciona un ImageButton
través de un trackpad o algo así, el TTS puede hablar el contentDescription
para que puedan navegar fácilmente por la aplicación. Vea esto para más información.
Para responder a su pregunta: podría silenciar la salida de la pelusa, pero no está haciendo nada necesariamente malo o bueno.
Sé que esta pregunta fue hecha hace un rato, pero para el beneficio de nuevos lectores que pueden funcionar a través de esto:
Brian es absolutamente correcto en lo que se utiliza contentDescription. Sin embargo, hay momentos en que no sólo es apropiado sino que se prefiere establecerlo en @null. Si una imagen es puramente decorativa y no se puede hacer clic o está relacionada con el contenido, debe definir el contenido de @null. De lo contrario, establezca algo significativo.
Recuerde que cualquier cosa definida como un contentDescription es leída en voz alta por el dispositivo cuando se utiliza un lector de pantalla. Imagine en su mente un sencillo cuadro de diálogo emergente. Ahora, mentalmente escuche estas dos descripciones de contenido diferentes para el mismo diálogo:
-
"Information icon. Do you want to continue? Fancy horizontal rule. Button. Button."
-vs-
-
"Do you want to continue? Submit. Cancel."
Las descripciones de contenido que no están bien pensadas terminan sonando mudo. Los elementos como los iconos de texto destacado que simplemente repiten el texto junto a ellos o las fronteras de fantasía que no contribuyen al significado de la página deben suprimirse con @null. A la inversa, todo lo que se puede hacer clic no sólo debe tener una descripción, sino que debe tener una descripción significativa . Si intenta 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 lo que es "Botón Verde"!
Si no estás seguro, no olvides que puedes habilitar TalkBack en tu teléfono. Está preinstalado en la mayoría de los dispositivos o se puede obtener en Play Store. Necesitará un d-pad en los dispositivos más antiguos, o explorar por el toque en ICS y superiores.
- AppCompatButton backgroundTint API <21
- Abrir la página de facebook desde la aplicación android (en la versión de facebook> v11)