Cómo etiquetar imágenes y componentes visuales en iOS y MacOS con SwiftUI

El desarrollo de interfaces con SwiftUI ofrece muchas ventajas en simplicidad y expresividad, pero también implica una responsabilidad clara: garantizar que todos los componentes sean accesibles. En este sentido, el modificador accessibilityLabel juega un papel fundamental, ya que permite proporcionar descripciones comprensibles para los usuarios que navegan mediante VoiceOver u otros productos de apoyo.

En una aplicación móvil, es habitual encontrar botones representados solo con iconos, imágenes decorativas o gráficos complejos que transmiten información de manera visual. Si estos elementos no cuentan con una etiqueta accesible, el lector de pantalla se limitará a leer su nombre interno —por ejemplo, “paperplane.fill”— o incluso no los anunciará, lo que genera una experiencia frustrante y excluyente.

El modificador accessibilityLabel resuelve este problema al ofrecer un texto alternativo que describe la función o el significado del elemento. La idea es que, al interactuar con el componente, VoiceOver verbalice la etiqueta definida en lugar del nombre interno o el contenido gráfico.

Ejemplo básico

Un caso típico es un botón con un icono de avión de papel para enviar un mensaje. Visualmente resulta evidente, pero sin una etiqueta accesible el usuario ciego no comprendería su propósito:

Button(action: {
// Acción para enviar
}) {
Image(systemName: "paperplane.fill")
.font(.largeTitle)
}
.accessibilityLabel("Enviar mensaje")

Al añadir .accessibilityLabel(«Enviar mensaje»), VoiceOver anuncia esa frase, y la acción del botón se vuelve comprensible y usable para todas las personas.

Además, no sólo se benefician los usuarios ciegos, también el sistema de Voice control para iOS y MacOS utilizará ese texto para localizar el botón y poderlo pulsar de forma más cómoda para el usuario.

Más allá de los iconos

El uso de accessibilityLabel no se limita a los botones. También puede aplicarse a imágenes que transmiten información importante. Una fotografía, un logotipo o un gráfico que refuerce la identidad de una app debería llevar una etiqueta adecuada.

Image("company_logo")
.resizable()
.frame(width: 120, height: 120)
.accessibilityLabel("Logotipo de la empresa Ejemplo")

En este caso, el lector de pantalla transmitirá la descripción de la imagen en lugar de identificar un elemento inaccesible o verbalizar el nombre del fichero del logotipo de la empresa.

Buenas prácticas

La potencia de accessibilityLabel reside en su sencillez, pero eso no significa que se deba aplicarlo sin reflexión. Es importante tener en cuenta algunas recomendaciones:

  1. Claridad antes que detalle: las etiquetas deben ser breves y concretas. No conviene describir minuciosamente una imagen si con dos palabras es suficiente para transmitir la idea.
  2. Función antes que forma: en un botón, es más importante describir la acción que detallar el icono. Por ejemplo, “Abrir ajustes” comunica más que “Engranaje”.
  3. Evitar redundancias: si un elemento ya tiene un texto visible, añadir un accessibilityLabel idéntico puede resultar repetitivo. En esos casos, lo mejor es dejar que VoiceOver lea directamente el texto.
  4. No etiquetar lo decorativo: si una imagen es meramente estética y no aporta información, lo correcto es marcarla como ignorada con .accessibilityHidden(true).

Etiquetar imágenes y componentes visuales no es un añadido opcional, sino un paso esencial para construir apps accesibles, usables y respetuosas con la diversidad de las personas que las utilizan. El modificador accessibilityLabel es un elemento sencillo y que ayuda a solucionar barreras severas de accesibilidad con un mínimo esfuerzo. Con unas pocas líneas de código, es posible transformar una interfaz visual en una experiencia inclusiva, asegurando que todos los usuarios, independientemente de cómo interactúen con su dispositivo, comprendan y disfruten la aplicación.

Cómo organizar tareas con la app Recordatorios

