Professional Documents
Culture Documents
Autor: Ele Balle A ena esteros M Molinero Director: Vctor M D Manuel L Lpez Jaq quero Jos Pascual Mo olina Ma ass
Julio, 2008 ,
II
Resumen
El objetivo principal del proyecto es el desarrollo de una herramienta de ayuda a personas con problemas visuales. Con tal fin, se ha llevado a cabo un estudio de las principales herramientas ya desarrolladas, que, junto con las opiniones de usuarios de este tipo de software, ha permitido definir los requisitos que una aplicacin de estas caractersticas debera cumplir. El resultado ha sido Magui, un magnificador de pantalla cuya funcionalidad consiste en: Magnificado a pantalla completa, o mediante otros tipos de lupa como pueden ser fijos sobre una mitad de la pantalla o dinmicos, que siguen la posicin en que se encuentra el ratn, el cursor o el elemento del escritorio con el que est interactuando el usuario. Establecer un factor de ampliacin entre 1 y 32, se permiten valores fraccionarios que varan de 0'25 en 0'25 en el rango [1,3] Suavizado de la imagen mediante tcnicas de antialias que permiten reducir el efecto dientes de sierra derivado de la ampliacin. Mejoras de color sobre la imagen y el sistema, entre las que destaca la posibilidad de establecer el modo en alto contraste. Mejoras del ratn y activacin/desactivacin de guas de seguimiento que resaltan su posicin en la imagen ampliada. Mejoras del cursor que permiten la activacin/desactivacin de guas de seguimiento que resaltan su posicin en la imagen ampliada. Mejoras del foco, que permiten la activacin/desactivacin de guas de seguimiento que resaltan la posicin del elemento que contiene el foco sobre el escritorio y/o la imagen ampliada. Ajustes de seguimiento, para seleccionar qu elemento o elementos (ratn, cursor y/o foco) debe actualizar la imagen ampliada. Ajustes de comportamiento para indicar dnde posicionar los elementos como el ratn, cursor o foco sobre el rea ampliada.
III
IV
Agradecimientos
A mis padres, por estar siempre ah y no dejarme tirar la toalla. A Roberto por apoyarme y mantenerse a mi lado. A mi to Miguel. A esa segunda familia que ha conseguido hacerme sentir una ms. A mis tutores Jos Pascual Molina Mass y Vctor Lpez Jaquero, por haber confiado en m. Y, en general, a todos los que se han interesando por este trabajo.
Dedicatorias
Me gustara dedicar especialmente este trabajo a mis padres, porque me han enseado que, aunque uno no vea, siempre puede mirar un poco ms all.
VI
NDICE
1. INTRODUCCIN. ............................................................................................................ 1 1.1. OBJETIVOS Y MOTIVACIN. ............................................................................... 1 1.2. ESTRUCTURA DEL DOCUMENTO. ...................................................................... 2
2. ANTECEDENTES, ESTADO DE LA CUESTIN. ........................................................ 3 2.1. DISCAPACIDAD Y ACCESIBILIDAD A LA INFORMACIN Y A LA COMUNICACIN. ....................................................................................................... 3 2.2. DISCAPACIDAD VISUAL. ...................................................................................... 4 2.2.1. Introduccin a los conceptos de ceguera y baja visin. ................................... 4 2.2.2. Cataratas. .......................................................................................................... 4 2.2.3. Degeneracin macular...................................................................................... 5 2.2.4. Glaucoma. ........................................................................................................ 5 2.2.5. Retinitis Pigmentaria (RP). .............................................................................. 6 2.2.6. Retinopata Diabtica. ...................................................................................... 6 2.2.7. Hemianopsia..................................................................................................... 7 2.3. TIFLOTECNOLOGA. .............................................................................................. 7 2.3.1. Soluciones existentes en el mercado para la plataforma Windows. ................ 8 2.3.1.1. Supernova Reader Magnifier. ................................................................... 8 2.3.1.2. iZoom. ....................................................................................................... 9 2.3.1.3. MAGic..................................................................................................... 10 2.3.1.4. BigShot Screen Magnifier. ...................................................................... 11 2.3.1.5. ZoomText. ............................................................................................... 12 2.3.1.6. DesktopZoom. ......................................................................................... 13 2.3.2. Comparativa. .................................................................................................. 14 2.3.3. Conclusiones. ................................................................................................. 19
3. ANLISIS DE LAS NECESIDADES DE UNA HERRAMIENTA DE AYUDA PARA PERSONAS CON BAJA VISIN. ................................................................................. 20 3.1. OBJETIVOS PARCIALES. ..................................................................................... 20 3.1.1. Gestionar Magnificador. ................................................................................ 20 3.1.2. Gestionar Lector. ............................................................................................ 20 3.1.3. Gestionar Configuracin. ............................................................................... 21 VII
3.2. CATLOGO DE REQUISITOS DEL SISTEMA. .................................................. 21 3.2.1. Requisitos de almacenamiento de informacin.............................................. 21 3.2.2. Requisitos funcionales. .................................................................................. 23 3.2.2.1. Diagrama de casos de uso. ...................................................................... 23 3.2.2.2. Definicin de actores. .............................................................................. 24 3.2.2.3. Casos de uso del sistema. ........................................................................ 25 3.2.2.3.1. Subsistema Gestionar Magnificador. ............................................... 25 3.2.2.3.2. Subsistema Gestionar Lector. ........................................................... 33 3.2.2.3.3. Subsistema Gestionar Configuracin. .............................................. 35 3.2.3. Requisitos no funcionales. ............................................................................. 37 3.2.4. Diagrama de clases. ........................................................................................ 38
4. HIPTESIS DE TRABAJO. ........................................................................................... 39 4.1. LMITES DEL DOMINIO DEL PROBLEMA. ....................................................... 39 4.2. DISEO DEL MAGNIFICADOR CON TCNICAS DE ALTO NIVEL. ............. 40 4.3. C# COMO LENGUAJE DE PROGRAMACIN. ................................................... 42 4.4. WINDOWS XP COMO SISTEMA OPERATIVO SOBRE EL QUE SE EJECUTAR LA APLICACIN. .............................................................................. 42 4.5. TECNOLOGAS UTILIZADAS. ............................................................................. 43 4.5.1. API Hooking. ................................................................................................. 43 4.5.2. UI Automation. .............................................................................................. 43 4.6. ACCESIBILIDAD DE LA APLICACIN. ............................................................. 44
5. IMPLEMENTACIN...................................................................................................... 48 5.1. VISIN DE CONJUNTO. ........................................................................................ 48 5.1.1. Clase Contenedor. .......................................................................................... 48 5.1.2. Clase Magnificador. ....................................................................................... 49 5.1.3. Clase Imagen. ................................................................................................. 50 5.1.4. Clase Ratn. ................................................................................................... 51 5.1.5. Clase Cursores. ............................................................................................... 51 5.1.6. Clase Localizadores. ...................................................................................... 51 5.1.7. Clase Controladores. ...................................................................................... 53 5.1.8. Clase AltoContraste. ...................................................................................... 53 5.1.9. Clase Foco. ..................................................................................................... 54 VIII
5.2. CREAR UN FORMULARIO COMO UNA CAPA TRANSPARENTE, SOBRE EL PUNTO MS ALTO DEL EJE Z. .............................................................................. 55 5.3. CREAR UNA IMAGEN AMPLIADA A PARTIR DE UNA REGIN DEL ESCRITORIO. ............................................................................................................. 56 5.4. CREAR UN CONTROLADOR QUE ACTUALICE LA IMAGEN AMPLIADA CON EL MOVIMIENTO DEL RATN O EL CURSOR.......................................... 60 5.5. AADIR EL CURSOR AMPLIADO A LA IMAGEN MAGNIFICADA. ............ 62 5.6. APLICAR SUAVIZADO SOBRE LA IMAGEN MAGNIFICADA. ..................... 68 5.7. ESTABLECER MEJORAS DE COLOR SOBRE EL SISTEMA. .......................... 68 5.8. INCORPORAR MARCADOR PARA EL SEGUIMIENTO DEL FOCO. ............. 70 5.9. DESARROLLO DE UNA INTERFAZ ACCESIBLE. ............................................ 72
6. TUTORIAL DE MAGUI................................................................................................. 73 6.1. REQUISITOS PREVIOS A LA INSTALACIN. .................................................. 73 6.2. CMO COMENZAR. .............................................................................................. 73 6.2.1. Abrir el programa. .......................................................................................... 73 6.2.2. Cerrar el programa. ........................................................................................ 73 6.2.3. Ayuda. ............................................................................................................ 73 6.2.4. Desplazarse por Magui................................................................................... 74 6.3. INTERFAZ DE USUARIO. ..................................................................................... 74 6.3.1. Botn de Encendido/Apagado del magnificador. .......................................... 75 6.3.2. Botones para Aumentar/Disminuir el Factor de Ampliacin......................... 76 6.3.3. Botn Tipos de Lupa. ..................................................................................... 77 6.3.4. Antialias. ........................................................................................................ 76 6.3.4. Botn de Mejoras del Color. .......................................................................... 80 6.3.5. Botn de Mejoras del Ratn........................................................................... 81 6.3.6. Botn de Mejoras del Cursor. ........................................................................ 83 6.3.7. Botn de Seguimiento de Foco. ..................................................................... 84 6.4. OTROS. .................................................................................................................... 85 6.4.1. Ajustes de comportamiento del ratn, cursor y foco. .................................... 85 6.4.2. Ajustes de seguimiento. ................................................................................. 86
IX
LISTA DE TABLAS
Tabla 1 Magnificadores - Caractersticas generales................................................. 15 Tabla 2 Magnificadores - Aumentos. ...................................................................... 15 Tabla 3 Magnificadores - Tipos de contenedores .................................................... 16 Tabla 4 Magnificadores - Mejoras del ratn ............................................................ 16 Tabla 5 Magnificadores - Suavizado........................................................................ 17 Tabla 6 Magnificadores - Mejoras de color ............................................................. 17 Tabla 7 Magnificadores - Desplazamiento automtico ............................................ 18 Tabla 8 Requisitos de accesibilidad - Principios Generales ..................................... 44 Tabla 9 Requisitos de accesibilidad - Teclado ......................................................... 45 Tabla 10 Requisitos de accesibilidad - Informacin de objetos ............................... 45 Tabla 11 Requisitos de accesibilidad - Pantalla ....................................................... 46 Tabla 12 Requisitos de accesibilidad Documentacin. ......................................... 47 Tabla 13 Requisitos de accesibilidad - Otros ........................................................... 47 Tabla 14 Valores para la variable TernaryRasterOperation - StretchBlt ................. 59 Tabla 15 Punteros reconocidos por el magnificador ................................................ 65
LISTA DE FIGURAS
Fig. 1 Cataratas. ......................................................................................................... 4 Fig. 2 Degeneracin macular. .................................................................................... 5 Fig. 3 Glaucoma. ........................................................................................................ 5 Fig. 4 Retinitis Pigmentaria. ...................................................................................... 6 Fig. 5 Retinopata diabtica. ...................................................................................... 6 Fig. 6 Hemianopsia. ................................................................................................... 7 Fig. 7 Interfaz de Supernova Reader Magnifier. ........................................................ 8 Fig. 8 Interfaz de iZoom. ........................................................................................... 9 Fig. 9 Interfaz de MAGic. ........................................................................................ 10 Fig. 10 Interfaz de BigShot Screen Magnifier. ........................................................ 11 Fig. 11 Interfaz de ZoomText. ................................................................................. 12 Fig. 12 Interfaz de DesktopZoom. ........................................................................... 13 Fig. 13 [OBJ1] Gestionar magnificador ................................................................... 20 Fig. 14 [OBJ2] Gestionar lector ............................................................................... 20 Fig. 15 [OBJ3] Gestionar configuracin .................................................................. 21 Fig. 16 Casos de uso relacionados con el [OBJ1] Gestionar Magnificador ............ 23 Fig. 17 Casos de uso relacionados con el [OBJ2] Gestionar lector ........................ 24 Fig. 18 Casos de uso relacionados con el [OBJ3] Gestionar configuracin ........... 24 Fig. 19 [ACT1] Usuario ........................................................................................... 24 Fig. 20 Diagrama de Clases ..................................................................................... 38 Fig. 21 Diseo de un magnificador desarrollado con tcnicas de alto nivel. ........... 40 Fig. 22 Localizador de ratn cruz grande ................................................................ 52 Fig. 23 Localizador de ratn cruz pequea. ............................................................. 52 Fig. 24 Localizador de ratn circular. ...................................................................... 52 Fig. 25 Localizador de cursor con forma de cuas. ................................................. 52 Fig. 26 Localizador de cursor con forma cuadrada. ................................................. 52 Fig. 27 Formulario transparente a eventos sobre el punto ms alto del Eje Z. ........ 55 Fig. 28 Efecto magnificado - Funcin StretchBlt .................................................... 56 Fig. 29 Seleccin de las esquinas superior izquierda - Funcin StretchBlt ............. 57 Fig. 30 Imagen ampliada, centrada en el ratn ........................................................ 57 Fig. 31 No centrar ratn segn la imagen magnificada ........................................... 58 Fig. 32 Dimensiones origen y destino - Funcin StretchBlt .................................... 58 Fig. 33 Tipo de mapa de bits en la imagen ampliada - Funcin StretchBlt ............. 59 Fig. 34 Distorsin de la imagen - Funcin BitBlt .................................................... 59 Fig. 35 Comportamiento del controlador de Teclado .............................................. 61 Fig. 36 Cursor ampliado de forma proporcional al factor de ampliacin. ............... 62 Fig. 37 Cursor con tamao predefinido (normal, grande, ms grande). .................. 63
XI
Fig. 38 Diagrama de actividad - Capturar el manejador del ratn global del sistema .............................................................................................................................................. 64 Fig. 39 Ejemplo de ratn fantasma con la aplicacin magnificando a pantalla completa ............................................................................................................................... 66 Fig. 40 Ratn oculto correctamente bajo el formulario. .......................................... 67 Fig. 41 Ratn con forma de mano que no queda oculto correctamente bajo el formulario............................................................................................................................. 67 Fig. 42 Imagen con Antialias ................................................................................... 68 Fig. 43 Imagen del explorer en modo alto contraste. ............................................... 69 Fig. 44 Mejoras de color - Propiedades del aspecto de la pantalla .......................... 69 Fig. 45 Comportamiento del controlador de Foco ................................................... 70 Fig. 46 Procedimiento para mostrar los localizadores del foco ............................... 71 Fig. 47 Iconos de la itnerfaz para el modo normal y el modo en alto contraste....... 72 Fig. 48 Icono del magnificador. ............................................................................... 73 Fig. 49 Interfaz de usuario ....................................................................................... 74 Fig. 50 Barra de ttulo del magnificador .................................................................. 74 Fig. 51 Barra de men del magnificador .................................................................. 74 Fig. 52 Ventana principal del magnificador. ............................................................ 75 Fig. 53 Botn de encendido del magnificador en estado apagado. .......................... 75 Fig. 54 Botn de encendido del magnificador en estado activo. ............................. 75 Fig. 55 Botn para aumentar el factor de ampliacin. ............................................. 76 Fig. 56 Botn para disminuir el factor de ampliacin. ............................................. 76 Fig. 57 Factor de ampliacin. ................................................................................... 76 Fig. 58 Botn para modificar el tipo de lupa ........................................................... 77 Fig. 59 Ventana para seleccin de un tipo de lupa. .................................................. 77 Fig. 60 Ventana para definir un tipo de lupa personalizado..................................... 79 Fig. 61 Botn mejoras del color. .............................................................................. 80 Fig. 62 Botn mejoras de color. ............................................................................... 80 Fig. 63 Botn Mejoras del Ratn ............................................................................. 81 Fig. 64 Ventana con los ajustes del ratn. ................................................................ 82 Fig. 65 Botn mejoras del cursor. ............................................................................ 83 Fig. 66 Ventana con los ajustes del cursor. .............................................................. 83 Fig. 67 Botn de seguimiento de foco. .................................................................... 84 Fig. 68 Ventana para la personalizacin del seguimiento del foco. ......................... 84 Fig. 69 Comportamiento del ratn. .......................................................................... 85 Fig. 70 Posicionamiento del ratn en la ventana con zoom. .................................... 85 Fig. 71 Posicionamiento del foco en la ventana con zoom ...................................... 85 Fig. 72 Restriccin del movimiento del ratn a la ventana activa. .......................... 86 Fig. 73 Ajustes de seguimiento. ............................................................................... 86 Fig. 74 Elementos a los que aplicar seguimiento. .................................................... 86 XII
XIII
XIV
1. INTRODUCCIN.
1 2
(Visin 2020: El derecho a ver, 2004). (Abascal & Valero, 2001). 3 (AEN/CTN 139 Tecnologas de la Informacin y las comunicaciones para la salud, 2003).
2.2.2. Cataratas.
Fig. 1 Cataratas.
rea nublada u opaca en el cristalino del ojo (ADAM). Posibles Sntomas: Visin nublada, borrosa, difusa o velada. Prdida de la intensidad de los colores. Sensibilidad al resplandor y halos alrededor de las luces. Doble visin en un solo ojo. Disminucin de la sensibilidad al contraste.
4 5
Trastorno que afecta a la mcula (parte central de la retina del ojo), causando disminucin de la visin y posible prdida de la visin central (ADAM). Posibles Sntomas: Visin central ausente, oscura, distorsionada o borrosa.
2.2.4. Glaucoma.
Fig. 3 Glaucoma.
Grupo de trastornos que llevan a que se presente un dao en el nervio ptico, que es el encargado de llevar la informacin visual del ojo al cerebro (ADAM). Posibles Sntomas: Glaucoma de ngulo abierto: o Prdida gradual de la visin perifrica. Glaucoma de ngulo cerrado: o Visin borrosa o disminuida, pupila no reactiva a la luz. Glaucoma congnito: o Opacidad en la parte frontal del ojo. o Sensibilidad a la luz.
Es una enfermedad ocular en la cual hay dao a la retina que empeora con el tiempo. Las personas con esta afeccin tienen problemas con la visin nocturna y la perifrica. El principal factor de riesgo es su carcter hereditario (ADAM). Posibles sntomas: Disminucin de la visin nocturna o en ambientes con poca luz. Prdida de la visin perifrica. Prdida de la visin central (en casos avanzados).
Dao progresivo a la retina del ojo ocasionado por diabetes prolongada que puede causar ceguera (ADAM). Posibles sntomas: Efecto moscas volantes. Visin borrosa o disminuida. Ceguera.
2.2.7. Hemianopsia.
Fig. 6 Hemianopsia.
Se denomina con este trmino a la visin defectuosa o ceguera que nubla el campo normal de la visin de un ojo. En la hemianopsia homnima, el dao afecta a la misma parte del campo visual en ambos ojos (ADAM).
2.3. TIFLOTECNOLOGA..
Del griego tiflo, ciego, se define con este trmino la adaptacin y accesibilidad de las tecnologas de la informacin y comunicacin para su utilizacin y aprovechamiento por parte de las personas con ceguera y deficiencia visual (ONCE). Destinados a tal fin existen diversos tipos de materiales. En este apartado se ver una breve descripcin de algunos de ellos, para, posteriormente, hacer un estudio ms detallado sobre los magnificadores de pantalla. Magnificadores: Amplan la imagen que se muestra en pantalla. Lectores de pantalla: Permiten acceder a la informacin mostrada por pantalla a travs de dispositivos de voz y/o Braille. Programas de reconocimiento de textos (OCR): Programas de sencillo manejo que combinados con un scanner leen textos impresos. Traductores Braille: Traducen la salida de un documento electrnico a Braille antes de enviar la orden de impresin a una impresora en relieve. Navegadores parlantes: Destinados a la lectura del contenido de las pginas web. El carcter degenerativo de muchas de las patologas oculares da lugar a que una misma persona utilice varias de estas soluciones de manera conjunta o pase de unas a otras segn el estado de su enfermedad. 7
Autor: Dolphin6. Versin: 9.01 Descripcin: Combina opciones de magnificado, voz y Braille. Tipo de contenedor: Pantalla completa, fijo o desplazable siguiendo el cursor. Factor de escala mximo: x32. Admite factores fraccionarios: S. Suavizado de fuentes: S. Con propiedades de lector: S. Con propiedades de Braille: S. Tipo: De pago (1500 2000). A destacar: No es necesario cambiar de herramienta si la vista del usuario empeora, por tratarse de una especie de todo en uno (Magnificador, Lector y Braille).
http://www.yourdolphin.com/index.asp
Otros: Existen versiones comerciales que ofrecen un subconjunto de las opciones del producto Supernova (HAL: Braille, Lunar: magnificador y LunarPlus: magnificador y voz), abaratando, as, su coste.
2.3.1.2. iZoom.
Autor: Issist7. Versin: 2.0 Descripcin: Magnificador a bajo costo con un lector muy simple. Tipo de contenedor: Pantalla completa, fijo, desplazable o como horizontal. Factor de escala mximo: x32. Admite factores fraccionarios: No. Suavizado de Fuentes: S. Con propiedades de lector: S, pero bsicas. Con propiedades de Braille: No. Tipo: De pago (150 200). A destacar: En sus inicios se presentaba como opcin de bajo costo, aunque su precio sube segn avanzan las versiones. La versin 2.0 an es inestable, dando problemas durante el periodo de prueba.
http://www.issist.com/
2.3.1.3. MAGic.
Autor: Freedom Scientific8. Versin: 10.0 Descripcin: Combina opciones de magnificado, voz, seguimiento del foco, Tipo de contenedor: Pantalla completa, fijo o desplazable siguiendo el cursor. Factor de escala mximo: x16. Admite factores fraccionarios: No. Suavizado de fuentes: S. Con propiedades de lector: S. Con propiedades de Braille: No. Tipo: De pago (250 700). A destacar: Existe una versin posterior que an no est disponible en castellano.
http://www.freedomscientific.com/
10
Autor: Ai Squared9. Versin: 2.12 Descripcin: Magnificador de pantalla simple. Tipo de contenedor: Pantalla completa o ventana activa. Factor de escala mximo: 200% dividido en 20 niveles. Admite factores fraccionarios: No. Modifica el esquema de color: No. Suavizado de fuentes: No. Con propiedades de lector: No. Con propiedades de Braille: No. Tipo: De pago 75 . A destacar: En su pgina web se dice que se trat del primer software implementado como herramienta de accesibilidad para personas con deficiencia visual.
http://www.aisquared.com/index.cfm
11
2.3.1.5. ZoomText.
Autor: Ai Squared10. Versin: 9.0 Descripcin: Combina opciones de magnificado, voz, seguimiento del foco, Tipo de contenedor: Pantalla completa, fijo, desplazable siguiendo el cursor, modo lnea horizontal o congelado (se selecciona la regin de pantalla a magnificar). Factor de escala mximo: x36. Admite factores fraccionarios: S. Modifica el esquema de color: S. Suavizado de fuentes: S. Con propiedades de lector: S. Con propiedades de Braille: No. Tipo: De pago (250 600). A destacar: Su alto grado de especializacin le hace despuntar sobre el resto con un amplio nmero de posibilidades, a parte de las descritas anteriormente. Entre ellas destacan: localizador de escritorio que permite encontrar/abrir programas/documentos del escritorio, men de inicio, etc.; localizador Web que ayuda a encontrar enlaces y controles sobre el Explorer, AOL, HTML email y HTML sistemas de ayuda, as como interactuar con ellos. Existe la opcin de comprarlo con o sin lector.
10
http://www.aisquared.com/index.cfm
12
2.3.1.6. DesktopZoom..
Autor: desconocido11. Versin: 2.1 Descripcin: Magnificador gratuito, completo pero de interfaz poco intuitiva. Tipo de contenedor: Pantalla completa, regin fija o siguiendo al ratn. Factor de escala mximo: 10x. Admite factores fraccionarios: S. Suavizado de fuentes: No. Con propiedades de lector: No Con propiedades de Braille: No. Tipo: Gratuito. A destacar: Herramienta gratuita que permite ampliacin a pantalla completa.
11
http://users.telenet.be/littlegems/MySoft/DesktopZoom/Index.html
13
2.3.2. Comparativa.
A continuacin se mostrar un pequeo estudio comparativo de las herramientas. Slo se compararn las caractersticas relacionadas con el magnificador, dado que ese es el tema que interesa para este proyecto; sera interesante, no obstante, revisar tambin las propiedades como lector de pantalla de las herramientas que incorporan dicha posibilidad. Se hace saber al lector que, de las dos herramientas de Ai Squared, si bien se ha descrito y comentado BigShot Screen Magnifier por su valor histrico, sta no se incluye en la comparativa. Las caractersticas que se estudiarn son: A. Caractersticas generales que muestran qu herramientas poseen una versin en castellano, y de qu bloques importantes constan (magnificador, lector o Braille). B. Accesibilidad durante el proceso de instalacin. C. Tipos de contenedores sobre los que se muestra la imagen ampliada, como pueden ser pantalla completa, una lupa dinmica que se desplace conjuntamente con el ratn, una lupa esttica que ocupe una mitad, horizontal o vertical, de la pantalla, etc. D. Aumentos mximos soportados, as como si cabe la posibilidad de seleccionar aumentos fraccionarios. E. Mejoras del ratn y F. Mejoras del cursor, que permiten cambiar el color de relleno del elemento, su tamao o el uso de guas de seguimiento para localizarlos con mayor facilidad. G. Suavizado o antialias tanto a nivel de fuentes como de imagen. H. Mejoras de color sobre la lupa, entre las que destaca la posibilidad de mostrar la imagen, adems de con su color real, con colores invertidos, la eliminacin de un color particular, etc. I. Desplazamiento automtico, al presionar una determinada combinacin de teclas la pantalla se desplaza en direccin horizontal o vertical con una velocidad predefinida, o restringido, a la ventana activa.
14
J. Seguimiento del foco tanto de cara a actualizar una regin de imagen ampliada cuando el usuario se desplaza a travs de un men o se lanza una ventana nueva, como por medio de localizadores que resaltan el elemento que contiene el foco. K. Teclas de acceso rpido para permitir que el usuario acceda sin necesidad del ratn a las funcionalidades de la aplicacin que ms le interesen, as como configurarlas a su medida.
Braille X No No No No
Es un rasgo frecuente el uso combinado de caractersticas de voz con ampliacin de pantalla. Sin embargo, el conjunto Supernova es el nico que gestiona dispositivos Braille.
B. Accesibilidad durante el proceso de instalacin. El proceso de instalacin contempla por defecto, fuentes grandes y lector de voz.
Fraccional X No No X X
Aunque el factor de aumento mximo es distinto de unas a otras no se puede establecer como comparativa fiable, dado que dos herramientas con un mismo factor muestran un tamao de ampliacin distinto. 15
La posibilidad de usar factores fraccionarios es importante, sobre todo en el intervalo [1, 3] ya que, ante un estado temprano de baja visin el salto entre dos factores enteros puede resultar brusco.
D. Tipos de contenedores. Esttica Pantalla Lnea Lupa Completa Horizontal Vertical Horizontal Supernova iZoom MAGic ZoomText DesktopZoom X X X X X No X No X No X X X X X X No X X X X No X X X
Varan poco de unas herramientas a otras, todas presentan magnificado a pantalla completa (donde el contenedor posee la dimensin de la pantalla) y los otros tipos suelen permitir configurar su tamao. Esto, no ocurre as en casi ninguna herramienta gratuita, ya que stas no suelen permitir el magnificado a pantalla completa.
Extra Localizador Grande Color Invertir Supernova iZoom MAGic ZoomText DesktopZoom No X X X No No No X X No X X X X No X No X No
Las soluciones de pago magnifican el ratn del sistema, sin embargo, DesktopZoom incorpora un puntero en el lugar donde debera aparecer el ratn magnificado. Los tipos de localizador observados seran con forma de cruz (grande o pequea), rectngulo o crculo. Suele ser configurable el color, grosor y su grado de transparencia.
16
F. Mejoras del cursor. Slo Supernova y ZoomText ofrecen esta posibilidad, donde contemplan mejoras similares a las del ratn (aumentar su tamao, cambiar su color o incorporar guas de seguimiento).
G. Suavizado o antialias.
El suavizado compensa el efecto dientes de sierra resultante de la ampliacin de los elementos en pantalla. DesktopZoom, suaviza la imagen en conjunto, pero el resto permite que se aplique alisado nicamente sobre el texto.
Regin No/Ampliada No No X X -
Ayudan ante problemas de vista cansada, ampliando o reduciendo el brillo y permitiendo la sustitucin o supresin de colores concretos.
17
Siguiente Men Tiempo Desplazamiento Lnea Velocidad entre lneas Restringido MAGic ZoomText X X X No X No No X
MAGic, a partir de un factor de ampliacin 2x, permite desplazamiento automtico lineal o incremental; para ello, facilita un men de opciones y la posibilidad de que los cambios perduren. Se puede definir el tiempo que se tarda en saltar del final de una lnea al inicio de la siguiente. ZoomText, por su parte, permite la restriccin del desplazamiento del puntero en la horizontal o la vertical al pulsar una combinacin de teclas determinada; con un sistema similar ofrece la opcin de restringir la movilidad del ratn a la ventana activa. Supernova e iZoom carecen de la posibilidad de desplazamiento automtico o restringido.
J. Seguimiento del foco. Salvo iZoom, las otras permiten seguimiento de foco automtico. Es posible seleccionar qu tipo de elementos seguir (mens, cursor, ventanas nuevas) o desactivarlo.
K. Teclas de acceso rpido. El conjunto de funciones ofrecido por cada una de las herramientas es muy amplio; debido a esto y a que las personas con problemas de visin hacen mucho uso de su memoria, es interesante que cada usuario configure el conjunto de teclas rpidas que ms se ajusta a sus necesidades. Por defecto, casi todas las acciones llevan asociada una combinacin de teclas, en cada una de las herramientas estudiadas.
18
2.3.3. Conclusiones.
Dos ojos distintos no pueden ver de la misma forma, de este modo, las deficiencias visuales no siguen patrones especficos. De las herramientas estudiadas se entiende ZoomText como una buena solucin a este tipo de problemas por ofrecer un amplio abanico de posibilidades, permitiendo que cada usuario ajuste la interfaz de trabajo a sus necesidades. Contraria a la especificidad, Supernova opta por la generalidad. Con la divisin de su funcionalidad en mdulos facilita las sucesivas ampliaciones del programa, e incorpora compatibilidad con elementos Braille, de modo que, ante enfermedades degenerativas, se convierte en una herramienta prctica. Se hace indispensable para una aplicacin de este tipo el uso de magnificador y voz. Tambin las teclas de acceso rpido con posibilidad de configuracin. Hay que cuidar cmo se desarrollan los resultados; por ejemplo, el bajo rendimiento del sistema. Las herramientas estudiadas estn bastante depuradas de errores y detalles, en anteriores versiones destacaban los problemas derivados del efecto dientes de sierra que resultaba al ampliar el tamao de las letras. Otro de los aspectos que distingue estas aplicaciones de las de uso habitual es su proceso de instalacin, desarrollado con fuentes grandes y la posibilidad de activar o desactivar el ayudante de voz. Aunque se supone que las deficiencias visuales exigen el uso continuo de la herramienta, desde el arranque del sistema hasta su cierre, sta tiene que poder ser deshabilitada. Una computadora puede estar compartida por varias personas, cada una con necesidades propias; por ello, se ha de tener en cuenta la posibilidad de guardar la configuracin sobre distintos ficheros, de modo que al iniciar aparezca la opcin de cargar un perfil u otro.
19
3. ANLISIS DE LAS NECESIDADES DE UNA HERRAMIENTA DE AYUDA PARA PERSONAS CON BAJA VISIN.
A lo largo de este captulo se har un recorrido por los objetivos para construir una herramienta competitiva en el mercado; se muestra informacin detallada sobre los requisitos de informacin, requisitos funcionales y requisitos no funcionales. Para definir la lista de requisitos del sistema se han atendido las sugerencias de usuarios de este tipo de aplicaciones12, as como las conclusiones del captulo anterior.
El sistema deber encargarse de propiedades referentes a la salida por pantalla: magnificado, mejoras de color y seguimiento de foco.
Se han estudiado sugerencias de individuos annimos y otras fuentes como el portal The screen magnifiers home http://www.magnifiers.org que ofrece informacin y aconseja a personas con baja visin, as como las de Manolo, www.manolo.net, creador de un portal de referencia para la comunidad de personas ciegas y con baja visin.
12
20
El sistema deber encargarse de almacenar y cargar caractersticas generales de la aplicacin en particular: teclas de acceso rpido y personalizacin de la interfaz.
[IRQ3] Propiedades del cursor. El sistema debe almacenar informacin sobre el cursor: Tamao. Color. Guas de referencia. Prioridad media. [IRQ4] Guas de referencia. El sistema debe almacenar informacin sobre las guas empleadas para resaltar el puntero del ratn, del cursor o la situacin del foco, como podra ser: Forma. Borde: color y grosor. Prioridad media. Nota: La forma ser distinta si se trata del puntero, del cursor o del foco. [IRQ5] Localizador de escritorio. El sistema debe almacenar informacin sobre los elementos del men de inicio, escritorio, bandeja de entrada, ya bien sean documentos, programas, etc. Prioridad baja. [IRQ6] Propiedades de la voz. El sistema debe almacenar informacin sobre la voz del lector, en concreto: Hablante. Tono. Volumen. Velocidad. Idioma primario e idioma secundario. Prioridad alta.
22
Nota: En caso de poder incluir varios idiomas resulta atractivo ofrecer una hoja que almacene caractersticas de voz para un segundo idioma (interesante para usuarios bilinges).
[IRQ7] Verbosidad. El sistema debe almacenar informacin sobre qu debe reconocer el lector: elemento bajo el cursor, mens, controles, consejos de herramientas, ttulos de ventanas, informacin sobre el foco (dnde estoy?), barras de estado, encabezados. Prioridad alta. Nota: El tipo de informacin til depende del individuo, dado que no sern las mismas necesidades para un usuario experto que para uno novel.
23
3.2.2.2. Definicin
de actores.
U suario
El sistema nicamente distinguir un tipo de actor al que, como ya se ha venido haciendo hasta ahora, se denominar usuario.
24
[UC02] Establecer tipo de lupa. Descripcin: Establecer las caractersticas de tamao, tipo y/o tipo de borde del contenedor sobre el que se representa la imagen ampliada. Flujo de eventos bsico: 1. El usuario solicita cambiar de tipo de lupa. 2. El sistema muestra los disponibles y la opcin de personalizacin. 3. El usuario selecciona uno de los tipos predeterminados y acepta. 4. El sistema modifica las caractersticas del contenedor de la imagen ampliada con los nuevos parmetros. Precondicin: Ninguna.
25
Postcondicin: Se actualizan los parmetros que determinan el contendor. Prioridad Alta. [UC03] Establecer propiedades de tipo de lupa personalizadas. Descripcin: Personalizar las caractersticas de tamao, tipo de borde y propiedad de dinamismo del contenedor sobre el que se representa la imagen ampliada. Flujo de eventos bsico: 1. El usuario selecciona la opcin de personalizacin avanzada. 2. El usuario muestra las caractersticas configurables para el contenedor (estas sern: dimensiones, si es dinmico y posicin en caso de que no lo sea, grosor y color del borde). 3. El usuario introduce los parmetros deseados y acepta. 4. El sistema sigue por el punto 4 del flujo bsico del [UC02]. Precondicin: El usuario debe encontrarse en el punto 3 del [UC02] para poder comenzar este caso de uso. Postcondicin: Se actualizan los parmetros que determinan el contendor. Prioridad Baja.
[UC04] Modificar factor de ampliacin. Descripcin: El usuario solicita ampliar/reducir el zoom sobre la imagen. Flujo de eventos bsico: 1. El usuario selecciona el factor deseado. 2. El sistema aplica los cambios. Precondicin: Ninguna. Postcondicin: Si el magnificador est activo los cambios se aprecian instantneamente. Prioridad Alta. 26
[UC05] Aplicar antialias. Descripcin: Cambiar el modo en que se representa la imagen ampliada, para minimizar con tcnicas de antialias el efecto dientes de sierra derivado de la magnificacin. Flujo de eventos bsico: 1. El usuario activa la opcin de antialias. 2. El sistema muestra la imagen magnificada suavizada. Precondicin: El magnificador debe encontrarse en estado activo. Postcondicin: La imagen ampliada se muestra suavizada. Prioridad Alta. [UC06] Establecer mejoras del puntero. Descripcin: Modificar el aspecto del ratn (tamao, color, guas de seguimiento). Flujo de eventos bsico: 1. El usuario solicita visualizar las mejoras para el ratn. 2. El sistema muestra las mejoras: a. Tamao: por defecto, medio, grande o muy grande. b. Color. c. Activar guas de seguimiento. 3. El usuario activa y/o selecciona las mejoras que estime oportunas. 4. El sistema muestra una vista previa. 5. El usuario valida los cambios. 6. El sistema efecta los cambios. Precondicin: Ninguna. Postcondicin: Los cambios se hacen efectivos una vez el usuario lo valida. Prioridad Media.
27
[UC07] Establecer mejoras del cursor. Descripcin: Modificar el aspecto del cursor (tamao, color, guas de seguimiento) Flujo de eventos bsico: 1. El usuario solicita visualizar las mejoras para el cursor. 2. El sistema muestra las mejoras: a. Tamao: medio, grande o muy grande. b. Color. c. Guas de seguimiento. 3. El usuario selecciona las mejoras que estime oportunas. 4. El sistema muestra una pre-visualizacin. 5. El usuario valida los cambios. 6. El sistema efecta los cambios. Precondicin: Ninguna. Postcondicin: Los cambios se hacen efectivos una vez el usuario lo valida. Prioridad Media.
[UC08] Establecer preferencias para las guas de seguimiento. Descripcin: El usuario configura las caractersticas de las guas de seguimiento. Flujo de eventos bsico: 1. El sistema muestra las caractersticas de las guas: a. Forma (distinta para foco, ratn o texto). b. Borde: color y grosor. 2. El usuario selecciona las mejoras que estime oportunas. 3. El sistema muestra una pre-visualizacin. 4. El usuario valida los cambios. 5. El sistema efecta los cambios. Precondicin: Las guas de seguimiento han de estar activas. Postcondicin: Los cambios se hacen efectivos una vez el usuario lo valida. Prioridad Media. 28
[UC09] Establecer preferencias de seguimiento de foco. Descripcin: Activar/Desactivar seguimiento del foco y las guas que marcan el elemento que lo posee. Si queda desactivado, la regin ampliada slo se actualiza con el movimiento del ratn, o cursor, no con cambios de foco como podran ser aparicin de mensajes de error, movimiento por mens, etc. Flujo de eventos bsico: 1. El usuario solicita ver las opciones del foco. 2. El sistema las muestra: a. Activar/Desactivar seguimiento del foco. b. Activar guas de seguimiento. 3. El usuario la selecciona si lo estima oportuno y valida el cambio. 4. El sistema efecta los cambios. Precondicin: Ninguna. Postcondicin: Los cambios se hacen efectivos una vez el usuario lo valida. Prioridad Media.
[UC10] Activar localizador de escritorio. Descripcin: Permite buscar elementos sobre carpetas especficas. Flujo de eventos bsico: 1. El usuario activa el Localizador de Escritorio. 2. El sistema las muestra las posibles rutas explorables. 3. El usuario selecciona el destino que se ajuste a sus necesidades. 4. El sistema muestra los elementos asociados. 5. El usuario selecciona el elemento que le interese. 6. El sistema abre el elemento seleccionado.
29
Flujo de eventos alternativo (1) elemento no encontrado: 5. El usuario no encuentra el elemento deseado, de modo que no abre ninguno y el caso de uso queda sin efecto. Precondicin: Ninguna. Postcondicin: El sistema muestra en primer plano el elemento abierto. Prioridad Media.
[UC11] Activar localizador web. Descripcin: Se permite al usuario la bsqueda de enlaces en una pgina web. Flujo de eventos bsico: 1. El usuario activa el Localizador Web. 2. El sistema muestra las opciones para filtrar los enlaces. a. Bsqueda por palabras b. Tipo de enlace/control 3. El usuario aplica un filtro de entre los disponibles. 4. El sistema muestra los elementos obtenidos y sus operaciones. a. Ejecutar el enlace. b. Desplazar la vista ampliada a ese punto. 5. El usuario selecciona el elemento que le interese. 6. El sistema abre el elemento seleccionado y efecta la operacin. Flujo de eventos alternativo (1) elemento no encontrado: 5. El usuario no encuentra el elemento, de modo que no interacta con ninguno y el caso de uso queda sin efecto. Precondicin: Ninguna. Postcondicin: El sistema realiza la operacin seleccionada por el usuario sobre el vnculo marcado. Prioridad Media. 30
[UC12] Desplazar texto automticamente. Descripcin: El magnificador se desplaza de forma automtica por la imagen ampliada de un texto, permitindole configurar la velocidad y el aspecto del marcador. Flujo de eventos bsico: 1. El usuario solicita la opcin de desplazamiento automtico. 2. El sistema muestra las opciones de avance automtico. a. Velocidad b. Activar guas de seguimiento. 3. El usuario activa/modifica lo que estime oportuno y valida. 4. El sistema efecta los cambios. Precondicin: El usuario debe haber situado el cursor en el lugar deseado. Postcondicin: El sistema realiza la operacin sobre el vnculo marcado. Prioridad Media.
[UC13] Aplicar mejoras de color sobre la lupa y/o el sistema. Descripcin: El usuario desea cambiar el esquema de colores del sistema o el tipo de colores que afecta a la visualizacin de la lupa. Flujo de eventos bsico: 1. El usuario solicita visualizar las posibles mejoras de color. 2. El sistema las muestra mejoras para: a. El sistema: esquema de color, modo en alto contraste. b. El rea ampliada: normal o invertida. 3. El usuario selecciona las que estime oportunas y valida. 4. El sistema efecta los cambios. Flujo de eventos alternativo (1) cambios a nivel de sistema: 3.1 El usuario activa un cambio a nivel del sistema 3.2 El sistema solicita confirmacin. 3.3 El usuario confirma aplicar cambios. 3.4 El sistema sigue por el punto 4 de este caso de uso [UC13]. 31
Precondicin: Ninguna. Postcondicin: Si el magnificador est activo, los cambios sobre el rea ampliada se aprecian de forma automtica una vez sea lanzada la peticin de cambio. Prioridad Alta.
[UC14] Restringir el movimiento del ratn. Descripcin: Se ha de permitir que el usuario, presionando una combinacin de letras preestablecida, restrinja el movimiento del ratn a una direccin determinada (en horizontal o vertical) o a la ventana activa. Flujo de eventos bsico: 1. El usuario solicita modificar el comportamiento del ratn. 2. El sistema muestra las opciones: i. Limitacin a la horizontal/vertical. ii. Limitacin a la ventana activa. 3. El usuario activa aquellas que le interesen y valida la operacin. 4. El sistema efecta los cambios. Precondicin: Ninguna. Postcondicin: El sistema, dada la combinacin de teclas asociada, restringe el movimiento del ratn, ya bien est activo, o no, el magnificador. Prioridad Baja.
32
[UC16] Establecer nivel de verbosidad. Descripcin: El usuario ha de poder configurar la cantidad de informacin que necesite sea emitida por la salida de audio, dado que segn el nivel de experiencia del individuo le ser ms til una informacin que otra. Flujo de eventos bsico: 1. 2. 3. 4. El usuario solicita modificar el nivel de verbosidad. El sistema muestra los niveles preestablecidos. El usuario selecciona uno de ellos y valida. El sistema aplica la nueva configuracin sobre el lector
Precondicin: Ninguna. Postcondicin: Si el lector se encontraba en estado activo los cambios se aprecian de forma instantnea. Prioridad Media.
33
[UC17] Activar leer seleccin. Descripcin: El usuario solicita la lectura de un fragmento de texto seleccionado. Flujo de eventos bsico: 1. El usuario activa la opcin de lectura de seleccin. 2. El sistema efecta dicha lectura. Precondicin: El rea a leer ha de estar seleccionada y el lector activado. Postcondicin: Lectura del rea activa. Prioridad Baja.
[UC18] Activar leer aplicacin. Descripcin: El usuario solicita la lectura sobre la aplicacin activa. Flujo de eventos bsico: 1. El usuario solicita lectura de aplicacin. 2. El sistema sigue por el punto 3 del caso de uso [UC16] y, cuando acaba, comienza con la lectura. Precondicin: La aplicacin que se desee leer debe estar seleccionada. Postcondicin: Lectura de la ventana activa. Prioridad Baja.
34
[UC19] Determinar opciones de seguimiento de la voz. Descripcin: El usuario ha de poder configurar los parmetros del lector. Flujo de eventos bsico: 1. El usuario solicita las opciones de configuracin del lector. 2. El sistema muestra las opciones: a. Idioma. b. Hablante, tono y volumen. c. Velocidad. 3. El usuario selecciona aquello que ms se ajusta a sus necesidades. 4. El sistema configura el lector segn las nuevas preferencias. Precondicin: El lector ha de estar activo. Postcondicin: El lector asume la nueva configuracin. Prioridad Media.
35
[UC21] Modificar configuracin de teclas de acceso rpido. Descripcin: Se ha de permitir que el usuario personalice las combinaciones de acceso rpido preestablecidas. Flujo de eventos bsico: 1. El usuario solicita modificar las combinaciones de acceso rpido. 2. El sistema muestra las funciones que poseen atajo y sus teclas asociadas. 3. El usuario modifica aquellas que estime oportuno. 4. El sistema almacena y hace efectivos los cambios. Precondicin: Ninguna. Postcondicin: Las funciones pasan a depender de las nuevas combinaciones. Prioridad Media.
[UC22] Personalizar aspecto de la interfaz. Descripcin: Se ha de permitir que el usuario ajuste los colores de la interfaz a sus necesidades. Flujo de eventos bsico: 1. 2. 3. 4. El usuario solicita modificar el esquema de colores de la interfaz. El sistema muestra los colores que acepta. El usuario selecciona aquel que determina adecuado. El sistema almacena y actualiza los cambios.
Precondicin: Ninguna. Postcondicin: Los ajustes de color de la interfaz pasan a ser los seleccionados. Prioridad Baja.
36
[RNF02] Portabilidad. Descripcin: Aunque la herramienta sea desarrollada para correr sobre Windows XP, deber seguirse un diseo modular que facilite su adaptacin a otros sistemas operativos, ya bien sea Windows Vista, Windows 2008 o versiones anteriores.
[RNF03] Baja carga del sistema. Descripcin: La herramienta no es la tarea principal que desarrolla el usuario, sino que se apoya en ella para poder llevar a cabo sus verdaderas tareas, por tanto, su carga en el sistema debe ser mnima, para no interferir con el resto de aplicaciones.
13 14
(AEN/CTN 139 Tecnologas de la Informacin y las comunicaciones para la salud, 2003) (MSDN Library, 2007)
37
ImagenFuente imagen : Image origen : Point colorReal : Boolean SetOrigenImagenFuente() SetPosImagenFuenteCentradaRaton() SetPosImagenFuenteEnMargenes()
Foco activo : Boolean tipo : Integer borde : Borde posicion : Point personalizar() activar() desactivar()
GuiaSeguimiento SeguimientoFoco HookTeclado HookRaton activa : Boolean borde : Borde posicion : Point tipo : Integer activar() desactivar() personalizar()
En el diagrama aparecen las clases ms relevantes que forman el sistema, obviando las necesarias como soporte, por ejemplo, las destinadas a comunicar elementos. Se ha intentado dividir el sistema en clases especializadas segn funcionalidades, con esto se pretende facilitar la adicin de nuevos mdulos o modificacin de los ya existentes.
38
39
Adems, se han aadido ciertas mejoras no contempladas sobre la especificacin de casos de uso pero que, a lo largo del proceso de desarrollo, han ido surgiendo: Ajuste del ratn al centro de la imagen ampliada o dentro de unos lmites predefinidos sobre el tamao del contenedor. Ajuste del cursor al centro de la imagen ampliada o dentro de unos lmites predefinidos sobre el tamao del contenedor.
Se trata de un diseo independiente de dispositivo; no se trabaja directamente contra la tarjeta grfica, de modo que se evitan todos los problemas derivados de la amplia variedad de tarjetas que se encuentran en el mercado. El resultado ser una herramienta fcil de instalar mantenimiento mnimo una vez desarrollada. que necesita un nivel de
Otro de los factores ms importantes a la hora de decantarse por esta alternativa ha sido la cantidad de fuentes de informacin disponibles que describen este diseo, y el detalle con el que dicho diseo es descrito en esas fuentes.
Una descripcin ms exhaustiva sobre los tipos de diseo empleados para desarrollar un magnificador de pantalla se puede ver en (Screen Magnifiers: Evolution and Evaluation, 2003)
15
40
El diseo en cuestin se basa en tomar la imagen del escritorio desde la interfaz grfica de vdeo (GDI, Graphics Device Interface) y mostrarla ampliada en una ventana sobre la capa ms alta a la hora de representar el escritorio, transparente a eventos, y ocultando la regin de pantalla que quede debajo. La regin a magnificar debe ser: Sensible al movimiento del ratn. Sensible al movimiento del cursor. Sensible a cambios de foco como puedan ser movimiento a travs de mens, aparicin de nuevas pantallas (alertas, errores,). Sensible a tooltips16. Las limitaciones del modelo surgen de su propia definicin: El hecho de que se trabaje con una ventana transparente que no debe aparecer en la imagen ampliada hace que tampoco otras ventanas transparentes aparezcan. Al no trabajar contra la tarjeta grfica, los vdeos que aparecen en pantalla no se muestran ampliados; esto, que podra parecer una limitacin grave, se ha estudiado con algunos usuarios y no causa un efecto traumtico. Cuando una persona con deficiencia visual decide magnificar un vdeo pierde su visin global, y necesita mover la lupa de una parte a otra mientras sigue corriendo el vdeo; esto supone un gran esfuerzo y molestia y no asegura una experiencia correcta, ya que no se conoce por adelantado hacia qu parte de la imagen dirigir la atencin. En cualquier caso, de cara a versiones futuras y posibles mejoras, sera interesante tratar de solucionar estas limitaciones.
Pequeo rectngulo, normalmente amarillo, que surge cuando un usuario posiciona el ratn sobre un elemento, sin hacer clic, y brinda informacin relacionada con dicho elemento.
16
41
42
4.5.2. UI Automation.
Otro de los requisitos para generar la imagen ampliada es que sta no slo se debe actualizar con el movimiento del ratn o cursor, tambin ha de hacerlo cuando aparezca una nueva ventana o cambie el foco porque el usuario se est desplazando por un men. Pinsese, por ejemplo, en un usuario que visualiza, a pantalla completa, la parte superior izquierda del escritorio y, en paralelo, se genera un mensaje de error que aparece en la parte central; si la aplicacin no controla los cambios de foco, el usuario no tendr constancia del error hasta que no pase el ratn por encima. Para manejar estas situaciones se ha usado el framework de accesibilidad UI Automation (MSDN Library, 2007), soportado en los sistemas operativos que toleran Windows Presentation Foundation (MSDN Library, 2007), entre los que se encuentran Windows Vista, XP y Windows Server 2008. Su finalidad es la de permitir el acceso a la mayora de elementos de la interfaz de usuario mediante programacin, dando informacin sobre los mismos. 43
Se trata de una tecnologa relativamente nueva, de modo que la informacin que relaciona el desarrollo de clientes de accesibilidad (magnificadores de pantalla, lectores,) con el seguimiento de los objetos que componen la interfaz de usuario apunta a la tecnologa MSAA (framework de accesibilidad predecesor al UI Automation). An as, se ha decidido trabajar con UI Automation con vistas a facilitar la portabilidad de la herramienta a futuros sistemas operativos como pueden ser Windows Vista o Windows 2008, ya que proporciona funcionalidad completa sobre XP.
Prioridad
Mxima
Media
44
Prioridad
Mxima
TECLADO Principio En el proyecto Se deben poder activar todas las funciones Hecho: Teclas de acceso (incluyendo navegacin) desde el teclado. rpido. Hecho: Las teclas que activan Los comandos de navegacin por teclado no los elementos de la interfaz deben activar los objetos de la interfaz. son distintas de las que la recorren. Se deben ofrecer alternativas a la pulsacin Pendiente. simultnea de varias teclas. Se debe permitir cambiar la asignacin de Pendiente. funciones de todas las teclas. El desplazamiento mediante teclado de un elemento a otro en los cuadros de dilogo debe seguir una secuencia consistente con la distribucin en pantalla.
Facilita el seguimiento de la navegacin por teclado y es fundamental para las personas que no pueden ver la pantalla o tienen problemas cognitivos.
Media
Baja
La navegacin entre elementos de la Hecho. interfaz debe ser circular. Las aplicaciones deben respetar las Hecho: Como en las convenciones de funcionamiento del teclado aplicaciones Windows, ALT sita el foco en la barra de en el sistema operativo. men de la aplicacin. Las etiquetas de los controles de la interfaz de usuario deben tener mnemnicos para Hecho. acceso rpido por teclado.
Tabla 9 Requisitos de accesibilidad - Teclado
Prioridad
Mxima
INFORMACIN DE OBJETOS Principio En el proyecto Hecho: Aunque en la interfaz Se debe proporcionar a otras aplicaciones todos los objetos actan segn informacin semntica sobre los objetos de el rol que les corresponde por la interfaz de usuario. defecto. El foco de entrada debe quedar reflejado en Hecho. pantalla de forma inequvoca.
Tabla 10 Requisitos de accesibilidad - Informacin de objetos
45
Prioridad
Mxima
Media
PANTALLA Principio En el proyecto Los textos presentados en pantalla deben ser generados mediante las funciones del Hecho. sistema dedicadas a mostrar texto. No debe usarse el color como nica fuente Hecho. de informacin. Deben existir opciones para modificar el tipo de letra, el tamao y el color de todos Pendiente. los controles de la interfaz. Deben existir opciones para modificar la apariencia del cursor de texto y del puntero Pendiente. del ratn. Todos los iconos deben poder tener asociada una etiqueta de texto y debe existir Pendiente. la posibilidad de visualizar slo esa etiqueta. Deben proporcionarse opciones para minimizar, maximizar, restaurar y cerrar las Hecho. ventanas. Hecho. La escala y disposicin de objetos se auto-ajusta cuando La interfaz de usuario debe adaptarse a la el usuario cambia el tamao de configuracin de contraste, color, tamao y los textos. dems atributos de visualizacin que haya Se controla la reaccin de la definido el usuario en el sistema operativo. interfaz ante la puesta en marcha del sistema en modo alto contraste. Deben proporcionarse combinaciones de colores predefinidas que hayan sido diseadas teniendo en cuenta las Pendiente. necesidades de las personas con deficiencias visuales. Las etiquetas de los campos de entrada o visualizacin de datos de los formularios Hecho. deben estar prximas a estos campos.
Tabla 11 Requisitos de accesibilidad - Pantalla
46
Prioridad
Mxima
DOCUMENTACIN Principio En el proyecto Debe estar redactada de la forma ms clara y sencilla posible, dentro del vocabulario Hecho. del dominio de la aplicacin. Se deben proporcionar sistemas de ayuda en texto sencillo, complementado de forma Pendiente. opcional mediante lengua de signos.
Tabla 12 Requisitos de accesibilidad Documentacin.
OTROS Prioridad Mxima Principio En el proyecto Las aplicaciones deben ofrecer la opcin de Hecho: Opcin Salir del men. finalizar.
Tabla 13 Requisitos de accesibilidad - Otros
47
5. IMPLEMENTACIN.
Este captulo comienza mostrando cules han sido los mdulos bsicos que conforman la herramienta, as como la relacin entre ellos. Adems, presenta una vista detallada de los puntos que han resultado ms interesantes a la hora de desarrollar el magnificador de pantalla.
48
Las propiedades principales de cada una de las clases sern: Dimensin del rea en que se muestra la regin magnificada, es decir, del FormLupa. Posicin en la pantalla de dicha rea, se gestionar la posicin de los formularios dinmicos, segn las necesidades propias de su estructura, con esto se entiende que no acta igual el posicionamiento de una lupa dinmica cuadrada (que se mueve, por ejemplo, tras el ratn, tanto por el eje X como por el Y) que una lupa con estilo lnea horizontal (que siempre mantiene fija la posicin sobre el eje X). Tipo de borde, donde se define el grosor y color del mismo. Si se trata de una lupa dinmica o no. En caso afirmativo ser necesario que sobrescriban el mtodo Reposiciona(). Adems, sobre la clase abstracta se desarrolla el mtodo CrearImagenAmpliada() que, como su nombre indica, se encarga de crear la imagen que ha de mostrarse en el FormLupa. Esto se ha decidido as porque el tipo de contenedor condiciona el modo en que se debe llevar a cabo la ampliacin; por ejemplo, una lupa con forma de lnea horizontal no ampla sobre el eje X, slo lo hace sobre el Y, por lo que deber sobrescribir este mtodo.
49
17
50
51
En el caso del puntero del ratn se han definido tres posibles tipos: Cruz grande, cuyo trazado cruza por completo la regin ampliada.
Cruz pequea.
Circular.
En el del cursor se han definido dos: Cuas, que son entendidas como dos tringulos slidos separados por el cursor y cuyos picos le apuntan.
Cuadrado.
El mtodo PintaGuias() se encarga de aadir, a la imagen que ya contena el mapa de bits con la regin ampliada del escritorio, el dibujo del localizador correspondiente atendiendo a los polgonos que lo conforman y sus propiedades.
52
53
54
5. CREA UN FO .2. AR ORMULA ARIO COM UNA CAPA T MO A TRANSPA ARENTE, , SOBR EL PUN RE NTO M ALTO DEL EJE Z. S D
Para c crear un for rmulario co omo una cap transpare pa ente a event en el momento de tos, m e cr rear el fo ormulario e inicializ zar sus parmetros se ha d establec p de cer el bit t WS_EX_LAY W YERED; esto se puede l o llevar a cabo utilizando la API: o o privat static extern int SetW te WindowLon ng(IntPtr hW Wnd, int nIn ndex, int dw wNewLong); ; hWnd Manejad de la ven d: dor ntana. nInde Asigna u estilo ex ex: un xtendido al que ya tiene la ventana. q e GWL_EX XSTYLE. dwNe ewLong: WS_EX_ _LAYERED | WS_EX_ D _TRANSPA ARENT ! W WS_EX_TO OPMOST.
Fig. F 27 Formu ulario transpa arente a even sobre el p ntos punto ms alt del Eje Z. to
55
5.3. CRE EAR UNA IMAGE AMPL A EN LIADA A PARTIR DE UNA REGI R A N DEL ESCRIT L TORIO.
Par llevar a cabo esta tar se neces una funcin que pe ra rea sita ermita copia un mapa de ar bits de un r rectngulo o origen a otr destino, r ro realizando un estiramie u ento para aju ustarlo.
Stre etchBlt(IntP hdcDest Ptr t, int n nXOriginD Dest, int nYO OriginDest, int n nWidthDes int nHeig st, ghtDest, IntP hdcSrc, Ptr int n nXOriginSr int nYOriginSrc, rc, int n nWidthSrc, int nHeigh , htSrc, Tern naryRasterO Operations dwRop); Este API per rmite realiz la func zar cin definida en el p prrafo ant terior con la peculiarida de que sobre la re ad egin ampli iada no apa arecen form mularios de efinidos com mo transparent a evento tes os. Req quiere como parmetro los mani o os ipuladores de contexto del dispositivo fuente y d e destino; de modo que el segund se crea como comp e e do patible con el escritor (que es el n rio dispositivo de origen). o Tambin n necesita las c coordenada de la esqu superio izquierda del rectng as uina or gulo origen y el rectngu destino. ulo
56
La im magen ampliada siempr se sita sobre el pu re unto (0,0) d dispositi destino, del ivo , mientras que el punto (x,y) que determina el rectn m e o e a ngulo orige se vara segn el en a l movimiento d ratn, cu m del ursor o cam mbios de foc co.
Se ha permitido dos posibl tratamie an o les entos para g gestionar la posicin de la esquina e a su uperior izqu uierda de un imagen fu na uente con re especto al m movimiento del ratn o del cursor, , de forma que la imagen ampliada puede soli e e n icitarse centrada en el puntero o ste puede e moverse dent de unos mrgenes s necesida de actuali m tro sin ad izarla.
El ma argen defini establec una espec de barrer virtual, d modo que si el ratn ido ce cie ra de e n (o cursor) no se aproxim no es nec o ma, cesario actu ualizar la reg gin magnificada. 57
La dimensin que define la porcin a partir de la cual se e escala, se ca alcula a par rtir del tamao del conten o nedor y el fa actor de amp pliacin seleccionado p el usuar por rio. Si se desea u factor de ampliaci x2 y el contenedo tiene las dimension un e n or nes ancho*alto la dimens o, sin de la im magen fuen se corresponder co la mitad del valor del nte on d d contenedor destino. r
58
Finalm mente, el p parmetro de tipo Terna aryRasterO Operation de efine la man nera en que e se han de co e opiar los bi de la fu its uente al des stino; de en las pos ntre sibilidades que ofrece, q , in nteresan dos s SRCCOP PY NOTSRCCO N OPY Destino = F Fuente Des stino = NOT (Fuente) T
Existe otra funci denomin e in nada BitBlt con cara t() actersticas s similares a la anterior, , co la salved de que s que d on dad sta detecta las ventanas tran v nsparentes y las pinta; esto podra a pa arecer intere esante pero segn el di iseo de la herramienta desarrolla no es as ya que la a ada s, a pr ropia ventan tratara d pintarse s na de sobre s misma (de man recursiv vase Fig. 34. nera va), F
59
5.4. CREAR UN CONTROLADOR QUE ACTUALICE LA IMAGEN AMPLIADA CON EL MOVIMIENTO DEL RATN O EL CURSOR.
Para conseguir este propsito se ha implementado un controlador, mediante un hook, que enva un aviso para repintar el contenedor con la imagen ampliada ante un evento desencadenado por el movimiento del ratn o del cursor. El formulario que hace las veces de contenedor se suscribe al hook para recibir los eventos generados ante los mensajes que avisan al sistema sobre el movimiento y, al recibirlos, solicita que se realicen las operaciones encargadas de ampliar la imagen, repintarla sobre s mismo y refrescarse. Se vern, a continuacin, las funciones principales para el desarrollo, con las funciones y/o APIs que las implementan. Activar Controlador. SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hMod, int dwThreadId); idHook: WH_MOUSE_LL: Instalar hook de ratn a nivel de sistema. WH_KEYBOARD_LL: Instalar hook de teclado a nivel de sistema. lpfn: funcin filtro con la que enlazar el hook. hMod y dwThread: Indican que el hook es a nivel de sistema y no de hilo. Implementar la funcin filtro. <Cuerpo de la funcin> Si hay actividad (de ratn o de teclado, segn el caso) { Crear argumentos del evento. Lanzar evento. } CallNextHookEx() <Fin cuerpo de la funcin>
60
Es necesa que los argumento del even reflejen la posicin en que se ario s os nto n e encue entra el rat o el cursor (segn se trate de u funcin filtro asoc n s una n ciada con el l ratn o el teclado respectiva o, amente). El hook d teclado e capaz de recoger tre tipos de mensajes: tecla abajo, de es e es t , cuand soltada, o tecla pre do esionada. El que intere para el caso de actualizar la esa l a pantal es en el que se lev lla l vanta, dado que en ese momento ya se ha mostrado la e m a accin del teclad en el escr n do ritorio real. Con Cal llNextHookE Ex() se pa la info asa ormacin d hook al siguiente del a e procedimiento, p para aquell situacio las ones en que haya div e versas funci iones filtro o itas n a por l suscri (ya bien sea por la propia aplicacin o p otra de las que se corra en el sistem en ese m ma momento).
Asoci el formu iar ulario que muestra la imagen am a mpliada con el evento. n Al asocia el formu ar ulario con el evento s le indica qu accio se a ones ha de e realizar cuando l recoja y con la posicin recogida como pa de los argumentos lo arte a s del ev vento se soli icita al mag gnificador que repinte. q
61
5.5. AA ADIR EL PUNTER DEL R RO RATN AMPLIAD A LA IMAGE A DO A EN MAGNIFICA ADA Y OC CULTAR EL ORIG GINAL.
Al ampliar un imagen es muy im na mportante que el pun ntero del r ratn tambi in aparezca m magnificado en su pos o, sicin correcta. En el punto 5.3 se ha visto c p e cmo captur rar su posici a contin n, nuacin se ver cm trasladar al form e mo rla mulario que muestra los e l elementos ampliados. Se han baraja dos pos ado sibilidades para tratar el puntero sobre la r o regin con la imagen am mpliada: la primera, sera que s tamao aumente o disminuy de mane su ya era proporcion al factor de ampliac nal r cin determ minado por el usuario; la segunda, q se traba e a que aje con tres tamaos pref fijados para el puntero (normal, gr rande y ms grande) d manera que de q slo pueda adoptar un entre los tres. a no
Seg se ve en la Fig. 36, ante factor de ampl gn n , res liacin gran ndes, podra darse el ca a aso de que el c cursor sea lo nico que aparezca po pantalla como image ampliada o or c en a.
62
Una v expuest las dos posibilidad de diseo se detal el proce vez tas des lla edimiento a se eguir para c capturar el ratn del sistema y ocultarlo en aquellas ocasiones en que sea o n a ne ecesario. Lo pr rimero que s estudiar ser cmo capturar el puntero ac se o l ctual; en pri incipio, una a ap plicacin s tiene a lo acceso al ra atn definido para ella misma, pero el magnificador m r ne ecesita cono ocer cul e el maneja es ador del pu untero del r ratn a nive global, as como la el a a fo orma que tie ene. Cuand un usua do ario realiza tareas con el ordenador por me n edio del pu untero, ste e ad dopta divers formas para presta un servic aadido de ayuda; as, su for sas ar cio o rma normal l se er , per si pasa so ro obre un lug donde se permite es gar e scribir, adop ptar la form de ma , mientras que si el usuario est nave m egando por internet y s sita sob un enlac adoptar se bre ce, la forma de m a mano .
Para o ojear la secuencia de o operaciones necesaria p para captar el puntero del sistema a en un momen determin n nto nado vase la Fig. 38.
63
C apturar el hilo al que est asociada dicha v entana Es el hilo del m agnificador?
[N ] o
[ S ]
C apturar el manejador del ratn Se haba asociado a un hilo? D esasociarse del hilo de la aplicacin [N ] o
Fig. 38 Diagrama de actividad - Capturar el manejador del ratn global del sistema
Con este manejador y sus coordenadas sobre el escritorio ya se puede calcular el punto en que debe aparecer el puntero magnificado sobre el contenedor de la imagen ampliada, as como el icono asociado. Aunque se ha tratado de conservar esa ayuda visual que se ofrece a travs de la forma adoptada por el cursor, no ha sido posible mantenerla al completo, de modo que la aplicacin nicamente reconoce los iconos mostrados en la Tabla 15.
Como mayor prdida cabra destacar que la mano empleada por el sistema para advertir de que existe un enlace bajo el ratn, no se reconoce. Se ha decidido que siempre que se da un caso similar a ste ha de aparecer el icono flecha por defecto.
64
TIPO Appstarting Arrow Cross Help Ibeam Sizeall Sizenesw Sezens Sizeswne Sizewe Uparrow Wait
FORMA
Lo siguiente es ocultar el ratn cuando sea necesario, dado que otra circunstancia a tener en cuenta es que se ha de evitar el efecto de puntero fantasma que tiene lugar cuando el puntero real se encuentra dentro de los lmites del contenedor de la imagen ampliada.
65
Fig. 39 Ejemplo de ratn fant . tasma con la aplicacin magnificando a pantalla co m ompleta
Exi isten dos fu unciones qu permiten ocultar el puntero de una aplicac ue p cin: Hide() y ) Show(false Si se in e). ntenta ocult mediant alguna de ellas se ver que l resultad tar te d los dos obtenidos n son los e no esperados, p pues el ratn slo desap n parece cuan se encu ndo uentre sobre la interfaz. Esto se debe a que la herramienta necesita ocultar el puntero a nivel glob bal (pertenezca o no a la a a aplicacin). En este punto ha surgido la misma l limitacin que a la hor de mostr un punte q ra rar ero ampliado con la mis sma forma que el rea y es qu algunos manejador han da al, ue res ado problemas; en estos casos no s ha podid evitar el efecto de puntero fantasma de se do l e manera que habr que tenerlo en cuenta en e punto de mejoras futu e e el m uras. Par ocultar el ratn, se h modificad el icono real por un externo c ra l ha do no consistente en un mapa d bits trans de sparente. Cuando ya n sea necesario que s no siga oculto se restaura el valor de lo iconos po defecto. os or
66
La APIs util as lizadas son: SetSystem mCursor(IntPtr hcur, uint id) que modifica el cursor del sistema. u l SystemP ParametersI 18(SPI uiAction, Info u uin uiParam, nt int pvParam, t SP fWinIni PIF i); Co el parm on metro uiActi = SPI_S ion SETCURSO ORS enva la orden de e que se res stauren los v valores asoc ciados con l cursores del sistema los s a. En la Fig.40 se p presenta el resultado del proceso co el ratn o on oculto corre ectamente.
Aunq como ya se ha com que, mentado con anteriorida existen p n ad punteros, co omo el de la a mano, que se muestra cu m e uando el rat est sobr un enlace que no se han podido ocultar. n re e, e o
Fig. 41 Ratn con fo orma de mano que no qued oculto cor o da rrectamente b bajo el formu ulario.
Esta API permite consultar/mo a e odificar parm metros del sist tema y ser v vista con ms detalle en el s l ap partado 5.6 de este mismo captulo.
18
67
68
Otras combinac s ciones de co olor. No se ha implem e mentado un sistema que permita es e stablecer la combinacin de color r de sistema d el desde la pro opia interfaz de la herr z ramienta. A travs de un botn, se hace una s a re edireccin a la aplicaci encargad de las pro n da opiedades d apariencia de la pant de talla.
Esto a acarrea un detrimento de la usab bilidad de la aplicacin ya que el estilo del a n, e l fo ormulario es totalmente distinto a los que co s e onforman la aplicacin y ello pue plantear a n ede r qu el usuario se asuste Debera s revisado y modifica de cara a una futura versin. ue o e. ser o ado 69
5.8. INCO ORPORA MARC AR CADOR PA ARA EL SEGUIMI S IENTO DEL FOCO O.
La aplicacin no slo ha de ser capa de mostr el rea b az rar bajo el ratn sino que se n, hace neces sario que a actualice la regin am a mpliada ant cambios del foco ya bien se te ean derivados de movimientos por teclado (des splazamient por una i to interfaz por medio de la r tecla ALT) tras la apa ), aricin en escena de un nueva ventana, o seg se muev el punto de na gn va insercin p un edito de texto. por or Con ese fin, y por los m n motivos com mentados en el captulo cuarto, se ha tenido en o cuenta el u de tcni uso icas UI Aut tomation, co las que se ha trabaj on s jado de una manera muy a m parecida a los controla adores de ra atn y teclad do.
Com localiza mo ador de foco se ha seguido el plan o nteamiento planteado e uno de los en l ejemplos d Microsof (MSDN L de ft Library). El l localizador de foco ado optar dos f formas posib bles: modo rectangular o subrayad r do. 70
Fig. 46 Procedimien para mos 6 nto strar los local lizadores del foco
Se cre tantos f ean formularios como arista tenga la f as forma del lo ocalizador (cuatro para ( a el caso rectan l ngular y uno para el otr o ro). El anc de los formularios vendr da por el g cho s ado grosor defin nido para el borde y su u ta amao ser dependiente del eleme e ento recogid como arg do gumento de la funcin de cambio e n o de foco. e
71
Fig. 47 Icon de la itner nos rfaz para el m modo normal y el modo en alto contras l n ste
72
73
La barra de t tulo es la barra super rior de colo azul y m or muestra el n nombre de la aplicacin: Magui. :
Deb bajo reside la barra de men con las entrad de Arch e n das hivo, Pantal Ajustes y lla, s Ayuda.
Par abrir los elementos de men s puede ha ra se acer clic so obre ellos con el ratn o n presionar l tecla ALT a la vez q la tecla subrayada correspond la T que a diente con l entrada que la q desea explo orar. 74
Por ej ejemplo con ALT + P se muestra el men que contien las prop n ne piedades de e pa antalla. Finalm mente, se encuentra la ventana co los boton que per a on nes rmiten acceso rpido a la principale funcional as es lidades del m magnificado or.
Si se h hace clic co el botn d on derecho del ratn sobre los botone activar su funcin. l e es s
Si se hace clic so obre el bot el magnificador pas a estar en n, sa ncendido de modo que e e el botn tend el aspect mostrado en la Fig. 54. l dr to o 5
75
Si s desea dis se sminuir el f factor lo qu se deber hacer es p ue presionar el botn con el l smbolo , y ste de ecrementar de la mis sma forma que la exp plicada par el caso de ra aumento.
Estos cambios se vern re eflejados en el nmero que se encu n uentra a la d derecha de los l botones de aumentar y disminuir. e .
Si se cambia el nivel d ampliaci a uno se tendr a de n s acceso a al lgunas de las l funciones del magnifi ficador que slo se pue eden ejecut sobre la imagen am tar a mpliada com mo son los loc calizadores d ratn y d cursor. del del
6.3.4. An ntialias.
Al activa est control se aplica un suavizado o ant te tialias sobr la imag re gen magnificad para mit da, tigar el efecto dientes d sierra der de rivado de la ampliacin n. Par desactivar debe ha ra rlo, acerse clic, d nuevo, sobre el cont de trol.
76
Con e botn s accede al men que permite cam este se l mbiar el tip de lupa que muestra po q a la imagen am a mpliada en la pantalla. a Las lu upas pueden ser dinm n micas, es dec que siga al ratn (o cursor, en su caso) o cir, an n pe ermanecer e estticas sob un punto de la pant bre o talla.
77
Las lupas estticas aparecen en la mitad superior de la ventana, y puede elegirse entre: Pantalla completa: El magnificador ocupa todo el espacio del monitor y no existe ninguna regin de la pantalla sin ampliar. Lupa fija sobre la mitad inferior, superior, izquierda o derecha: El resto de la pantalla queda sin magnificar. Las dinmicas se pueden ver en la mitad inferior de la ventana y existen dos predefinidas: Lupa: Posee forma cuadrada y sigue al ratn (o cursor) por el escritorio. Lnea horizontal: Facilita la lectura de textos, aumentando la imagen nicamente sobre la vertical; con ello se evita la necesidad de tener que realizar un desplazamiento horizontal para leer una lnea. El botn Avanzadas muestra una ventana donde se permite configurar una lupa personalizada: dinmica o esttica, con las dimensiones deseadas por el usuario y cuyo grosor y color de borde tambin son configurables.
78
Para s seleccionar un nuevo c color se ha de hacer clic en la flech que se en d ha ncuentra en n la parte derec del selec de colo y elegir aquel que ms se ajuste a sus neces a cha ctor or a sidades. Existe tres posi en ibilidades d grosor de borde, si se hace clic en la fle de echa que se e en ncuentra en la parte d n derecha del selector de grosor po e odr decant tarse por un u otra a na tra avs de la li despleg ista gada. Amba acciones pueden real as lizarse med diante clics d ratn o a travs de teclado. del t Dentr del recua ro adro de dim mensin, par modificar el tamao de ancho y alto de la ra r o a lu se puede escribir e valor dese upa el eado, o bien aumentar o reduci presion n, rlo irlo nando sobre e la flechas qu se encuen as ue ntran a la de erecha del nmero. n Del m mismo modo se puede a o actuar para modificar l posicin e que se fi la lupa a la en ija la pantalla. a Si se desea una l lupa dinmi basta co hacer clic sobre esta opcin pa activarla ica on c a ara a y, en caso de que no sea as, con ot clic se desactivar, consiguien una lupa fija sobre , e a tro d ndo e un posicin de pantalla na a. 79
Este botn abr una venta que perm configu las mej re ana mite urar joras de col relativas al lor s sistema o a la lupa.
En la parte s superior aparecen las opciones relativas al sistema, como son el l establecim miento del m modo en alto contraste o la solicit de conf o tud figuracin a avanzada, que q llevar al u usuario a la ventana de propiedade de aspecto del sistem es ma. Si s hace clic sobre el b se c botn que a activa el modo en alto contraste aparecer un m o aviso con solicitud de confirm macin que indicar que los ca e ambios a r realizar ser rn permanentes, aunque se desactive o cierre e magnifica el ador, cambia ando la con nfiguracin de escritorio q se tenga establecid que a da. En la inferior se mues r, stran las m mejoras de color aplic cables sobr la imag re gen magnificad consiste da, entes en cal lidad de col real o in lor nvertido; al tratarse de propiedad l e des excluyente cuando se es eleccione un automt na, ticamente se deseleccio e onar la otra a.
80
Este botn abr la ventana que permite ca re p ambiar el tamao de ratn o el ac ctivar/desac ctivar su localizador de seguimient to. Si se desea mod dificar el tam mao del puntero del ratn se de hacer cl sobre el p ebe lic l se elector de ta amao que se encuent en la pa superio de la ven tra arte or ntana, de modo que se m e de espliegue un lista con los tamao predeterm na os minados: Por defect con este tamao lo que se con to: e o nsigue es que el ratn q n aumente de maner proporci ra ional al f factor de ampliacin n selecciona por el usuario. ado u Normal. Grande. Ms grand de. Para a activar el lo ocalizador d deber selecc cionar la ca asilla Activ Localiza var ador; por el l co ontrario, si lo que dese es desact ea tivarlo haga un nuevo clic sobre esta misma casilla, de a a e modo que el control pasa a estar deseleccionad m do.
81
El l localizador slo se mostrar sobre la ventana de ampliac e a cin, de ma anera que si el magnificad no est a dor activo las guas de segu uimiento no aparecen e pantalla. o en Exi isten tres estilos de loca alizador de ratn dispo onibles Crculo centrado en el ratn. n Cruz gr rande que oc cupa toda la pantalla. a Cruz pe equea con el punto de mira en el r ratn. Par elegir en ra ntre uno u otro haga clic sobre el selector de tipo; de esta mism e ma manera pue solicita otro color o cambiar el grosor de las guas d seguimie ede ar r e de ento. Si desea mod dificar su t transparenc establez su valo a partir del select cia zca or tor numrico d opacidad correspon de d; ndiendo el v valor 0 con la transpare encia absolu y 255 con uta un color s lido.
82
Este botn abre la ventan que perm e na mite activar o desacti r ivar el loca alizador de e se eguimiento del cursor.
El loc calizador s se mostr lo rar sobre la ventana de ampliaci de mane que si el a e n, era l magnificador no est act m r tivo las gua de seguim as miento no ap parecen en pantalla. Hay d disponibles dos estilos de localizad de curso dor or: Cuas com tringulo que apun al curso mo os ntan or. Cuadrado que enmarc al cursor en su interior. ca r Para e elegir las op pciones del localizador as como activarlo o desactivar proceda l r, rlo, a de la misma m e manera que la explicad para el lo e da ocalizador d ratn. de
83
El b botn abre la ventana que muestr las opcio ra ones para pe ersonalizar el aspecto de las guas para el segui imiento del foco, as co omo activarl o desactivarlo. lo
Se dispone de dos estilos para remarc el seguim car miento del f foco: rea rectangular qu enmarca al elemento que posee el foco. ue a o e Lnea q marca la parte infer del elem que a rior mento con el foco. Ade ems de permitir activ o desactivar el segu var uimiento y s seleccionar el aspecto de la gua, seg el siste gn ema descrito para los l o localizadore de ratn o cursor, se proporcio es e ona una vista p previa del re esultado ant de que se acepten lo cambios. tes e os 84
6. .4.1. Ajust de com tes mportamie ento del ra atn, curso y foco. or
Por m medio de es opcin de men se puede ac sta s cceder a la ventana que permite a q e co onfigurar c mo ha de a actualizarse la regin am mpliada.
Fig. 7 Posicionam 70 miento del ra atn en la ven ntana con zoo om.
Las o opciones d posicion de namiento centrado o dentro d los mr c de rgenes son n ex xcluyentes; as, si selec cciona una d ellas la otra pasar a desactivars automticamente. de se En ca de que se haya op aso ptado por el posiciona e amiento en la ventana con zoom a m de entro de los mrgenes, se puede definir dich margen por medio del selecto numrico s ho or o qu se encuentra a la de ue erecha de la opcin. Pa ello, se e ara escribe el n mero dese eado, o bien n se aumenta o decrementar con las fl e flechas, haci arriba o a ia abajo, respec ctivamente. . De ca al posi ara icionamient del foco existen d posibili to o dos idades: que adopte la e a es squina super izquierd de la pan rior da ntalla ampli iada o se vis sualice a pa del punt central. artir to
El he echo de que el elemen que rec e nto cibe el foco se site prximo a la esquina o a su uperior izqu uierda de la imagen m a magnificada ayuda, po ejemplo, a la visua a or alizacin de e mens. m 85
Otr de las opciones que se p ra puede selec ccionar ser la de restringir el ra comportam miento del ra atn a la aplicacin con la que se est trabajan n e ndo.
Esto puede fac cilitar las tareas a perso onas con alg guna manife festacin del sndrome de Parkinson, o localizar el puntero ms fcilm r mente dentro del rea re o estringida. P Para activarlo, seleccione la casilla; e caso de q lo desee desactivarlo haga clic nuevament en que e c te.
Esta opcin de men abr la ventan que perm configu qu ele e re na mite urar ementos de ebe seguir la im magen ampl liada para a actualizarse cuando algu de ellos se mueve. uno s
Av veces el seg guimiento d los movi de imientos de teclado pu e ueden interceder con los l clics del ra atn; por eje emplo, al se eleccionar la entrada de un men s puede re-posicionar la a e se r imagen am mpliada, de f forma inesp perada, pues otro elem mento ha cap ptado el foc co. Es interesante que conf e figure los e elementos con los qu actualiza la imag ue ar gen ampliada s segn su ma anera de nav vegar por el escritorio. l
86
87
Implementar un mdulo que, cuando el usuario minimice el magnificador, permita que aparezca como icono en la barra de tareas (en la regin donde se muestra el reloj y los programas residentes, como el antivirus); esto es interesante debido a que el magnificador no supone una tarea que realiza el usuario, sino que le da soporte para realizar las que realmente lo son. Con ello, se distingue entre unas y otras de manera ms sencilla y es ms fcil de localizar. El suavizado de fuentes es otra de las caractersticas importantes a implementar como trabajo futuro. Las herramientas profesionales no aplican tcnicas de antialias para mejorar la claridad del texto, pues el suavizado provoca un efecto borroso; lo que hacen es, al magnificar, modificar la fuente asociada al texto de todos los elementos de la interfaz de escritorio por un tamao mayor, segn el factor de ampliacin que haya sido seleccionado por el usuario. Sera interesante aadir control de foco inteligente. Si el elemento que recibe el foco es un men es interesante que se actualice sobre la esquina superior izquierda de la imagen ampliada, para facilitar la lectura y la visin de contexto de las entradas del men; sin embargo, en otro caso podra resultar mejor que la posicin en la lupa de la imagen ampliada se mantuviera inalterada. Para mejorar la usabilidad, interesara que las propiedades de aspecto del escritorio pudieran ser modificadas desde la propia aplicacin, sin necesidad de recurrir a los cuadros de dilogo de Windows. Como trabajo futuro tambin debe considerarse la migracin al sistema operativo Windows Vista, as como a Windows Server 2008. Se ha probado lanzar la aplicacin sobre un ordenador en el que corra Windows Vista y las funciones encargadas de tomar la imagen del escritorio son vlidas para este sistema, as como la funcin encargada del seguimiento del foco; sin embargo, el tratamiento del ratn es totalmente incompatible. Por ltimo, quedan por ser atendidas algunas de las necesidades de accesibilidad que se sugieren en la normativa espaola, como pueden ser las relacionadas con la configuracin de la interfaz de la herramienta segn las necesidades del usuario o la documentacin.
88
7. BIBLIOGRAFA.
Abascal, J., & Valero, P. (2001). Accesibilidad. En J. Abascal, I. Aedo, J. J. Caas, M. Gea, A. B. Gil, J. Lors, y otros, La interaccin persona-ordenador. Lleida: Jess Lors. ADAM. (s.f.). Enciclopedia Ilustrada de la Salud. Recuperado el Febrero de 2008, de http://www.nlm.nih.gov/medlineplus/spanish/encyclopedia.html AEN/CTN 139 Tecnologas de la Informacin y las comunicaciones para la salud. (2003). UNE 139802. Madrid: AENOR. Ai Squared. (s.f.). ZoomText http://www.aisquared.com/index.cfm 9.1. Recuperado el 2008, de
Baude, A., Blenkhorn, P., & Evans, D. G. (2002). Full-Screen Magnification for Windows Using DirectX Overlays. IEEE Transactions on neural systems and rehabilitation engineering , 225-231. Blenkhorn, P., & Evans, D. G. (2006). A screen magnifier using "High Level" implementation techniques. IEEE Transactions on neural systems and rehabilitation engineering , 501-504. Blenkhorn, P., & Evans, G. (2003). Architectures of assistive software applications for Windows-based computers. Journal of Network and Computer Applications , 213-228. Blenkhorn, P., Evans, D. G., King, A., Kurniawan, S. H., & Sutcliffe, A. (2003). Screen Magnifiers: Evolution and Evaluation. Perceptual Multimodal Interfaces , 54-61. Blenkhorn, P., Evans, G., Kurnaiwan, S. H., Sutcliffe, A., & King, A. (2003). Screen Magnifiers: Evolution and Evaluation. 23 (5). Dempsey, J. (2007). Introduction to Microsoft Active Accesibility. Recuperado el 2008, de The Code Project: http://www.codeproject.com/KB/cpp/msaa_intro.aspx Dolphin. (s.f.). SuperNova. Recuperado el 2008, de http://www.yourdolphin.com/index.asp Exinferis Inc. (2006). Artculo: Hooks en Windows. Recuperado el 2008, de Exinferis Inc.: http://inexinferis.in.funpic.org/index.php?name=articles&req=listarticles&artid=6 89
Freedom Scientific. (s.f.). MAGic Screen Magnification Software. Obtenido de http://www.freedomscientific.com/default.asp Issist. (s.f.). iZoom 2.0. Recuperado el 2008, de www.issist.com Kennedy, M. (2005). Global system hooks in .NET. Recuperado el 2008, de The Code Project: http://www.codeproject.com/KB/system/globalsystemhook.aspx Mamaladze, G. (Julio de 2006). Processing Global Mouse and Keyboard Hooks in C#. Recuperado el 2008, de The code project: http://www.codeproject.com/KB/cs/globalhook.aspx Microsoft - Ayuda y soporte tcnico. (Diciembre de 2006). How to set a Windows hook in Visual C# .NET. Obtenido de Microsoft - Ayuda y soporte tcnico: http://support.microsoft.com/default.aspx?scid=kb;en-us;318804 Microsoft Accessibility. (s.f.). UI Automation Specification and Community Promise. Recuperado el 2008, de Microsoft Accessibility for Developers: http://msdn.microsoft.com/en-us/accessibility/bb892133.aspx MSDN Library. (s.f.). Cmo: Utilizar el modo de interpolacin para controlar la calidad de imagen durante el ajuste de tamao. Recuperado el 2008, de MSDN: http://msdn.microsoft.com/es-es/library/k0fsyd4e(VS.80).aspx MSDN Library. (Enero de 2007). Desarrollo .NET - Accesibilidad. Recuperado el 2008, de Inicio de .NET Framework: http://msdn.microsoft.com/eses/library/ms753388.aspx MSDN Library. (s.f.). Ejemplo Highlighter. Recuperado el 2008, de MSDN: http://msdn.microsoft.com/es-es/library/aa358508.aspx MSDN Library. (2008). Funcin SystemParametersInfo. Recuperado el 2008, de MSDN: http://msdn.microsoft.com/en-us/library/ms724947(VS.85).aspx MSDN Library. (s.f.). Highcontrast. Recuperado el 2008, de MSDN: http://msdn.microsoft.com/en-us/library/ms695609(VS.85).aspx MSDN Library. (s.f.). Hooks. Recuperado el 2008, de msdn: http://msdn.microsoft.com/en-us/library/ms632589(VS.85).aspx
90
MSDN Library. (s.f.). Layered Windows. Recuperado el 2008, de msdn: http://msdn.microsoft.com/en-us/library/ms997507.aspx MSDN Library. (s.f.). Microsoft Active Accessibility. (Microsoft) Recuperado el 2007, de msdn: http://msdn.microsoft.com/en-us/library/ms697707(VS.85).aspx MSDN Library. (s.f.). Tutorial: Crear una aplicacin accesible basada en Windows. Recuperado el Julio de 2007, de msdn: http://msdn.microsoft.com/eses/library/cb35a5fw(VS.80).aspx MSDN Library. (2001). Using Windows XP Visual Styles. Recuperado el 2008, de MSDN: http://msdn.microsoft.com/en-us/library/ms997646.aspx#xptheming_topic8 MSDN Library. (s.f.). Window.Topmost (Propiedad). Recuperado el 2008, de msdn: http://msdn.microsoft.com/eses/library/system.windows.window.topmost(VS.85).aspx MSDN Library. (Enero de 2007). Windows Presentation Foundation. Recuperado el 2008, de MSDN Library: http://msdn.microsoft.com/eses/library/ms754130(VS.85).aspx ONCE. (s.f.). Organizacin Nacional de Ciegos Espaoles. Recuperado el 2008, de www.once.es Pozo, S. (2002). Funcin BitBlt. Obtenido de Win API con Clase - Aplicaciones con Api 32: http://winapi.conclase.net/curso/index.php?fun=BitBlt Pozo, S. (2004). Funcin SetSystemCursor. Recuperado el 2008, de Programacin en Windows Win API con Clase: http://winapi.conclase.net/curso/index.php?fun=SetSystemCursor Pozo, S. (2002). Funcin StretchBlt. Recuperado el 2008, de Win API con Clase Aplicaciones con API 32: http://winapi.conclase.net/curso/index.php?fun=StretchBlt Stoecker, M. A., & Stein, S. J. (2006). Microsoft .NET Framework 2.0 WindowsBased Client Development. Canada: Microsoft Press. UNCU. (s.f.). Unin Nacional de Ciegos de Uruguay. Recuperado el Febrero de 2008, de www.uncu.org.uy
91
Visin 2020: El derecho a ver. (2004). Ftp de la Organizacin Mundial de la Salud. Recuperado el Febrero de 2008, de Ftp de la Organizacin Mundial de la Salud: http://ftp.who.int/nmh/Vision2020/spa/contents/0.02.htm
92
93
94