presentación accesibilidad aspacenet

16
Accesibilidad Android Orientada a la Parálisis Cerebral Presentado por ASPACE-NET

Upload: droidcon-spain

Post on 18-Nov-2014

441 views

Category:

Documents


0 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Presentación Accesibilidad ASPACENET

Accesibilidad Android Orientada a la Parálisis Cerebral

Presentado por ASPACE-NET

Page 2: Presentación Accesibilidad ASPACENET

• Importancia de la Accesibilidad• Interfaz de Usuario• Introducción a la Accesibilidad en Android• Eventos de Accesibilidad• Productos de Apoyo

– AccessibilityService– Comunicadores Aumentativos– InputMethods

Índice

Page 3: Presentación Accesibilidad ASPACENET

• 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.

Importancia de la Accesibilidad en las TIC

Page 4: Presentación Accesibilidad ASPACENET
Page 5: Presentación Accesibilidad ASPACENET

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.

Page 6: Presentación Accesibilidad ASPACENET

• 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 Eyes-

free 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. Permite ampliar cualquier contenido de la

pantalla

Android 4.3(Jelly Beam)

Mejoras sobre los AccessibilityServices

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)

Incorpora sistema de Subtítulos, permitiendo elegir idioma, tamaño y estilo

del texto.Ampliación de la API de accesibilidad para

mayor control de los elementos de la interfaz.

Disponible en el menú de Ajustes>Accesibilidad. Todos los vídeos reproducidos en un VideoView deberían

respetar dicha configuración.La amplicación de la API mejora la calidad

del feedback de accesibilidad para los “accessibility services”.

Introducción Accesibilidad en Android

Page 7: Presentación Accesibilidad ASPACENET

• 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.

Introducción Accesibilidad-Diseño de Interfaz

Page 8: Presentación Accesibilidad ASPACENET

• 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 AccessibilityManagerAccessibilityManager 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

}

Producto de Apoyo-AccessibilityService

Page 9: Presentación Accesibilidad ASPACENET

• 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().

Producto de Apoyo-AccessibilityService

Page 10: Presentación Accesibilidad ASPACENET
Page 11: Presentación Accesibilidad ASPACENET

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.

Page 12: Presentación Accesibilidad ASPACENET

• 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.

Producto de Apoyo-InputMethod

Page 13: Presentación Accesibilidad ASPACENET

Ejemplo InputMethod: Tecla Access

Page 14: Presentación Accesibilidad ASPACENET

// View v = findViewById(R.id.myView);

if(!v.isFocusable()){

v.setFocusable(true);

}

if(!v.isFocusableInTouchMode()){

v.setFocusableInTouchMode(true);

}

}

Foco

Page 15: Presentación Accesibilidad ASPACENET

• 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

Referencias

Page 16: Presentación Accesibilidad ASPACENET

Muchas gracias!! :)