Accesibilidad del kiosco

El modo de kiosco de ChromeOS ejecuta una aplicación y la bloquea en pantalla completa, sin necesidad de que el usuario acceda. El modo kiosco ofrece una forma conveniente y eficiente para que las personas accedan a información y servicios de manera controlada y enfocada. Sin embargo, debido a que la experiencia del modo de kiosco está tan controlada, es importante garantizar que las apps para kioscos sean accesibles para todos. Mejorar la accesibilidad de los kioscos puede ayudar a ampliar el alcance, ya que reduce las barreras al acceso a la información y mejora la satisfacción del cliente al fomentar la inclusión.

Las apps que se ejecutan en modo kiosco son apps web, por lo que se aplican las prácticas recomendadas de accesibilidad web:

  • Sigue los Lineamientos de Accesibilidad para el Contenido Web (WCAG 2). Incluso cuando implementas apps de kiosco de forma interna, la mejor manera de garantizar la accesibilidad, como la usabilidad del lector de pantalla, es seguir la WCAG 2. También puedes aprovechar otros recursos de diseño y desarrollo de quienes trabajan en accesibilidad para mejorar tu app de kiosco:
  • Ofrece varios métodos de entrada. No dependas de la navegación basada en gestos. Es posible que los usuarios necesiten un teclado, un mouse o un botón para interactuar con la app.
  • Ofrece múltiples formas de salida. No te bases en un solo tipo de salida, como el audio. Es posible que los usuarios necesiten interactuar con una app completamente sin sonido o sin indicaciones visuales.
  • Prueba la app y su hardware con un público diverso. No te limites a cumplir con las prácticas recomendadas, sino que debes probarlas. Los usuarios deben interactuar física y digitalmente con una app de kiosco. Las pruebas de experiencia identificarán áreas de mejora.
    • Asegúrate de incluir un grupo diverso de usuarios de prueba para revelar posibles problemas de accesibilidad.
    • Prueba la app de kiosco en el entorno y el hardware con los que se usará.

Dado que las apps de kiosco se ejecutan en un entorno controlado, es posible que los usuarios no puedan acceder a las funciones de accesibilidad o a las opciones de hardware de ChromeOS que normalmente usarían. En cuanto a la accesibilidad de las kioscos de ChromeOS, hay tres niveles de control que se deben tener en cuenta:

  • Políticas: Los administradores controlan las políticas de sus dispositivos administrados, incluido el acceso a la configuración de accesibilidad de quiosco esencial.
  • APIs: Los desarrolladores pueden controlar cómo interactúa el usuario con su app para quiosco con una extensión complementaria que llama a la API de chrome.accessibilityFeatures.
  • Dispositivos de hardware: El tipo de dispositivo y los periféricos conectados controlan cómo el usuario interactúa físicamente con el kiosco, incluidos los dispositivos de entrada, los tamaños de pantalla y las plataformas.

Estos niveles son muy interdependientes y, por lo tanto, deben operar en conjunto para proporcionar una experiencia de app de kiosco verdaderamente accesible. Los administradores deben tener en cuenta la accesibilidad cuando implementen apps de quiosco, y los desarrolladores deben ser conscientes del impacto que la configuración administrativa podría tener en sus apps una vez implementadas.

Controles de políticas para administradores de kioscos

En un dispositivo ChromeOS en una sesión de usuario normal, los usuarios pueden administrar su configuración de accesibilidad en la sección Accesibilidad de la app de Configuración. En el modo de kiosco, los usuarios no tienen acceso a la app de Configuración de forma predeterminada. En su lugar, los administradores deberán habilitar la configuración de accesibilidad para permitir que los usuarios accedan a ella en el modo kiosco.

Los administradores pueden encontrar la configuración de “Accesibilidad del kiosco” en la Consola del administrador de Google. Para ello, deben ir a la pestaña Dispositivos > Chrome > Configuración > Configuración del dispositivo.

Hay dos parámetros de configuración principales que debes tener en cuenta:

  • Menú flotante de accesibilidad del kiosco: Debido a que la app de Configuración no está disponible fácilmente en el modo kiosco, habilitar esta opción permitirá a los usuarios activar o desactivar la configuración de accesibilidad a través de un menú flotante de accesibilidad. El comportamiento predeterminado cuando no se configura este parámetro es que no se muestra el menú de accesibilidad flotante.
  • Combinaciones de teclas de accesibilidad del kiosco: Si habilitas esta opción, los usuarios podrán activar las funciones de accesibilidad con combinaciones de teclas. Sin embargo, ten en cuenta que no todas las funciones tienen un atajo correspondiente. El comportamiento predeterminado cuando no se configura este parámetro es que las combinaciones de teclas están habilitadas.

