Presentación Accesibilidad ASPACENET

478 views

Published on

Ponencia ofrecida por Alberto Delgado y Diego Hernández en DroidconMAD2013.
Sinopsis: #ASPACEnet es un proyecto que nace de la colaboración de Fundación Vodafone España con la Confederación ASPACE. El objetivo es mejorar la autonomía y la calidad de vida de las personas con parálisis cerebral a través de la tecnología móvil. Para ello se está desarrollando un subsistema en Android para hacer accesible el uso de aplicaciones del sistema operativo relacionadas con la comunicación, como WhatsApp, Facebook, Twitter, Message+, Skype o SMS. Para garantizar esta accesibilidad es necesario conseguir una interfaz completamente adaptada a diferentes necesidades, permitiendo al propio usuario o a su acompañante realizar esta adaptación mediante herramientas sencillas.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
478
On SlideShare
0
From Embeds
0
Number of Embeds
104
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentación Accesibilidad ASPACENET

  1. 1. Accesibilidad Android Orientada a la Parálisis Cerebral Presentado por ASPACE-NET
  2. 2. Índice • • • • • Importancia de la Accesibilidad Interfaz de Usuario Introducción a la Accesibilidad en Android Eventos de Accesibilidad Productos de Apoyo – AccessibilityService – Comunicadores Aumentativos – InputMethods
  3. 3. Importancia de la Accesibilidad en las TIC • Un gran número de Usuarios: – Hay 600 millones de personas con discapacidad en todo el mundo. – Uno de cada cuatro europeos tiene un familiar con una discapacidad. – Número de personas con discapacidad en España = 4,5 millones aprox. – Todos somos potenciales usuarios con la edad. • Cuando una tecnología se diseña con barreras de accesibilidad, se convierte en una amenaza para muchos usuarios. • La accesibilidad es una condición necesaria para la inclusión social.
  4. 4. Interfaz de Usuario – Parálisis Cerebral • El colectivo de usuarios con Parálisis Cerebral está formado por personas con múltiples tipos de necesidades. • La gran mayoría tienen necesidades motoras y cognitivas (problemas sensoriales, alteraciones en la atención, dificultades lecto-escritoras) que requieren el uso de productos de apoyo. • Suelen usarse pulsadores, joysticks, plantillas sólidas en el acceso a la interfaz de los dispositivos, y comunicadores aumentativos, iconos grandes y acciones sencillas en la interacción entre usuario y terminal. • Por ello se debe cuidar el diseño de una interfaz que permita esta personalización de acceso a los componentes de la pantalla.
  5. 5. Introducción Accesibilidad en Android • • • • • La accesibilidad está integrada en la plataforma. API de accesibilidad desde la versión 1.6, que ha ido ampliando funcionalidad en sucesivas versiones. API para Text-to_Speech independiente del motor TTS incorporado. Existen eventos de Accesibilidad manejados por el AccessibilityManager. Un producto de apoyo en Android se implementa mediante AccessibilityService o IME. Versión Nueva funcionalidad Comentario Android 1.5 (Cupcake) Se incluyó la API TTS Se incluyo el primer motor de síntesis de Texto a Voz, pero solo se podía utilizar el propio de Android (picoTTS) Android 1.6 (Donuts) Se incluyo la API de Accesibilidad Permitió la aparición de los primeros lectores de pantalla para Android como Talkback y Spiel. Android 2.0-2.1 (Eclair) Mejoras en la API de Accesibilidad Permitió por primera vez la conexión de métodos de entrada de texto externos. Android 2.2 (FroYo) Mejoras en la entrada de voz y en TTS Permitió cambiar el motor de síntesis de voz a otro que no sea el nativo de Android. Android 2.3 (Gingerbread) Calendario de android accesible.   Eyes-free Keyboard , da por primera vez una opción accesible de introducir texto en Android Aunque no cambie la API de Accesibilidad, mejora su implementación permitiendo utilizar características que previamente no se podían. Como acceder a la información previa en un cuadro de edición de texto mediante un Servicio de Accesibilidad. Android 3.0 (Honeycomp) Incluye web scripts para WebView La funcionalidad de la navegación física sigue siendo necesaria Android 4.0 (Ice Cream Sandwich) Incluye el tamaño de fuente ajustable y la exploración táctil (Explore-by-Touch) El TTS cambia automáticamente cuando un nuevo idioma seleccionado. El teclado propio del teléfono es accesible mediante la exploración táctil (Ya no es necesario Eyesfree keyboard) Android 4.1 (Jelly Beam) Incorpora la navegación mediante gestos (Explore-by-Touch gestures). Se introduce BraileBack, permitiendo leer y escribir en braile con un dispositivo externo. El Talkback incorpora el Soundback y Kickback. Las notificaciones son configurables, pudiendo ampliar el tamaño del texto, imagen, etc. Android 4.2 (Jelly Beam) Incorpora el magnificador de pantalla. Android 4.3 (Jelly Beam) Mejoras sobre los AccessibilityServices Permite ampliar cualquier contenido de la pantalla Implementación de onKeyEvent(); posibilidad de editar texto dentro de los nodos de la Interfaz, nueva declaración de características de accesibilidad. Android 4.4 (KitKat) Disponible en el menú de Incorpora sistema de Subtítulos, Ajustes>Accesibilidad. Todos los vídeos permitiendo elegir idioma, tamaño y estilo reproducidos en un VideoView deberían del texto. respetar dicha configuración. Ampliación de la API de accesibilidad para La amplicación de la API mejora la calidad mayor control de los elementos de la del feedback de accesibilidad para los interfaz. “accessibility services”.
  6. 6. Introducción Accesibilidad-Diseño de Interfaz • Todo componente debe tener bien definido su valor, rol y estado. Ejemplos: – Button: se debe indicar que es un botón (rol). – TextView: se debe indicar el texto de su interior (valor). – CheckBox: se debe indicar si está activo o no (estado). – ImageView: se debe indicar que hay en la imagen mediante una descripción (valor). • Generalmente, utilizando componentes propios de Android se cumple este requisito. En los elementos gráficos (ImageView, ImageButton, etc) es necesario rellenar el campo ContentDescription. • La interfaz debe ser posible navegar de forma intuitiva con el foco: – Garantizar que los componentes deseados puedan ser focusables (modo normal y Touch Mode). – Apuntar al componente que se quiera mover el foco en cada una de las 4 direcciones de navegación.
  7. 7. Producto de Apoyo-AccessibilityService • El sistema envía AccessibilityEvent automáticamente cuando algo sucede en la interfaz de usuario. ¡Problema! Esto no siempre sucede. • En ocasiones es necesario forzar el lanzamiento de un AccessibilityEvent: //Invocar al AccessibilityManager AccessibilityManager accessibilityManager = (AccessibilityManager) getApplicationContext().getSystemService(Context.ACCESSIBILITY_SERVICE); if(accessibilityManager.isEnabled()){ AccessibilityEvent a = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_FOCUSED); //Definir el tipo de Evento a.setText( v.getContentDescription()); //Incluir la descripción v.sendAccessibilityEventUnchecked(a); //Lanzar el evento }
  8. 8. Producto de Apoyo-AccessibilityService • Un servicio de accesibilidad es una aplicación que proporciona feedback aumentativo de la interfaz de usuario para ayudar a los usuarios con discapacidad. • Los tipos de feedback que puede proporcionar son: – FEEDBACK_AUDIBLE – FEEDBACK_HAPTIC – FEEDBACK_VISUAL – FEEDBACK_GENERIC • Un servicio escucha AccessibilityEvents, y obtiene toda la información del componente que lo ha lanzado mediante su AccessibilityNodeInfo. • AccessibilityNodeInfo sigue una estructura de árbol. • A partir de ICS un AccessibilityService puede: – Escuchar gestos específicos. – Puede realizar ciertas acciones como si las hiciera el usuario mediante el método performAction() o si la acción es global (como volver al home), performGlobalAction().
  9. 9. Comunicadores Aumentativos • Numerosos usuarios con parálisis cerebral requieren el uso de sistemas complementarios al habla (comunicación aumentativa) o suplementarios (comunicación alternativa) para poder desarrollar al máximo potencial su comunicación. • Los comunicadores aumentativos funcionan a partir de pictogramas, animaciones y tableros de comunicación, de forma que los usuarios pueden aumentar su vocabulario y su facilidad de expresión. • Existen varios tipos: – Programas de gestión de símbolos, texto y/o fotografías. – Comunicadores sencillos con salida a voz. – Comunicadores dinámicos.
  10. 10. Producto de Apoyo-InputMethod • Un editor de método de entrada (IME) es una aplicación de control que permite a los usuarios introducir texto u otros eventos de una aplicación. • Para diseñar un IME tenemos que considerar las siguientes clases: – KeyEvent: Encargada del manejo de caracteres del teclado y eventos de botón. – InputMethodService: Proporciona la mayor parte de la implementación de la gestión del estado y la visibilidad del IME así como la comunicación con el campo de entrada de texto seleccionado. – BaseInputConnection: Define el canal de comunicación desde una parte posterior a la aplicación que está recibiendo su entrada. – KeyBoardView: Ésta es la encargada de pintar en pantalla nuestra interfaz del InputMethod.
  11. 11. Ejemplo InputMethod: Tecla Access
  12. 12. Foco // View v = findViewById(R.id.myView); if(!v.isFocusable()){ v.setFocusable(true); } if(!v.isFocusableInTouchMode()){ v.setFocusableInTouchMode(true); } }
  13. 13. Referencias • Android Accessibility API: – http://developer.android.com/reference/android/view/accessibility/package-summary.html • Android Accessibility Service API: – http://developer.android.com/reference/android/accessibilityservice/package-summary.html • Android IME API: – http://developer.android.com/reference/android/view/inputmethod/package-summary.html • Tecla Access: – http://mobile-accessibility.idrc.ocad.ca/projects/tekla • AspaceNET: – http://aspacenet.org
  14. 14. Muchas gracias!! :)

×