no solo usabilidad: revista sobre personas, diseño y tecnología

Las viejas encuestas fallan. Descubre la nueva investigación de mercados con We are testers.
¡Pruébanos gratis!

28 de Mayo de 2010

Desarrollo de aplicaciones accesibles con Microsoft Visual Basic

Undebarrena Canal, Artur

Resumen: Se introduce el desarrollo de aplicaciones accesibles con Visual Basic, analizando el concepto de Tecnología de Asistencia en el contexto del sistema operativo de Microsoft, revisando las propiedades de accesibilidad en los controles de Visual Basic, y describiendo cuáles son los requisitos de accesibilidad en las aplicaciones de Microsoft Windows y cómo aplicarlos con Visual Basic.

1. Introducción

Microsoft Visual Basic es uno de los entornos de desarrollo integrado o IDE (Integrated Development Environment) más utilizados para el sistema operativo Microsoft Windows. Según el ranking TIOBE de popularidad de lenguajes de programación, Visual Basic ocupa la quinta posición, sólo superado por Java, C, C++ y PHP.

Entre las ventajas de Visual Basic podemos destacar:

Además, Visual Basic incorpora una serie de características que posibilitan crear aplicaciones accesibles para usuarios con discapacidad, como:

Según se expone en el sitio web de Microsoft Developer Network (MSDN), las aplicaciones que incorporan el logotipo de certificación para Windows deben cumplir los cinco requisitos de accesibilidad que se mencionan a continuación:

En este trabajo se introduce el desarrollo de aplicaciones accesibles con Visual Basic, analizando el concepto de Tecnología de Asistencia en el contexto del sistema operativo de Microsoft, revisando las propiedades de accesibilidad en los controles de Visual Basic, y describiendo cuáles son los requisitos de accesibilidad en las aplicaciones de Microsoft Windows y cómo aplicarlos con Visual Basic.

2. Tecnología de asistencia

El concepto Tecnología de Asistencia (TA) hace referencia a un conjunto de aplicaciones software y de dispositivos hardware que hacen posible el uso del ordenador a perfiles concretos de usuarios con discapacidad. Entre los dispositivos hardware de TA destacan las líneas Braille y los teclados y dispositivos apuntadores alternativos. Entre las aplicaciones software de TA más significativas podemos destacar:

La gran mayoría de aplicaciones de TA utilizan un controlador de dispositivo de video que se instala entre la interfaz gráfica de dispositivo y el controlador de dispositivo de la tarjeta gráfica. Así es posible, en todo momento, detectar los eventos que ocurren en pantalla, como el cambio de foco entre controles, ventanas, cuadros de dialogo y aplicaciones, y el movimiento del cursor y del puntero del ratón.

En Microsoft Windows las aplicaciones de TA pueden tener acceso a los elementos de la interfaz gráfica de usuario a través de MSAA (Microsoft Active Accessibility), una API o interfaz de programación de aplicaciones.

3. Propiedades de los controles referidos a la accesibilidad

A continuación se revisan las propiedades de los controles de Visual Basic que permiten proporcionar prestaciones de accesibilidad:

4. Requisitos de accesibilidad de las aplicaciones Windows y su implementación con Visual Basic

Para asegurar la accesibilidad de las aplicaciones que desarrollemos debemos cumplir una serie de requisitos, descritos y analizados a continuación.

Navegación por la interfaz gráfica mediante teclado

Es imprescindible que la aplicación permita acceder y manejar todos y cada uno de los controles y funciones mediante el teclado, sin necesidad de hacer uso del ratón. Las razones son de muy diversa índole:

Por estas razones resulta imprescindible que la interfaz de la aplicación se diseñe de forma que mediante el método de tabulación sea posible navegar por todos los controles y grupos de controles de forma coherente con su posición en la interfaz. Un diseño correcto debe facilitar navegar por la interfaz de izquierda a derecha y de arriba abajo.

En el entorno de programación de Visual Basic, el orden de tabulación de los controles se define mediante la propiedad TabIndex. Dentro de una misma interfaz, a cada control se le debe asignar un índice comprendido entre 0 y n-1, donde n es el número total de controles.