También puedes configurar las funciones de accesibilidad de forma individual. De forma predeterminada, están configuradas como “Permitir que el usuario decida”, por lo que el usuario puede habilitar o inhabilitar las funciones de accesibilidad según lo considere adecuado.

Nota: Consulta la lista completa de funciones de accesibilidad de ChromeOS para obtener más información sobre el comportamiento de cada parámetro de configuración.

API de chrome.accessibilityFeatures de la extensión de Chrome

En el modo kiosco, los usuarios pueden activar o desactivar las funciones de accesibilidad con el menú flotante de accesibilidad del kiosco o con las combinaciones de teclas correspondientes. Sin embargo, esto depende de que el administrador haya habilitado el menú y no todas las funciones tienen un acceso directo. Por lo tanto, un desarrollador debe integrar la configuración de accesibilidad directamente en su app de kiosco cuando corresponda. Por ejemplo, brindar a los usuarios la opción de usar la función de dictado cuando se muestra la entrada de texto

Se puede acceder al estado de las funciones de accesibilidad de ChromeOS a través de la API de chrome.accessibilityFeatures. Cuando se configura como “Permitir que el usuario decida” en la Consola del administrador, las funciones de accesibilidad también se pueden controlar a través de esta API. Esta es una API de extensión de Chrome, por lo que se debe llamar desde una extensión complementaria que se ejecute con una app de kiosco. Los desarrolladores pueden usar esta API para verificar si cada parámetro de configuración se puede controlar y para interactuar con las respectivas funciones de accesibilidad integradas de ChromeOS.

La API de chrome.accessibilityFeatures tiene una propiedad correspondiente para cada función de accesibilidad. Cada propiedad es un type.ChromeSetting prototipo que tiene los siguientes métodos:

  • get(): Para obtener el valor del parámetro de configuración.
  • set(): Para establecer el valor del parámetro de configuración.
  • onChange(): Para agregar un objeto de escucha para cuando cambie el parámetro de configuración
  • clear(): Para borrar el parámetro de configuración y restablecer los valores predeterminados.

Para obtener el estado de una propiedad, llama a onChange() o get(), que devuelve un objeto de detalles a través de una devolución de llamada con los siguientes campos relevantes:

  • levelOfControl: Es el nivel de control del parámetro de configuración. Antes de llamar a set() para cambiar el valor de un parámetro de configuración, verifica si tu extensión puede controlar el parámetro. Ten en cuenta que, si el administrador tiene una política explícita para inhabilitar o habilitar un parámetro de configuración, el valor de levelOfControl será not_controllable y no podrás configurarlo con la API.
  • value: Es el valor del parámetro de configuración. Todas las propiedades de las funciones de accesibilidad son de tipo booleano, excepto animationPolicy, que es un enum que consta de allowed, once o none.

Como ejemplo, activemos la función de teclado virtual. Para ello, primero verificaremos si la propiedad se puede configurar con esta extensión.