La organización personal es uno de los pilares fundamentales para mantener la productividad y reducir el estrés en la vida diaria. Contar con un sistema que permita registrar, revisar y ejecutar las tareas pendientes aporta claridad mental y evita la sobrecarga de tener que recordar constantemente todo lo que hay que hacer. Entre las distintas metodologías existentes, una de las más conocidas es Getting Things Done (GTD), que propone un flujo de trabajo sencillo: capturar las tareas en un lugar de confianza, clarificarlas y organizarlas en función de su contexto, revisarlas con frecuencia y ejecutarlas en el momento oportuno.

Dentro del ecosistema de Apple, la aplicación Recordatorios se ha convertido en una herramienta que encaja perfectamente con este enfoque. No se trata de un gestor de proyectos complejo ni de una aplicación pensada únicamente para usuarios avanzados, sino de una app ligera y accesible que facilita registrar y organizar todo tipo de compromisos, desde lo más cotidiano hasta lo más profesional.

Interfaz de usuario

 

La interfaz de Recordatorios resulta clara y directa. En una zona de la app se muestran las distintas listas y agrupaciones para nuestras tareas. Podemos crear nuestras propias listas y utilizar listas inteligentes como Hoy, Programados, etc… Y en otra zona de la ventana se muestran las distintas tareas y recordatorios para la lista seleccionada.
Para mejorar la accesibilidad de la aplicación es recomendable que se seleccione la vista como lista ya que aumenta su legibilidad y su compatibilidad con las herramientas de accesibilidad en MacOS. 

Para navegar entre las distintas zonas se puede utilizar el teclado y con VoiceOver se puede utilizar el atajo de teclado VO+J para saltar rápidamente entre secciones.
Al configurar nuestra cuenta de iCloud se crea por defecto la lista Recordatorios. Con una lista disponible ya se puede crear una tarea de inmediato y asignarle un título, una fecha de vencimiento, una hora concreta o una ubicación desde la que recibir una notificación. También es posible añadir notas y adjuntar enlaces, lo que transforma un simple recordatorio en un elemento mucho más rico y contextualizado. De esta forma, el usuario no solo recuerda qué tiene que hacer, sino también con qué información cuenta para llevarlo a cabo.

Una vez creada la tarea la veremos en la tabla de tareas de esa lista. Es recomendable que los usuarios de VoiceOver naveguen por esa tabla usando VO+flechas de cursor y cuando quieran interactuar con una tarea usen el menú contextual pulsando VO+Mayúsculas+M. Además, para asegurarnos de modificar la tarea es recomendable interactuar con la celda de la tarea para poder navegar entre la casilla de verificación, el campo de nombre de tarea y el resto de controles para los detalles de la tarea.

Recordatorios y GTD

Un aspecto interesante de Recordatorios es la capacidad de organizar los recordatorios en listas temáticas. Esto permite a cada persona replicar dentro de la app la estructura que propone GTD, separando las tareas en función del contexto, como por ejemplo trabajo, estudios, familia o asuntos personales. La función de etiquetas refuerza todavía más esa organización, ya que ayuda a agrupar tareas que comparten una característica común, independientemente de la lista en la que se encuentren.

La experiencia mejora notablemente gracias a la sincronización automática entre dispositivos. Una tarea creada en el iPhone aparece de inmediato en el Mac y en el Apple Watch, lo que evita duplicidades y asegura que la información siempre esté disponible en el dispositivo que se tenga más a mano. Esta continuidad es esencial para no interrumpir el flujo de trabajo, ya que permite, por ejemplo, anotar una idea rápida en el reloj y revisarla más tarde con mayor detalle en el Macbook o el iPhone.

El valor real de Recordatorios no radica únicamente en su diseño limpio o en las funciones que incorpora, sino en la tranquilidad que aporta al usuario al tener la certeza de que ninguna tarea importante se perderá en la memoria. La posibilidad de registrar de manera inmediata cualquier tarea pendiente, revisarlo en el momento adecuado y contar con la información siempre sincronizada ofrece un soporte sólido para quienes desean implementar un sistema como GTD o simplemente tener más orden en su día a día.
En definitiva, Recordatorios se presenta como una herramienta discreta pero poderosa, que convierte la organización personal en un hábito más sencillo y accesible para cualquier usuario dentro del ecosistema de Apple.

