GNOME Desktop Accessibility Development & Testing Sun Microsystems, Inc. Aug 2010.

Slides:



Advertisements
Similar presentations
DataNaut, LLC 1 Building Cross-Platform Accessible Applications Using Qt Technical Overview September 2012.
Advertisements

V0.1 Inclusive and Accessible Application Design June 21, 2012.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
QA Automation Solution. Solution Architecture Test Management tool CI Tool Automation framework Testing Project BDD Tool Text of test to Testing Project.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Accessibility for Rich Internet Applications: Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre Techniques & Toolkits.
Java Application Accessibility Awareness Lawrence Najjar.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
1/15 Kris Van Hees & Jan Engelen Abstracting the Graphical User Interface for Non-Visual Access Kris Van Hees & Jan Engelen Katholieke Universiteit Leuven.
Scott Ferguson Section 1
Overview GUI Programming with GTK+ and GLADE 장정철.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Multimodal SIG © 2007 IBM Corporation Position Paper on W3C Workshop on Multimodal Architecture and Interfaces - Application control based on device modality.
S.Linev: Go4 - J.Adamczewski, H.G.Essel, S.Linev ROOT 2005 New development in Go4.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
BY : MS ARTI B BAVANE. INTRODUCTION Formed on February 15,2010. Jointly found by two pillars Intel and Nokia by joining their existing open source projects.
Cross desktop Application Scripting Ideas for an implementation Desktop Developer Conference 2006, Ottawa, Canada Tuesday July 18 th 2006 Hubert Figuière.
Tango - Icalepcs 2009 ESRF. E Taurel - Icalepcs TANGO kernel status and evolution Brief introduction What's new since Icalepcs 2007 New projects.
1 OpenOffice.org and ODF Accessibility Today - OOoCon 2008, Beijing OOoCon , Beijing OpenOffice.org & ODF Accessibility Today Malte Timmermann.
We can divide our view of the AT world into 3 large components Applications A11y Infrastructure Assistive Technologies (AT)
Free Open Source Software for Everyone An Introduction to GNOME and GNOME Accessibility Willie Walker GNOME Accessibility Lead RPI, December 2009.
1 Digital Signatures – A Global Challenge Joachim Lingner Software Engineer Sun Microsystems 1.
GNOME Accessibility Overview Willie Walker Sun Microsystems, Inc. GNOME.Asia October 2008.
1 Proposal of Next Generation Input Method framework IM-BUS project James Su.
D-Bus and Friends: Making Linux “Just Work” on the Desktop John (J5) Palmieri Desktop Engineer
1 How to make applications accessible ? (or rather, how to make accessible applications) Samuel Thibault.
Fmci Jaroslav Reznik Presented by Red Hat, Inc. License statement goes here. See for acceptable.
Introduction to Operating Systems Concepts
Moving Goalposts Sam Rowley Ray Reid
The Holmes Platform and Applications
J2EE Platform Overview (Application Architecture)
Integrating ArcSight with Enterprise Ticketing Systems
Integrating ArcSight with Enterprise Ticketing Systems
Introduction to Kernel
Dogtail: A GUI Test Tool
Mobile App Development
Chapter 2: Operating-System Structures
Google Web Toolkit Tutorial
Event-driven programming
Software Tools and Environments
Java Look-and-Feel Design Guidelines
Chapter 2: System Structures
Chapter 3 – Process Concepts
Android Mobile Application Development
MVC and other n-tier Architectures
Event Driven Programming Dick Steflik
INTER-PROCESS COMMUNICATION
CMPE419 Mobile Application Development
Reaching more customers with accessible Metro style apps using HTML5
Continuous Automated Chatbot Testing
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Model-View-Controller Patterns and Frameworks
Chapter 2: System Structures
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
Skype for Business Webinar Meeting
Sun's Approach To Accessibility Concertation Meeting 19 May 2003
Chapter 3: Processes.
Chapter 2: Operating-System Structures
February 16th, 2004 Class Meeting 5
New Tools In Education Minjun Wang
CMPE419 Mobile Application Development
ACM programming contest
Presentation transcript:

GNOME Desktop Accessibility Development & Testing Sun Microsystems, Inc. Aug 2010

Topics What is accessibility? Introduction to accessibility infrastructure Current focus on accessibility development How to test accessibility? What are we testing on GNOME Desktop? What can accessibility do for other testing? How can I participate? Comments and thoughts?

What is Accessibility Accessibility is a technology enables individuals to make full use of computer-based technology despite variability in physical or sensory abilities due to illness, aging or disability. The Accessibility Infrastructure gathers useful information about programs running on the desktop and provides this information to Assistive Technologies (ATs) which interact with end users.

What is Accessibility Accessibility Infrastructure is useful for other purposes as well: > Automatic Testing Tools: LDTP, Dogtail, Strongwind > Alternative input/output devices The GNOME Accessibility Infrastructure is based on the interfaces designed by Sun for Java Accessibility, and has been primarily driven and designed by Sun engineers.

What is Accessibility Orca GOK Assistive Technology Application

Applications and ATs communicate via a layered architecture Application changes trigger events which are dispatched through the layers. ATs may make AT-SPI calls which are based on the application’s data, GUI, and/or internal state. ATs “know about” the application by receiving events and issuing queries and requests. Application AT-SPI Layer AT Bridge API calls EVENTS