Recordemos que conforme el diseñador incorpora controles al formulario, automáticamente el entorno asigna un TabIndex a cada control. Debe por tanto tenerse especial cuidado en esta numeración automática, ya que puede terminar habiendo controles cuyo TabIndex no sea el apropiado.

Relacionada con la propiedad TabIndex se encuentra la propiedad TabStop. Esta se utiliza para habilitar o deshabilitar el acceso mediante el método de tabulación. Existen controles que lo incorporan y otros que no, dependiendo de si pueden ser lógicamente accedidos por medio de la tabulación o no. Los valores posibles para TabStop son True y False.

Colores, tipo, estilo y tamaño de letra de los controles

Algunos usuarios con discapacidad visual pueden necesitar cambiar las características de la tipografía del contenido de los controles: tipo, estilo, tamaño y color. Para ello existen diferentes posibilidades:


Uso exclusivo del color para identificar controles

Existen usuarios con discapacidad visual que no distinguen los colores. Por esta razón, los desarrolladores no deben basarse solo en el color para identificar un elemento, estado o acción a realizar. Por ejemplo, no deben implementarse mensajes del tipo:

"Para determinar el estado del cartucho de su impresora (Nivel de tinta restante), active el cuadro con el color correspondiente".

Independientemente de cómo se activa dicho cuadro (mediante tabulación o ratón), es evidente que usuarios invidentes o con discapacidad visual que les impida distinguir los colores, no podrán acceder a la información que les muestran estos cuadros si el desarrollador solo se ha basado en el color para distinguirlos.

Para hacer accesible este tipo de cuadros bastaría con añadir una referencia textual alternativa que describa el color correspondiente.

Teclas de acceso rápido

Las aplicaciones accesibles deben disponer de teclas de acceso rápido a las diferentes funciones y controles. Para asignar teclas de acceso rápido en Visual Basic, los controles disponen de una propiedad (AccessKeys) que permite asignar diferentes teclas de acceso rápido a un mismo control. También es posible asignar teclas de acceso rápido mediante la introducción de un carácter '&' justo delante del carácter en la propiedad Caption del control. Ejemplo:

cbCancelar.Caption = "C&ancelar", en el editor de código.
Caption: C&ancelar, en el explorador de propiedades del control cbCancelar.

De esta forma, cuando el usuario pulse la combinación de teclas alt+a, el foco se situará sobre el control Cancelar. Cuando un control asignado de esta forma adquiera el foco, las aplicaciones de TA anunciarán la combinación de teclas que el usuario debe pulsar para que vuelva a adquirir el foco en posteriores operaciones. De esta forma, el usuario puede memorizar la combinación de teclas y acceder más rápidamente a la opción deseada.

Características de los menús accesibles

Existen una serie de estándares referentes al orden en que los menús deben aparecer en la barra de menú, facilitando su uso a la mayoría de usuarios, pero especialmente a los usuarios con discapacidad visual. Se trata de ordenar los menús de la misma forma en que se ordenan en el resto de aplicaciones, como por ejemplo: Archivo, Edición, Ver, Herramientas, Ventana y Ayuda. De esta forma el usuario puede aprovechar su experiencia previa con otras aplicaciones para localizar más eficazmente el menú deseado, en vez de tener que adaptarse a una ordenación diferente por cada aplicación.

Exactamente lo mismo puede aplicarse a los atajos de teclado (o teclas de acceso directo). Las funciones semejantes deberían poder realizarse con los mismos atajos de teclado que se utilizan en la mayoría de aplicaciones. Por ejemplo, si normalmente para buscar se utiliza el atajo Ctrl+F, en nuestra aplicación deberíamos utilizar la misma combinación. Así los usuarios no tendrán que aprender nuevos atajos de teclado por cada aplicación que usen.