Control por voz para iPhone

Control por Voz (Voice Control) es una función de accesibilidad integrada en iOS que permite manejar el iPhone completamente mediante comandos de voz, sin necesidad de tocar la pantalla. Este servicio de accesibilidad es indispensable para personas con movilidad reducida o para quienes prefieren interactuar con el dispositivo utilizando la voz.
Con este servicio de accesibilidad se pueden abrir aplicaciones, navegar por menús, escribir mensajes, hacer llamadas, interactuar con elementos de la pantalla y mucho más simplemente usando comandos de voz.
A diferencia de Siri, que se centra en ejecutar tareas o responder preguntas, Control por Voz sustituye la interacción táctil. Es como si el iPhone entendiera cada toque, deslizamiento o pulsación… pero dicho en voz alta.

Activar control por voz

El control por voz se activa en el menú de Accesibilidad dentro de los Ajustes del iPhone. Dentro de la sección HABILIDADES FÍSICAS Y MOTORAS se encuentra un botón llamado Control por voz. Al pulsarlo accederemos a las opciones de activación y configuración de Control por voz.

Configurar Control por Voz en español

Cuando se activa Control por Voz por primera vez el dispositivo tiene que descargar un modelo de comprensión del habla para poder entender los comandos que se le indican. El dispositivo puede tardar unos minutos en descargar el modelo de reconocimiento de voz.
Para configurarlo en nuestro idioma debemos entrar en la opción de idioma, seleccionar el idioma que queramos utilizar y esperar a que se descargue el soporte para nuestro idioma.

Importante: Algunos comandos pueden variar ligeramente entre idiomas por lo que es recomendable consultar la lista de comandos disponibles para Control por voz.

Uso básico

Una vez activado, un pequeño icono azul aparecerá en la parte superior de la pantalla indicando que el iPhone está “escuchando”.
A partir de ese momento, se pueden decir cosas como: abrir Safari, ir a inicio, pulsar atrás, tocar aceptar, etc.

Activación y desactivación rápida

Aunque Control por voz incluye un modo para pausar su uso y despertarlo también podemos hacer uso de Siri para activarlo o desactivarlo. Con el comando «activa control por voz» Siri ejecutará el control por voz si ya lo hemos configurado en nuestro dispositivo. Y con el comando «desactiva control por voz» Siri lo desactivará.

Utilizando el sistema de oye Siri podremos también activar y desactivar el control por voz sin necesidad de tocar el iPhone.

Identificar elementos en pantalla con Control por voz

Cuando necesitamos tocar un botón o manipular un elemento de la pantalla debemos emplear el nombre que aparece en el botón o control. Pero en muchas ocasiones la aplicación no se ha desarrollado con el nivel de accesibilidad suficiente y el servicio de Control por voz no encuentra eso que le hemos pedido debido a que internamente el desarrollador no ha etiquetado de forma apropiada ese control.

Para solucionar esta situación de baja accesibilidad el Control por voz puede reetiquetar todos los elementos pulsables que aparecen en pantalla utilizando un número. De esta forma, aunque un botón con el icono de continuar no se haya etiquetado de forma accesible podremos activarlo diciendo «pulsar» y el número que aparezca sobre el botón.

Para hacer que aparezcan estos números simplemente debemos utilizar el comando Mostrar números. Y para dejar de usar números existe el comando Ocultar números.

Navegación por zonas

A veces la pantalla de una aplicación tiene demasiados controles y la navegación por números puede ser muy pesada. El servicio de Control por voz permite activar una navegación por zonas, para ello debemos utilizar el comando Mostrar cuadrícula. En la pantalla aparecerá una rejilla que delimitará la zona de acción del Control por voz. Podemos utilizar el comando Ocultar cuadrícula para dejar de utilizar este sistema.

