You are on page 1of 11

28 de Mayo de 2010

Desarrollo de aplicaciones accesibles con


Microsoft Visual Basic
Artur Undebarrena Canal. Master en Tecnologas Accesibles para los Servicios de la
Sociedad de la Informacin.
Resumen:
Se introduce el desarrollo de aplicaciones accesibles con Visual Basic,
analizando el concepto de Tecnologa de Asistencia en el contexto del
sistema operativo de Microsoft, revisando las propiedades de
accesibilidad en los controles de Visual Basic, y describiendo cules son
los requisitos de accesibilidad en las aplicaciones de Microsoft Windows
y cmo aplicarlos con Visual Basic.

1. Introduccin
Microsoft Visual Basic es uno de los entornos de desarrollo integrado o IDE (Integrated
Development Environment) ms utilizados para el sistema operativo Microsoft
Windows. Segn el ranking TIOBE de popularidad de lenguajes de programacin,
Visual Basic ocupa la quinta posicin, slo superado por Java, C, C++ y PHP.
Entre las ventajas de Visual Basic podemos destacar:

Facilidad de uso y aprendizaje. Recordemos que uno de los padres de la


primera versin de Visual Basic fue Alan Cooper, reconocido diseador de
interaccin.
Entorno integrado de desarrollo. Es posible disear interfaces grficas de usuario
sobre una ventana en tiempo de diseo, aplicando propiedades que modifican la
apariencia y programando eventos que modifican el comportamiento de la
aplicacin.
Integracin de diferentes lenguajes de programacin en un mismo entorno de
desarrollo Visual Studio (Visual Basic, Visual C++, Visual C#).
Posibilidad de crear aplicaciones para Microsoft Office.
Acceso a las funciones de la API de Windows.
Posibilidad de crear archivos ejecutables, libreras de clases, sitios webs con el
lenguaje de programacin ASP.NET, aplicaciones para dispositivos mviles,
etc.
Creacin de aplicaciones que interaccionan con la gran mayora de Sistemas
Gestores de Bases de Datos Relacionales y Orientados a Objetos (SGBDROO).

Posibilidad de disear clases, controles y componentes nuevos, y darles sus


propios comportamientos y propiedades para reutilizarlos en otras aplicaciones o
entornos de desarrollo.

Adems, Visual Basic incorpora una serie de caractersticas que posibilitan crear
aplicaciones accesibles para usuarios con discapacidad, como:

Posibilidad de compatibilidad e interaccin de las aplicaciones con el software


de Tecnologa de Asistencia.
Posibilidad de uso exclusivo de todas las funciones con teclado.
Posibilidad de ampliar el tamao de la interfaz grfica y de cada uno de los
controles que la forman.
Compatibilidad con las diferentes modalidades de configuracin de las
caractersticas de accesibilidad de Windows.

Segn se expone en el sitio web de Microsoft Developer Network (MSDN), las


aplicaciones que incorporan el logotipo de certificacin para Windows deben cumplir
los cinco requisitos de accesibilidad que se mencionan a continuacin:

Las configuraciones establecidas en el Panel de control, por lo que respecta a


tamao, color, fuente y entrada de datos deben adoptarse de forma automtica y
consistente con la interfaz grfica.
La modalidad de alto contraste debe ser compatible y adoptada por la interfaz
grfica de la aplicacin.
Debe ser posible tener acceso mediante teclado a toda la funcionalidad de la
aplicacin.
En todo momento durante la ejecucin de la aplicacin, la interfaz grfica debe
mostrar al usuario dnde se halla el foco del teclado.
Si la aplicacin ofrece informacin sonora importante, sta debe ser accesible
por otros canales.

En este trabajo se introduce el desarrollo de aplicaciones accesibles con Visual Basic,


analizando el concepto de Tecnologa de Asistencia en el contexto del sistema operativo
de Microsoft, revisando las propiedades de accesibilidad en los controles de Visual
Basic, y describiendo cules son los requisitos de accesibilidad en las aplicaciones de
Microsoft Windows y cmo aplicarlos con Visual Basic.

2. Tecnologa de asistencia
El concepto Tecnologa 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 lneas Braille y los teclados y dispositivos apuntadores alternativos.
Entre las aplicaciones software de TA ms significativas podemos destacar:

Lectores de pantalla: permiten a usuarios invidentes utilizar el ordenador a


travs de la salida de audio en forma de sntesis de voz. Mediante atajos de
teclado pueden hacer uso de las aplicaciones cuya salida en pantalla se traduce
en secuencias verbales a travs de la sntesis de voz.

Magnificadores de pantalla: Permiten a usuarios con discapacidad visual ampliar


el rea del escritorio a la escala que les resulte ms adecuada.
Software de reconocimiento de caracteres (OCR). Permite a usuarios invidentes
transformar imgenes que contienen contenido textual en texto al que puedan
acceder mediante lectores de pantalla.
Software de reconocimiento de comandos de voz. Mediante la entrada de
comandos de voz, usuarios con extremidades superiores amputadas o
paralizadas pueden transmitir rdenes y contenidos textuales al ordenador.
Opciones de accesibilidad de Microsoft Windows: Permiten configurar ciertas
caractersticas de accesibilidad del sistema operativo, como son:
Modalidad de pantalla en alto contraste.
Ampliador de pantalla: Cuando se activa esta modalidad, la pantalla se divide en
dos partes. En una parte de la pantalla se visualiza ampliado el entorno del
cursor o del puntero del ratn, de forma que usuarios con discapacidad visual
puedan ver lo que estn haciendo de forma ampliada y de forma normal.
Diferentes modalidades alternativas de uso del teclado y el ratn.

La gran mayora de aplicaciones de TA utilizan un controlador de dispositivo de video


que se instala entre la interfaz grfica de dispositivo y el controlador de dispositivo de la
tarjeta grfica. 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 ratn.
En Microsoft Windows las aplicaciones de TA pueden tener acceso a los elementos de
la interfaz grfica de usuario a travs de MSAA (Microsoft Active Accessibility), una
API o interfaz de programacin de aplicaciones.

3. Propiedades de los controles referidos a la


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

AccessibilityObject: Es una propiedad de slo lectura que contiene una instancia


de la clase AccessibleObject. Esta clase implementa la interfaz IAccessible, que
proporciona informacin acerca de:
La descripcin del control.
Su ubicacin en la pantalla.
Las funciones de desplazamiento.
El valor.
AccessibleDefaultActionDescription: Obtiene o define la descripcin de la
accin del control. Slo es posible acceder a ella mediante cdigo, no mediante
el navegador de propiedades en tiempo de diseo.

Ejemplo:
botonCerrar.AccessibleDefaultActionDescription="Cerrar la
aplicacin"

AccessibleDescription: Obtiene o define la descripcin que el desarrollador


proporciona al control, descripcin que ser utilizada por las aplicaciones de TA.
Ejemplo:
botonCerrar.AccessibleDescription="Botn utilizado para cerrar
la aplicacin"

AccessibleName: Obtiene o define el nombre del control que ser utilizado por
las aplicaciones de TA.
Ejemplo:
botonCerrar.AccessibleName="Terminar"

AccessibleRole: Obtiene o define un rol a un control utilizado para informar de


la funcin que desempea dentro de la interfaz grfica a las aplicaciones de TA.
Ejemplo:
botonCerrar.AccessibleRole=Windows.Forms.AccessibleRole.Default

4. Requisitos de accesibilidad de las aplicaciones


Windows y su implementacin con Visual Basic
Para asegurar la accesibilidad de las aplicaciones que desarrollemos debemos cumplir
una serie de requisitos, descritos y analizados a continuacin.

Navegacin por la interfaz grfica mediante teclado


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

Usuarios invidentes no pueden usar el ratn, dado que no pueden percibir la


situacin del puntero en la pantalla y, por tanto, tampoco dnde deben hacer clic.
Esto incluye tambin al uso del puntero mediante las funciones MouseKeys
(control del puntero mediante el teclado).
Algunos perfiles de usuarios con discapacidad motriz: No pueden utilizar el
ratn ya que los movimientos involuntarios les impiden tener la precisin
requerida para apuntar en el lugar deseado. Este perfil puede utilizar las
mencionadas funciones MouseKeys.
Personas sin discapacidad que utilizan masivamente el teclado: Existen tareas
donde el uso masivo del teclado se ve interrumpido por la obligacin de utilizar
el ratn. Un cambio frecuente entre ratn y teclado dificulta la tarea y disminuye
el rendimiento. Un buen diseo debe facilitar al mximo el uso de la interfaz
mediante teclado para aprovechar al mximo el tiempo de produccin. La mejor
forma de implementar este requerimiento es mediante los atajos de teclado.

Por estas razones resulta imprescindible que la interfaz de la aplicacin se disee de


forma que mediante el mtodo de tabulacin sea posible navegar por todos los controles
y grupos de controles de forma coherente con su posicin en la interfaz. Un diseo
correcto debe facilitar navegar por la interfaz de izquierda a derecha y de arriba abajo.
En el entorno de programacin de Visual Basic, el orden de tabulacin 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 nmero total de
controles.
Recordemos que conforme el diseador incorpora controles al formulario,
automticamente el entorno asigna un TabIndex a cada control. Debe por tanto tenerse
especial cuidado en esta numeracin automtica, 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 mtodo de tabulacin. Existen
controles que lo incorporan y otros que no, dependiendo de si pueden ser lgicamente
accedidos por medio de la tabulacin o no. Los valores posibles para TabStop son True
y False.

Colores, tipo, estilo y tamao de letra de los controles


Algunos usuarios con discapacidad visual pueden necesitar cambiar las caractersticas
de la tipografa del contenido de los controles: tipo, estilo, tamao y color. Para ello
existen diferentes posibilidades:

Los magnificadores de pantalla son programas de TA que permiten configurar


ciertos atributos de visualizacin de la pantalla:
Porcentaje de ampliacin del rea de escritorio.
Visualizacin de la pantalla en modalidad de alto contraste.
Caractersticas de visualizacin y seguimiento del control que obtiene el foco.
Posibilidad de utilizar dos monitores, con lo cual uno puede servir para situar el
cursor dentro de la pantalla y el otro para visualizar la pantalla en modo
ampliado.
Dentro de una misma pantalla, existe tambin la posibilidad de dividir el rea de
trabajo en dos zonas, una ampliada y otra con visualizacin normal.

En la propia aplicacin, establecer las caractersticas de visualizacin es posible


gracias a:
La propiedad Font: Permite configurar el tipo de fuente, estilo, tamao y efectos.
Ejemplo:
tbnombre.Font = New Font(tbnombre.Font.Name, tbnombre.Font.Size
+ 1, tbnombre.Font.Style)

En este ejemplo se fuerza a que el tamao de tipografa del control TextBox

tbnombre aumente un punto.


Las propiedades Left, Top, width, height. Permiten posicionar y dimensionar los
controles en la ventana de la aplicacin. De este modo es posible que cuando el
usuario requiera aumentar el tamao de la ventana tambin aumente el tamao
de los controles con la reubicacin e incremento de la tipografa
correspondiente.
Las propiedades ForeColor y BackColor. Permiten establecer los colores de
primer plano y fondo de los controles y ventana de la aplicacin. Es
recomendable no establecer estos valores en la misma aplicacin. La razn se
debe a que los usuarios que utilizan la modalidad de alto contraste no podrn
utilizar los colores establecidos en esta modalidad por defecto y tendrn
problemas de visualizacin de los colores.

Uso exclusivo del color para identificar controles


Existen usuarios con discapacidad visual que no distinguen los colores. Por esta razn,
los desarrolladores no deben basarse solo en el color para identificar un elemento,
estado o accin 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 cmo se activa dicho cuadro (mediante tabulacin o ratn), es
evidente que usuarios invidentes o con discapacidad visual que les impida distinguir los
colores, no podrn acceder a la informacin que les muestran estos cuadros si el
desarrollador solo se ha basado en el color para distinguirlos.
Para hacer accesible este tipo de cuadros bastara con aadir una referencia textual
alternativa que describa el color correspondiente.

Teclas de acceso rpido


Las aplicaciones accesibles deben disponer de teclas de acceso rpido a las diferentes
funciones y controles. Para asignar teclas de acceso rpido en Visual Basic, los
controles disponen de una propiedad (AccessKeys) que permite asignar diferentes teclas
de acceso rpido a un mismo control. Tambin es posible asignar teclas de acceso
rpido mediante la introduccin de un carcter '&' justo delante del carcter en la
propiedad Caption del control. Ejemplo:
cbCancelar.Caption
=
"C&ancelar",
en
el
editor
de
cdigo.
Caption: C&ancelar, en el explorador de propiedades del control cbCancelar.

De esta forma, cuando el usuario pulse la combinacin 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 anunciarn la combinacin 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 combinacin de teclas y acceder ms rpidamente a la opcin


deseada.

Caractersticas de los mens accesibles


Existen una serie de estndares referentes al orden en que los mens deben aparecer en
la barra de men, facilitando su uso a la mayora de usuarios, pero especialmente a los
usuarios con discapacidad visual. Se trata de ordenar los mens de la misma forma en
que se ordenan en el resto de aplicaciones, como por ejemplo: Archivo, Edicin, Ver,
Herramientas, Ventana y Ayuda. De esta forma el usuario puede aprovechar su
experiencia previa con otras aplicaciones para localizar ms eficazmente el men
deseado, en vez de tener que adaptarse a una ordenacin diferente por cada aplicacin.
Exactamente lo mismo puede aplicarse a los atajos de teclado (o teclas de acceso
directo). Las funciones semejantes deberan poder realizarse con los mismos atajos de
teclado que se utilizan en la mayora de aplicaciones. Por ejemplo, si normalmente para
buscar se utiliza el atajo Ctrl+F, en nuestra aplicacin deberamos utilizar la misma
combinacin. As los usuarios no tendrn que aprender nuevos atajos de teclado por
cada aplicacin que usen.
Hay que sealar que la misma aplicacin en idiomas diferentes utiliza atajos de teclado
diferentes, lo cual es til para identificar la funcin con el atajo correspondiente a travs
de la primera letra, pero puede llevar a confusin cuando se utilizan habitualmente
programas en diferentes idiomas. Por ejemplo, en programas de uso comn en la
versin inglesa se utiliza Ctrl+O, por la palabra 'Open', en vez de Ctrl+A de Abrir para
abrir un documento. En un programa de ofimtica, como Microsoft Word, en la versin
inglesa se utiliza Ctrl+A para seleccionar todo, no para abrir un documento, lo cual
puede llevar a los usuarios con discapacidad visual a confusin. Para evitar problemas,
los usuarios con o sin discapacidad deben tener muy claro en qu idioma estn
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 especficas en las aplicaciones que estemos diseando.

Abreviaturas y acrnimos
Por razones de espacio, en muchas aplicaciones es comn utilizar abreviaturas y
acrnimos. Esto puede causar problemas a los usuarios invidentes, por la simple razn
de que los lectores de pantalla pueden no interpretarlos correctamente. Esta es una
cuestin 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, debera definirse primero el texto sin abreviar en el idioma de la
aplicacin y, a continuacin, la abreviatura o acrnimo original entre parntesis. As, los
usuarios invidentes podrn obtener informacin completa y detallada de lo que se est
mostrando en la pantalla a travs de la TA.

Ejemplo:
Lenguaje de marcado de hipertexto (HTML).
Formato de Documento Porttil (PDF)
World Wide Web (WWW)

Valores que exceden el tamao del control


En el diseo 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 slo
pueden hacer la locucin 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
informacin completa acerca de la opcin a escoger.
Para evitar este problema se pueden distribuir los controles de la interfaz entre
diferentes pestaas para que no sea necesario ahorrar espacio y, as, alargar al mximo
los controles de forma que los contenidos textuales de los valores no sobresalgan de los
lmites del control.

Imgenes y grficos
Las imgenes y grficos con un valor significativo o funcional en la interfaz, deben
tener una descripcin textual alternativa para que los lectores de pantalla puedan
reproducir su contenido.
Uno de los mtodos para aadir 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 travs del teclado por tabulacin, ya que este tipo de control no posee la
propiedad TabIndex.
Una posible solucin es la insercin de controles tipo Label en los que se incluya el
contenido textual alternativo, y que s sern accesibles mediante TA. Si se considera que
el contenido textual alternativo es fundamental para comprender el funcionamiento de la
aplicacin, puede sustituirse el control Label por un control TextBox de slo lectura y,
as, tambin estar disponible para acceder mediante teclado por tabulacin. 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 grfico.

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:

Usuarios invidentes: no pueden responder a peticiones que dependan del tiempo


debido a que el uso de TA les obliga a rastrear toda la ventana antes de
percatarse de lo que la aplicacin est requiriendo que se realice en un tiempo
limitado.

Usuarios con discapacidad motriz: Este perfil de usuarios no puede realizar


ciertas acciones en un determinado tiempo debido a que la presencia de
movimientos involuntarios no les permiten actuar rpidamente y con precisin.
Si los movimientos involuntarios son muy acentuados los teclados se suelen
cubrir con los llamados cobertores de teclado. Estos artilugios constan de una
plataforma de plstico con agujeros que coinciden con las teclas de un teclado
estndar, permitiendo a los usuarios con discapacidad motriz reducir la tasa de
errores.
Usuarios inexpertos de edad avanzada: Su eficiencia de uso suele ser menor que
en el resto de usuarios.

Contenidos multimedia
Si una aplicacin ofrece informacin significativa mediante audio, su contenido debe
estar disponible alternativamente en forma textual, ya que si no es as los usuarios con
discapacidad auditiva no podrn acceder a dicha informacin. Adems, debe ser posible
desactivar la reproduccin de estos mensajes sonoros para que no interfieran con las
aplicaciones de TA que utilizan usuarios invidentes.
El contenido textual alternativo tambin puede ser utilizado por usuarios invidentes con
la ayuda de las aplicaciones de TA. Para ello, la reproduccin del contenido textual debe
poder controlarse por el usuario, con funcionalidades de avance y retroceso mediante
atajos de teclado y controles botn.
Por ejemplo, en una aplicacin multimedia de reproduccin de audio o video, debe ser
posible fragmentar la secuencia de la pelcula de forma que el avance o retroceso de los
subttulos pueda hacerse de forma manual. As, todos los usuarios podrn adaptar la
reproduccin de contenidos multimedia a sus necesidades.
Al igual que los subttulos, tambin debe hacerse accesible a las aplicaciones de TA la
audiodescripcin para usuarios invidentes. La pelcula debe poder fragmentarse en
captulos, 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 subttulos resulte intuitivo, pueden utilizarse como
atajos de teclado las teclas de cursor Izquierda y Derecha; y para los captulos, las
teclas Avance Pagina y Retroceso Pgina.

No intrusin 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 segn sus propias necesidades.

Establecimiento de acciones de deshacer


Debe proporcionarse un mtodo sencillo al usuario para deshacer las ltimas acciones
realizadas. En caso de que una accin no pueda deshacerse, se debe pedir confirmacin
explicita previa al usuario. En Visual Basic 2008 existe la clase MessageBox cuyo

nico mtodo, Show, permite invocar la aparicin de un cuadro de dilogo que hace
posible solicitar al usuario su conformidad respecto a la accin a ejecutar.

Destellos y parpadeo
Los usuarios susceptibles de padecer ataques epilpticos requieren que las aplicaciones
no muestren destellos ni parpadeos sobre ninguno de sus objetos, ya sean textos,
imgenes o grficos animados. Adems, estos efectos visuales pueden resultar molestos
tambin para el resto de usuarios.

5. Conclusiones
En este artculo se han introducido las lneas generales para crear aplicaciones
accesibles con el entorno de programacin Visual Basic. Se han expuesto las
dificultades que presentan algunos perfiles de usuarios con discapacidad en el uso del
ratn, y la obligacin de crear interfaces grficas que sean ntegramente manejables con
el teclado.
Otro aspecto importante que se ha destacado es el de la compatibilidad de las
aplicaciones con la tecnologa de asistencia, ya que de no ser as algunos usuarios con
discapacidad no podrn usar la aplicacin.
Finalmente, se han revisado los requisitos fundamentales que una aplicacin 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/

Citacin recomendada:
Undebarrena Canal, Artur; (2010). Desarrollo de aplicaciones accesibles con Microsoft
Visual Basic. En: No Solo Usabilidad, n 9, 2010. <nosolousabilidad.com>. ISSN 18868592

Copyright of No Solo Usabilidad Journal is the property of No Solo Usabilidad and its content may not be
copied or emailed to multiple sites or posted to a listserv without the copyright holder's express written
permission. However, users may print, download, or email articles for individual use.

You might also like