Hay que señalar que la misma aplicación en idiomas diferentes utiliza atajos de teclado diferentes, lo cual es útil para identificar la función con el atajo correspondiente a través de la primera letra, pero puede llevar a confusión cuando se utilizan habitualmente programas en diferentes idiomas. Por ejemplo, en programas de uso común en la versión inglesa se utiliza Ctrl+O, por la palabra 'Open', en vez de Ctrl+A de ‘Abrir’ para abrir un documento. En un programa de ofimática, como Microsoft Word, en la versión inglesa se utiliza Ctrl+A para “seleccionar todo”, no para abrir un documento, lo cual puede llevar a los usuarios con discapacidad visual a confusión. Para evitar problemas, los usuarios con o sin discapacidad deben tener muy claro en qué idioma están utilizando el programa y los atajos de teclado correspondientes.

Las aplicaciones de TA disponen de sus propios atajos de teclado reservados para el uso de aplicaciones de escritorio. Esto significa que no debe hacerse uso de estos atajos para lanzar funciones específicas en las aplicaciones que estemos diseñando.

Abreviaturas y acrónimos

Por razones de espacio, en muchas aplicaciones es común utilizar abreviaturas y acrónimos. Esto puede causar problemas a los usuarios invidentes, por la simple razón de que los lectores de pantalla pueden no interpretarlos correctamente. Esta es una cuestión que debe tratarse con mucho cuidado, ya que se desconoce a priori el idioma en el que está configurado el lector de pantalla.

En estos casos, debería definirse primero el texto sin abreviar en el idioma de la aplicación y, a continuación, la abreviatura o acrónimo original entre paréntesis. Así, los usuarios invidentes podrán obtener información completa y detallada de lo que se está mostrando en la pantalla a través de la TA.

Ejemplo:

Lenguaje de marcado de hipertexto (HTML).
Formato de Documento Portátil (PDF)
World Wide Web (WWW)

Valores que exceden el tamaño del control

En el diseño de interfaces es frecuente encontrar controles, por ejemplo tipo combobox o listbox, donde los textos de los diferentes valores sobrepasan el ancho del control. En estos casos los lectores de pantalla no pueden acceder al valor textual completo y sólo pueden hacer la locución de la parte visible, ignorando la parte del texto oculto a la derecha del extremo del control. Este problema deja a los usuarios invidentes sin la información completa acerca de la opción a escoger.

Para evitar este problema se pueden distribuir los controles de la interfaz entre diferentes pestañas para que no sea necesario ahorrar espacio y, así, alargar al máximo los controles de forma que los contenidos textuales de los valores no sobresalgan de los límites del control.

Imágenes y gráficos

Las imágenes y gráficos con un valor significativo o funcional en la interfaz, deben tener una descripción textual alternativa para que los lectores de pantalla puedan reproducir su contenido.

Uno de los métodos para añadir una imagen en Visual Basic es creando un control PictureBox. Sin embargo, no es posible hacer que este control sea accesible a la TA, ni tampoco a través del teclado por tabulación, ya que este tipo de control no posee la propiedad TabIndex.

Una posible solución es la inserción de controles tipo Label en los que se incluya el contenido textual alternativo, y que sí serán accesibles mediante TA. Si se considera que el contenido textual alternativo es fundamental para comprender el funcionamiento de la aplicación, puede sustituirse el control Label por un control TextBox de sólo lectura y, así, también estará disponible para acceder mediante teclado por tabulación. Para que el usuario invidente identifique que se trata de un texto alternativo es recomendable que el texto contenga un encabezado del tipo 'Imagen n' o 'Figura n', denotando que hace referencia a una imagen o gráfico.

El factor tiempo y las aplicaciones accesibles

Las aplicaciones accesibles no deben incorporar acciones que deban ejecutarse en un tiempo limitado. Las razones son diversas y obedecen a problemas de accesibilidad que afectan a diversos perfiles de usuarios con discapacidad:

Contenidos multimedia

Si una aplicación ofrece información significativa mediante audio, su contenido debe estar disponible alternativamente en forma textual, ya que si no es así los usuarios con discapacidad auditiva no podrán acceder a dicha información. Además, debe ser posible desactivar la reproducción de estos mensajes sonoros para que no interfieran con las aplicaciones de TA que utilizan usuarios invidentes.

El contenido textual alternativo también puede ser utilizado por usuarios invidentes con la ayuda de las aplicaciones de TA. Para ello, la reproducción del contenido textual debe poder controlarse por el usuario, con funcionalidades de avance y retroceso mediante atajos de teclado y controles botón.