Escribir con Control por voz

Con el servicio de Control por voz también podemos introducir texto dictando lo que queramos escribir. Para ello debemos activar el teclado del iPhone pulsando sobre el cuadro de texto donde queramos escribir y utilizar el comando Escribir. Por ejemplo: pulsar nombre, escribir Jonathan Chacón, pulsar aceptar.

También, cuando el teclado está activo, se pueden utilizar los comandos seleccionar todo, borrar todo, reemplazar Chacón por Chacón Barbero. Las posibilidades son inmensas.

Si utilizamos Control por voz con Zoom o VoiceOver activos el comportamiento del sistema de dictado cambia por lo que debemos ajustar la forma de dictar al teléfono a la presencia de otros servicios de accesibilidad.

Conociendo más comandos de Control por voz

En los ajustes de Control por voz hay un botón llamado Comandos. Dentro de ese botón aparece un menú de navegación en el que podemos consultar y activar todos los comandos de voz disponibles para este servicio de accesibilidad.

Cambiar el estilo de navegación de VoiceOver para Mac

VoiceOver es el lector de pantallas de Apple para todas sus plataformas.

Este lector de pantallas ofrece varios modelos de exploración de la pantalla dependiendo de si el dispositivo tiene pantalla táctil, se utiliza con ratón y teclado o su modo de uso es principalmente por voz. En realidad y aunque se llamen igual el VoiceOver para MacOS no es el mismo servicio de accesibilidad que VoiceOver para iOS o VoiceOver para VisionOS.

Apple ha ido incorporando con cada nueva actualización algunas funciones comunes y experiencias de uso para las distintas versiones de VoiceOver disponibles. Por ejemplo, desde iOS15 VoiceOver tiene el estilo de navegación lineal o por grupos.

El estilo de navegación lineal de VoiceOver para iOS es el comportamiento al que están acostumbrados los usuarios en el que el foco de VoiceOver salta por todos los controles de la interfaz ignorando los diversos elementos de agrupación. Esto implica que en una pantalla de un editor de texto con un cuadro de edición y una barra de herramientas con 3 botones VoiceOver saltará entre el cuadro de edición y los 3 botones presentando 4 elementos focalizables e ignorará la presencia de una marca de agrupación llamada barra de herramientas.

Con el estilo de navegación por grupos VoiceOver en nuestro ejemplo anterior mostrará dos elementos: el cuadro de edición y un elemento llamado barra de herramientas. Para poder ver qué hay dentro de la barra de herramientas deberemos deslizar con dos dedos hacia la derecha para entrar o deslizar con 2 dedos a la izquierda para salir de ese grupo. Este es el estilo de navegación por defecto en VoiceOver para MacOS en el que se utilizan las combinaciones de tecla Mayúsculas+VO+flecha abajo para interactuar con el elemento focalizado y Mayúsculas+VO+Flecha arriba para dejar de interactuar. Este concepto de interactuar es el concepto de entrar o salir de la versión de VoiceOver para iOS.

La pregunta ahora es: ¿podemos utilizar el estilo de navegación de VoiceOver para iOS en la versión para MacOS? Y la respuesta es si desde las últimas versiones de VoiceOver para MacOS.

Cambiar el comportamiento de agrupación de VoiceOver para Mac

El estilo de navegación de VoiceOver para iOS en VoiceOver para MacOS se llama comportamiento de agrupación. Podemos acceder a esta configuración desde el panel de configuración de VoiceOver para Mac (pulsando VO+F8), consultando la categoría Navegación y modificando la opción Comportamiento de agrupación:.

Esta opción dispone de 4 valores posibles:

  • Estándar: VoiceOver requiere una acción. Debes pulsar VO + Mayúsculas + Flecha abajo para empezar a interactuar con los ítems de un área o grupo, y VO + Mayúsculas + Flecha arriba para dejar de interactuar con los ítems.
  • Identificar principio y final de grupo: VoiceOver identifica el principio y el final de un área o grupo mientras navegas por tus ítems, pero no se requiere interactuar con ellos.
  • Anunciar grupos: VoiceOver anuncia cuando entras o sales de un área o grupo, pero no se requiere interactuar con tus ítems.
  • Ignorar grupos: VoiceOver no identifica ni anuncia áreas o grupos, ni se requiere interactuar con tus ítems.

