Nombre del Elemento Anidado

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Asegúrese de que todo el texto visible en un contenedor sea accesible para los lectores de pantalla

Not for use with personal data
note

Esta es una regla experimental, y por lo tanto sus resultados se consideran en fase de pruebas beta. Aprende más sobre reglas experimentales y cómo puedes ayudar a mejorarlas.

WCAG 2.0 - 1.3.2 A Impact - Critical

¡Descubre cómo estamos usando inteligencia artificial para esta regla!

Lo que Verificamos

Un elemento enfocable debe tener todo el texto visible dentro de su nombre accesible disponible para tecnologías de asistencia como TalkBack y Voice Access.

Ejemplo Fallido ❌

An Android book detail card showing title, authors, published date, pages, format, and ISBN — all visible on screen. TalkBack announces only 'Group', reading none of the visible text. The card is outlined in red.

La tarjeta es enfocable, pero los elementos de texto secundarios son hidden from assistive technology

TalkBack solo anuncia "Group" - ninguno de los textos visibles (título, autores, fecha, etc.) es leído en voz alta

Los usuarios de lectores de pantalla no tienen acceso al contenido que los usuarios videntes pueden leer

Ejemplo Exitoso ✅

The same Android book detail card outlined in green. TalkBack announces the full content: 'Universal Design Principles, Authors: Mike Rodriguez, Tamara Taylor, Published: 2024, Pages: 342, Format: Hardcover, ISBN: 978-0-123456-78-9'

Todo el texto visible dentro de la tarjeta es available to assistive technology

TalkBack anuncia el contenido completo: título, autores, fecha de publicación, número de páginas, formato e ISBN

Los usuarios de lectores de pantalla reciben la misma información que los usuarios videntes

En Resumen

  • Esta regla tiene un impacto crítico para los usuarios
  • Todo el texto visible dentro de un contenedor enfocable debe estar disponible para TalkBack y Voice Access
  • Evite establecer importantForAccessibility="no" en elementos de texto que los usuarios videntes pueden percibir
  • En Compose, evite usar invisibleToUser() en elementos de texto que son visibles en la pantalla
  • En React Native, evite establecer importantForAccessibility en no-hide-descendants en texto visible

Impacto para los Usuarios

Las personas que usan TalkBack son las más afectadas por problemas de Nombre de Elemento Anidado. Cuando varios elementos están agrupados dentro de un contenedor, TalkBack puede no leer todo el texto dentro del contenedor, especialmente si los elementos de texto individuales están ocultos de la tecnología de asistencia. Esto significa que las personas que dependen de TalkBack pueden desconocer contenido importante en pantalla al que los usuarios videntes tienen acceso.

Confirmar Problema de Nombre de Elemento Anidado

  1. Active TalkBack
  2. Concéntrese en el elemento de accesibilidad que contiene el texto
  3. Ocurriará uno de los siguientes:
    • Inaccesible: TalkBack no leerá todo el texto visible dentro del área de enfoque
    • Accesible: TalkBack leerá todo el texto contenido dentro del área de enfoque

Solucionar Problemas

Para resolver los problemas de Nombre de Elemento Anidado, asegúrese de que todo el texto visible dentro de un contenedor enfocable esté disponible para la tecnología de asistencia. Evite ocultar explícitamente elementos de texto de TalkBack o Voice Access cuando contengan contenido que los usuarios videntes puedan percibir.

XML

Evite establecer la propiedad importantForAccessibility en vistas de texto a no. Todos los usuarios deben tener el mismo acceso al texto en la pantalla, independientemente de si están o no usando tecnología de asistencia.

Compose

Evite marcar los elementos de texto Compose como invisibleToUser. Todos los usuarios deben tener el mismo acceso al texto en la pantalla, independientemente de si están o no usando tecnología de asistencia.

En el ejemplo a continuación, elimine invisibleToUser para asegurar que las vistas estén disponibles para las personas que usan tecnología de asistencia.

Row {
    Text("Welcome to Deque")
    Text("I am a text element.", modifier = Modifier.semantics {
        // Omit the API below to make your Text elements accessible
        invisibleToUser()
    })
}

React Native

Un problema encontrado por esta regla en aplicaciones construidas con React Native indica un uso indebido de la propiedad importantForAccessibility. Si utiliza la propiedad, asegúrese de que NO esté configurada a no-hide-descendants.

Flutter

Cuando un contenedor agrupa múltiples piezas de texto, asegúrese de que todo el texto visible esté expuesto al lector de pantalla. Use MergeSemantics para combinar nodos de texto secundarios en un solo nombre accesible.

// Failing — ExcludeSemantics hides visible text from the screen reader
Semantics(
  label: 'Item name: Widget',
  child: Column(
    children: [
      const Text('Item name: Widget'),
      ExcludeSemantics(child: const Text('Price: \$9.99')),
      ExcludeSemantics(child: const Text('In stock')),
    ],
  ),
)

// Passing — MergeSemantics combines all child text into one node
// Screen reader announces "Item name: Widget, Price: $9.99, In stock"
MergeSemantics(
  child: Column(
    children: [
      const Text('Item name: Widget'),
      const Text('Price: \$9.99'),
      const Text('In stock'),
    ],
  ),
)

¿Puedo Ignorar Esta Regla?

Nombre de Elemento Anidado tiene un impacto crítico para los usuarios, y recomendamos encarecidamente tomar medidas para remediar este problema. En casos raros, algo de texto dentro de un contenedor puede ser intencionalmente decorativo o redundante — pero esto debería ser la excepción, no la regla. Aprende más sobre ignorando reglas.

Recursos

Páginas de Cursos de Deque University

Nota: El acceso completo a los recursos de Deque University requiere una suscripción.

Otros Recursos