Nombre de elementos anidados

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
Not for use with personal data

WCAG 2.0 - 1.3.2 A Impacto - Crítico

Una vista enfocable debe tener todo el texto visible dentro de su nombre accesible disponible para tecnologías de asistencia como VoiceOver y Voice Control.

Impacto

Las personas que utilizan VoiceOver son las más afectadas. Los desarrolladores pueden agregar párrafos de texto a un elemento de accesibilidad del contenedor, pero es posible que VoiceOver no lea todo el texto dentro del contenedor. Por lo tanto, es posible que las personas que utilizan VoiceOver no sean conscientes de todo el texto que aparece en pantalla.

Confirmación

  1. Activar VoiceOver
  2. Enfóquese en el elemento de accesibilidad que contiene el texto.
  3. Ocurrirá uno de los siguientes casos:
    • Inaccesible: VoiceOver no leerá el texto.
    • Accesible: VoiceOver leerá todo el texto contenido dentro del cuadro de enfoque.

Cómo solucionarlo

UIKit

Un problema detectado por esta regla se debe al uso del valor predeterminado accessibilityLabel para un elemento de accesibilidad que contiene varios elementos de texto.

Para solucionarlo, exija que cualquier elemento de accesibilidad que contenga varios elementos de texto tenga todo el texto visible en su accessibilityLabel:

let paragraphOne = UILabel()
let paragraphTwo = UILabel()
let accessibilityElement = UIView()

paragraphOne.text = "One paragraph of text about something."
paragraphTwo.text = "A second paragraph of text about something."

accessibilityElement.addSubviews([paragraphOne, paragraphTwo])

// Update the accessibility element's accessibilityLabel, so both paragraphs are read by VoiceOver.
view.accessibilityLabel = "\(paragraphOne.text) \(paragraphTwo.text)"

SwiftUI

Un problema encontrado por esta regla dentro de SwiftUI indica un uso incorrecto del accessibilityElement modificador además del accessibilityElement(children:..) modificador.

Se recomienda utilizar estos modificadores en una vista de agrupación en lugar de elementos individuales. Tenga en cuenta el orden y las AccessibilityChildBehavior especificaciones que se indican a continuación.

VStack(alignment: .leading) {
    HStack {
      Text("Title:")
      book.title.map({ title in
        Text(title)
      })
    }
    HStack {
      Text("Author:")
      book.author.map({ author in
        Text(author)
      })
    }

    HStack {
      Text("Genre:")
      book.genre.map({ genre in
        Text(genre)
      })
    }
}
.accessibilityElement()
.accessibilityElement(children: .combine)

React Native

Un problema encontrado por esta regla dentro de las vistas de React Native indica un mal uso de la accessible propiedad y/o la accessibilityElementsHidden propiedad.

Si agrega estas propiedades explícitamente, asegúrese de que sean true para que el texto visible permanezca disponible para los usuarios de tecnología de asistencia.