Es este último valor de ignorar grupos el que hace que el comportamiento de VoiceOver para MacOS sea el mismo que el de la versión para iOS.

¿Cual es el mejor estilo de navegación?

VoiceOver para Mac permite más estilos de navegación que otras versiones de VoiceOver. Esto permite que cada usuario pueda experimentar y utilizar la que mejor se adapte a sus necesidades y habilidades. Personalmente encuentro que algunas aplicaciones son más cómodas de navegar ignorando los grupos y otras aplicaciones con interfaces más complejas necesitan que VoiceOver identifique los grupos para poder entender mejor dónde se encuentra el foco de exploración de VoiceOver. Lo ideal es que cada usuario pruebe qué estilo de navegación va mejor y utilizando las capacidades de VoiceOver para personalizar su uso permitir que VoiceOver cambie su estilo de navegación según el momento o la aplicación. Para ello podemos utilizar las actividades de VoiceOver o los comandos de teclado de VoiceOver para cambiar entre los distintos estilos de navegación que nos proporciona VoiceOver para MacOS.

Conocer el nivel de batería de tus dispositivos conectados a tu iPhone sin sacarlo del bolsillo

Actualmente el método más común de conectar dispositivos a nuestro teléfono móvil pasa por utilizar una conexión inalámbrica. Auriculares, relojes, sensores médicos, dispositivos multimedia o balizas de orientación son dispositivos habituales que se comunican con nuestro teléfono de forma inalámbrica. La mayoría de estos dispositivos tienen en común el uso de la tecnología Bluetooth y que casi todos tienen una batería.

La inaccesibilidad de las baterías

En muchos casos los dispositivos con batería incorporan algún tipo de display visual o led que da información sobre el nivel de carga de la batería del dispositivo. En muchos casos este sistema resulta inaccesible para personas ciegas o con baja visión. Incluso hay otros dispositivos que no incorporan ese led o display.

Para averiguar el nivel de la batería es posible consultar el widget de batería que proporciona Apple para sus iPhones e iPads.

Esto implica que debamos consultar nuestro iPHone y, a veces, las condiciones de nuestro entorno puede dificultar la acción. Bien por el ruido alrededor que nos dificulta escuchar el lector de pantallas del iPhone o porque llueve, hace mucho frío o estamos caminando llevando cosas en las manos.

Siri al rescate

El asistente de Apple para sus dispositivos en muchos casos resulta impreciso o insuficiente. Otras muchas ocasiones es el desconocimiento de los usuarios sobre lo que Siri puede hacer por nosotros lo que provoca esa opinión sobre Siri.

Si llamamos a Siri y decimos la palabra batería Siri nos indicará el nivel de batería de nuestro iPhone en ese momento. Pero si a Siri le decimos batería de auriculares o batería auriculares nos indicará el nivel de batería de los auriculares que estemos utilizando en ese momento.

Algo similar sucede si le decimos a Siri el comando batería Apple Watch, batería de televisión u otros dispositivos que tengamos conectados.

Con esto podemos consultar el nivel de batería de nuestros dispositivos conectados sin necesidad de sacar el iPhone de nuestro bolsillo.

Cómo reportar errores a Apple usando Feedback assistant

Apple en sus últimas versiones de todos sus sistemas operativos con navegador web incorpora una herramienta para que todos los usuarios puedan notificar de errores o aportar sugerencias. Esta herramienta se llama Feedback assistant.

Para abrir esta herramienta simplemente tenemos que abrir Safari en nuestro Mac o en nuestro iPhone y abrir la siguiente dirección: applefeedback:// 

Nos aparecerá una herramienta para ver el listado de los informes de error enviados y un formulario para enviar nuevos informes de error o sugerencia para cualquier producto Apple.