Accessibility Infrastructure: Multiple ATK Impl. Query the current user context Obtain app content Spea k text Move mag region Braille I/O Text to Speech driver BrlTTY driver Magnifier Service Interact with UI AT AT SERVICES AT Mozilla (Gecko) GNOME apps (GTK+) OpenOffice.org ATK atk-bridge Java ATK WrapperUAA Application events AT-SPI Apps Accessibility GeckoGAIL Java apps......

How GTK+/GNOME Apps connect to AT-SPI GNOME applications implement an in-process accessibility API called ATK, which is ‘bridged’ to the common AT-SPI layer by the ATK-bridge module. GAIL hooks into ATK and implements ATK interfaces on behalf of GTK+. GAIL is dynamically loaded via glib’s GModule API. GTK+/GNOME Application ATK Bridge (libatk-bridge) ATK GTK+ APP AT-SPI AT Bridge GAIL

Process space diagram AT gets app handles from registry, and registers for event notifications. Other AT communications go direct to the application’s bridge code. Application Bridge at-spi-registryd AT-SPI calls ListappsListapps Register AppRegister App ATK GTK+ AT

Current Focus Starting with GNOME 3.0, the usage of CORBA (Bonobo,ORBit2) by the GNOME accessibility infrastructure will be deprecated. D-Bus will become the default IPC mechanism. This make it possible for the KDE and Qt community to start taking advantage of the accessibility infrastructure. Sun engineers are working on re-write of the infrastructure to use D-Bus instead of CORBA.

Infrastructure: CORBA GTK+ GAIL ATK atk-bridge Mozilla nsAccessible ATK atk-bridge OOo UNO ATK atk-bridge Java JAAPI JABG at-spi-registryd pyatspi cspi gnome-session OrcaGOK CORBA

Infrastructure: D-Bus GTK+ GAIL ATK atk-adaptor Mozilla nsAccessible ATK atk-adaptor OOo UNO ATK atk-adaptor Java JAAPI ATK atk-adaptor at-spi2-registryd pyatspi2 cspi2 D-Bus Activation OrcaGOK D-Bus JAW

Java Apps use atk-bridge through wrapper Swing defines a Java-specific accessibility API in javax.accessibility. The Java ATK Wrapper is an implementation of ATK by using JNI technology. It converts Java Swing events into ATK events. Java ATK Wrapper replaces the former Java Access Bridge which sends events to AT-SPI layer directly. Firefox and OpenOffice also use atk-bridge. Java/Swing Application Java ATK Wrapper for GNOME javax.accessibility Swing APP AT-SPI AT Bridge ATK Bridge (libatk-bridge)

The new architecture All IPCs are based on D-Bus. New modules: at-spi2-core (including at-spi2-registryd), at-spi2-atk (including atk-adaptor), pyatspi2. Application ATK-adaptor at-spi2-registryd AT-SPI2 calls ListappsListapps Register AppRegister App ATK GTK+ AT AT-SPI2 events

How to test accessibility Make sure your accessibility switch turned on

How to test accessibility Make sure your accessibility switch turned on

How to test accessibility Accerciser - useful At-tool for testing & debugging

How to test accessibility First thing to making an accessible app > Your app should be “visible” to accerciser

How to test accessibility First thing to making an accessible app > Each widget can be tracked down in accerciser

How to test accessibility First thing to making an accessible app > Check widget's accessibility status, relations, descriptions and attributes

How to test accessibility First thing to making an accessible app > Action can be performed on widget

What are we testing on GNOME Desktop AccessX > Stick Keys > Repeat Keys

What are we testing on GNOME Desktop AccessX > Slow Keys > Bounce Keys

What are we testing on GNOME Desktop AccessX > Mouse Keys

What are we testing on GNOME Desktop Orca Screen Reader

What are we testing on GNOME Desktop Orca Screen Reader

What are we testing on GNOME Desktop Orca Screen Magnifier

What are we testing on GNOME Desktop GNOME On-screen Keyboard > Switch device > Pointing device > Dwell device

What are we testing on GNOME Desktop GNOME Accessibility Themes > HighContrastLargePrintInverse Theme

What are we testing on GNOME Desktop Assess project accessibility status Submit 508 Assessment for desktop projects Over 20 projects meet the U.S. Gov 508 requirements, which include all kinds of desktop project, like browser, mail client, file manager and etc.

What can accessibility do for other testing Automated functional testing Accessibility testing Automation testing tools: > Dogtail > Orca > LDTP > Strongwind

What can accessibility do for other testing Automated functional testing > There are a series of automated testing running on OpenSolaris desktop nightly build testing machines, cases are created for Dogtail test framework > We also have more than 20 test cases for accessibility regression testing, cases are created for orca harness test framework

What can accessibility do for other testing Automated functional testing > GNOME Desktop Testing Project > Mago/LDTP automation testing framework > 18 automation test cases created, more than 50 applications can be covered by automation testing > Open community for developer, QA and contributors > OpenSolaris branch is under developing and ready for everyone

How can I participate To join discuss on GNOME > Subscribe to: > Irc channel: > irc.gnome.org > #a11y To join discuss on OpenSolaris > Subscribe to: >

How can I participate GNOME community > > > OpenSolaris community > >

Comments and thoughts > Q & A

Thanks!