const virtualKeyboard = chrome.accessibilityFeatures.virtualKeyboard;
virtualKeyboard.get({},
	(details) => {
		// check the level of control for virtual keyboard
		if (details.levelOfControl == 'controllable_by_this_extension' || details.levelOfControl == 'controlled_by_this_extension') {
			// disable if virtualKeyboard is currently on
			if (details.value) {
				virtualKeyboard.set({value: false}, () => console.log('Virtual keyboard has been disabled');
			} else { // enable if virtualKeyboard is currently off
				virtualKeyboard.set({value: true}, () => console.log('Virtual keyboard has been enabled');
			}
		} else {
			// the setting is not controllable by this extension because it cannot be controlled by any extension or it's being controlled by an extension with higher precedence
			console.log('Virtual keyboard setting cannot be changed.');


		}

Primero, llama a get() en la propiedad virtualKeyboard para leer el nivel de control disponible y el valor actual de la propiedad. Si esta extensión puede controlar el elemento o ya lo está controlando, es seguro llamar a set() y alternar el valor de la propiedad virtualKeyboard. Si no se puede controlar la propiedad, comunícale al usuario que no se puede activar o desactivar este parámetro de configuración y recomiéndale que se comunique con el administrador del sistema, si corresponde.

Las propiedades disponibles que se pueden configurar con la API de chrome.accessibilityFeatures se agrupan en las siguientes categorías: texto a voz, pantalla y ampliación, entrada de texto y teclado, cursor y panel táctil.

Texto a voz

Las funciones de texto a voz permiten que el texto en pantalla se lea en voz alta con el lector de pantalla integrado de ChromeOS. Ya sea que un usuario tenga discapacidad visual, no pueda leer o prefiera escuchar el texto en lugar de leerlo, estas funciones les permiten interactuar con el dispositivo.

  • selectToSpeak: Controla la función Seleccionar para pronunciar, que permite a los usuarios seleccionar texto en la pantalla para que se lea en voz alta.
  • spokenFeedback: Controla la función ChromeVox, un lector de pantalla que lee en voz alta el texto que aparece en la pantalla y los nombres de los botones, los vínculos y otros elementos.

Pantalla y ampliación

Las funciones de pantalla y ampliación cambian los colores de la pantalla y proporcionan opciones de ampliación que facilitan la lectura de la pantalla y la búsqueda de objetos.

  • highContrast: Controla la función de inversión de color, que cambia el esquema de color a uno con mayor contraste.
  • screenMagnifier: Controla la función de lupa de pantalla completa, que acerca los elementos de la pantalla para que se vean más grandes.
  • dockedMagnifier: Controla la función de lupa fijada, que amplía las áreas enfocadas de la pantalla en una vista de pantalla dividida.

Teclado y entrada de texto

Las funciones de teclado y entrada de texto les brindan a los usuarios diferentes opciones para interactuar con el contenido y los elementos de entrada en la pantalla.

  • virtualKeyboard: Esta propiedad controla la función de teclado en pantalla que permite a los usuarios escribir sin usar un teclado físico.
  • dictation: Esta propiedad controla la función de dictado, que permite a los usuarios escribir texto hablando a un micrófono y controlar la entrada con la voz.
  • switchAccess: Esta propiedad controla la función de accesibilidad con interruptores, que permite a los usuarios controlar su dispositivo con interruptores (teclas del teclado, botones del gamepad y otros dispositivos de interruptores dedicados).
  • stickyKeys: Esta propiedad controla la función de teclas especiales, que permite a los usuarios presionar una tecla a la vez para usar combinaciones de teclas en lugar de mantener presionadas varias teclas a la vez.
  • focusHighlight: Esta propiedad controla la función de resaltado del enfoque del teclado, que destaca el objeto que tiene el enfoque del teclado. Los usuarios navegan por los objetos con la tecla Tab o seleccionándolos con el cursor del mouse.
  • caretHighlight: Esta propiedad controla la función de destacar el cursor de texto (signo de intercalación), que muestra un anillo de enfoque alrededor del cursor de texto cuando aparece o se mueve.

Cursor

Las funciones del cursor permiten personalizarlo para que sea más fácil de encontrar y usar en la pantalla.

  • autoclick: Esta propiedad controla la función de clics automáticos, que permite que el cursor del mouse haga clic automáticamente donde se detiene.
  • largeCursor: Esta propiedad controla la función de cursor grande, que aumenta el tamaño del cursor del mouse para que sea más visible.
  • cursorColor: Esta propiedad controla la función de color del cursor. El valor de la propiedad cursorColor solo indica si la función está habilitada o no. No indica el color del cursor.
  • cursorHighlight: Esta propiedad controla la función de resaltado del cursor, que muestra un anillo de enfoque alrededor del cursor del mouse cuando se mueve.

Accesibilidad del kiosco a nivel de hardware

Al igual que con otras apps, la accesibilidad de una app de quiosco también se ve afectada por el dispositivo en el que se implementa. Además, los desarrolladores deben trabajar con su equipo de hardware para garantizar que su app de kiosco sea accesible a nivel de hardware.

Las apps de kiosco se pueden instalar en cualquier sistema ChromeOS, desde pantallas no interactivas hasta plataformas interactivas. Siempre que se espere que un usuario interactúe con una app de quiosco, se recomiendan ciertos estándares de accesibilidad a nivel del hardware:

  • Las apps de kiosco deben ser accesibles para las personas que usan sillas de ruedas o ayudas de movilidad similares.
  • El hardware de la cabina debe incluir la opción de un teclado y un mouse físicos.
  • Las apps de kiosco deben admitir un conector para auriculares y un micrófono.
  • El hardware de la kiosco debe tener una pantalla con el tamaño y la resolución suficientes para garantizar que el texto y las imágenes sean claros y visibles.

La accesibilidad de los kioscos depende de muchos factores: controles de políticas, APIs y hardware. Sin embargo, en esencia, la accesibilidad de los kioscos es la accesibilidad web. Para lograr una mejor accesibilidad en tu app de quiosco, sigue las recomendaciones y prácticas recomendadas anteriores, realiza pruebas exhaustivas con usuarios y revisa los lineamientos de la WCAG 2.