Por ejemplo, en una aplicación multimedia de reproducción de audio o video, debe ser posible fragmentar la secuencia de la película de forma que el avance o retroceso de los subtítulos pueda hacerse de forma manual. Así, todos los usuarios podrán adaptar la reproducción de contenidos multimedia a sus necesidades.

Al igual que los subtítulos, también debe hacerse accesible a las aplicaciones de TA la audiodescripción para usuarios invidentes. La película debe poder fragmentarse en capítulos, de forma que los usuarios puedan acceder al capitulo que desean sin tener que reproducir todo el contenido.

Para que el avance y retroceso entre subtítulos resulte intuitivo, pueden utilizarse como atajos de teclado las teclas de cursor “Izquierda” y “Derecha”; y para los capítulos, las teclas “Avance Pagina” y “Retroceso Página”.

No intrusión de opciones de accesibilidad

Las aplicaciones accesibles no deben alterar o modificar las opciones de accesibilidad del Sistema Operativo ni de las aplicaciones de TA, ya que éstas son configuradas por los usuarios con discapacidad según sus propias necesidades.

Establecimiento de acciones de deshacer

Debe proporcionarse un método sencillo al usuario para deshacer las últimas acciones realizadas. En caso de que una acción no pueda deshacerse, se debe pedir confirmación explicita previa al usuario. En Visual Basic 2008 existe la clase MessageBox cuyo único método, Show, permite invocar la aparición de un cuadro de diálogo que hace posible solicitar al usuario su conformidad respecto a la acción a ejecutar.

Destellos y parpadeo

Los usuarios susceptibles de padecer ataques epilépticos requieren que las aplicaciones no muestren destellos ni parpadeos sobre ninguno de sus objetos, ya sean textos, imágenes o gráficos animados. Además, estos efectos visuales pueden resultar molestos también para el resto de usuarios.

5. Conclusiones

En este artículo se han introducido las líneas generales para crear aplicaciones accesibles con el entorno de programación Visual Basic. Se han expuesto las dificultades que presentan algunos perfiles de usuarios con discapacidad en el uso del ratón, y la obligación de crear interfaces gráficas que sean íntegramente manejables con el teclado.

Otro aspecto importante que se ha destacado es el de la compatibilidad de las aplicaciones con la tecnología de asistencia, ya que de no ser así algunos usuarios con discapacidad no podrán usar la aplicación.

Finalmente, se han revisado los requisitos fundamentales que una aplicación debe cumplir para asegurar su accesibilidad.

6. Bibliografia

Desarrollo de aplicaciones accesibles:
http://antares.sip.ucm.es/~luis/accesibilidadWEB08-09/aplicaciones.pdf

Visual Basic - Accessibility in Visual Basic - Ch16 Tutorials
http://www.brainbell.com/tutors/Visual_Basic/ch16.htm

Microsoft Developer Network (msdn)
http://msdn.microsoft.com/

Compartir:

Facebook Twitter Google LinkedIn

Acerca del autor/a:

Artur Undebarrena Canal es Ingeniero Técnico en Informática de Gestión por la EUP Mataró y Master en Tecnologías Accesibles para los Servicios de la Sociedad de la Información UOC Technosite.

Ha trabajado en el Ayuntamiento de Mataró, CIMPAL, Institut Català de Tecnología y CET Odisseny - Fundació Pere Mitjans.

Tiene experiencia en las siguientes tecnologías: Microsoft Visual Basic, Oracle Web Application Server, Oracle DBMS, Apple Final Cut Studio, iMovie, QuickTime, Photoshop, InDesign, ASP y Microsoft Access.

email: a.undeba (arroba) terra.es

Citación recomendada:

Undebarrena Canal, Artur (2010). Desarrollo de aplicaciones accesibles con Microsoft Visual Basic. En: No Solo Usabilidad, nº 9, 2010. <nosolousabilidad.com>. ISSN 1886-8592


No Solo Usabilidad - ISSN 1886-8592. Todos los derechos reservados, 2003-2016
email: info (arroba) nosolousabilidad.com
Powered by Calmly Writer