gnome 3.0 accessibility: state of the union (desktop summit 2011)
DESCRIPTION
By Alejandro Piñeiro. In GNOME, accessibility is a core value that touches all aspects of the system. From the infrastructure, to the graphical toolkit, to the applications, to the assistive technologies, accessibility has been a central consideration from the very early days. As a result, GNOME 2.0 not only has compelling accessibility today, but it also provides a rich and stable base for future accessibility work. This year (2011) was released GNOME 3.0, the first major release of GNOME since GNOME 2.0 on 2002. As a major relase GNOME 3.0 involves several changes on the technology layers of GNOME affecting the accessibility support in several aspects. Some examples: bonobo deprecation, new desktop (GNOME Shell) using a new technology (Clutter), etc. Since the annoucement of GNOME 3.0 and those technologies changes the accessibility community was working in order to get the best support on this major release, including two accessibility hackfests during 2010. In general, the purpose of this presentation is: Introduce accessibility on GNOME. Briefly explain the technologies changes between GNOME 2.0 and GNOME 3.0 How this affects accessibility support? Community reaction? Briefly explain the status of GNOME 3.0 What works? What doesn't works? Plans towards GNOME 3.2TRANSCRIPT
![Page 2: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/2.jpg)
Let's introduce it ...
![Page 3: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/3.jpg)
Accessibility?
● Means helping people with disabilities to
participate in any life activity
● Like computer stuff. That involves
● … programmatic access
● … keyboard navigation
● … themes
![Page 4: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/4.jpg)
AT ?
● AT == Assistive Technologie
● Screen readers
● On screen keyboards
● Magnifiers
● Ok
![Page 5: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/5.jpg)
what needs an AT ?
● Know which apps are running
● Know the active app
● Know the focus object
● Be able to interact with the app
![Page 6: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/6.jpg)
AT-SPI ?
● “Assistive Technologie Service Provider Interface”
● Daemon providing the functionality that
requires those ATs
● “out of the process”
● Using CORBA/bonobo on the old times
![Page 7: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/7.jpg)
And the apps?
● How they expose the data?
● Direct CORBA calls to AT-SPI?
● It would be doing stuff really similar …
● But apps are heterogeneous ...
![Page 8: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/8.jpg)
ATK
● ATK = Accessibility ToolKit
● Common interface
● The atk-bridge uses ATK calls to know
that to expose to AT-SPI
● Toolkits and apps implement ATK
● “in process”
![Page 9: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/9.jpg)
How this stuff was implemented?
● Not in time for GNOME 2.X
● Isolated on runtime loadable modules
● At-spi provided at-bridge
● Gail provided an ATK implementation
● Isolated since the beginning
● Extension and access to private data
nightmares
![Page 10: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/10.jpg)
That old GNOME 2.0
![Page 11: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/11.jpg)
Stories from the past
● Bill Haneman, March Mulhany,● GUADEC 2004: “Where we are today”
● 8 critical bugs, ~50 serious bugs● Assessment:
● 2.6 : Can be made to work, with some effort● Need some HEAD components for better results
● 2.8 : Reasonable level of functionality “out of the box” : (still at risk)● GOAL: disabled users can do all key tasks● Depends on regression control and attention by
packagers, community
![Page 12: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/12.jpg)
GNOME 3.0 is coming!(First introduced at Istanbul 2008)
![Page 13: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/13.jpg)
Changes, changes!
● CORBA is dead, long live DBUS
● AT-SPI (major piece) CORBA based
● Nokia fund initial move on 2008
● Gsettings VS GConf
● Desktops: GNOME Shell, Unity
● Clutter, Gtk3
● CSUN 2010 Accessibility Summit
![Page 14: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/14.jpg)
Hey, why so serious?
● We worked to get the a11y pieces on
GNOME 2.0
●Why just keep sync with GNOME 3.0 is so
a big problem … ?
● Lets talk about that later ...
![Page 15: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/15.jpg)
GNOME 3.0 is here!(April 2011)
![Page 16: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/16.jpg)
![Page 17: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/17.jpg)
GNOME 3.0.1 improved
● A11y community started to use a testing
distro based on Frederic Crozat one
● Major functionality issues were solved
● GNOME “classic” is still the solution for
a11y users
![Page 18: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/18.jpg)
So, what we have here?
● Infrastructure: ATK, AT-SPI
●Toolkit implementations: GAIL, Cally, Java
●Apps: LibreOffice
●Ats: Orca, Caribou, GNOME Voice Control,
VEDICS, Dasher, OpenGazer, MouseTrap
● A lot of things, right?
![Page 19: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/19.jpg)
Really?
● At-spi just ported, no new features
● ATK still 1.0 after 10 years.
● Less than 5 commits in last two years for
GVC, Dasher, MouseTrap, etc
![Page 20: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/20.jpg)
What we really have?
● Infrastructure requires to be updated
● Some first citizens: Orca, Caribou,
GNOME Shell built-in magnification
● Several Ats on their own
● Whats the differenceWhats the difference?
● Orca has a real community behind
![Page 21: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/21.jpg)
Some history – good times
● 16 Oct 2000, “GNOME Accessibility Summit”
● Sun, IBM and others joined the party
● A11y had a really big push
● A lot of new stuff between 2000-2005:
● ATK, AT-SPI, GAIL, Gnopernicus, LSR,
![Page 22: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/22.jpg)
Some history – bad times
● 1 Jun 2007, IBM “change strategies”
● LSR dies, Orca survives
● 27 Jan 2010, Sun is acquired by Oracle
● Sun decreasing workforce is mostly
removed
● Willie Walker stops to be a11y leader
and Orca co-maintainer
![Page 23: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/23.jpg)
First conclusion?
● If GNOME a11y wants to survive requires
to maintain a healthy community
● But a11y applies to all GNOME.
● Why “GNOME a11y”?, why not “GNOME”?
● And talking about that ….
![Page 24: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/24.jpg)
That mail …
<snip>
>From my perspective, the a11y team is far too happy to be inits ownlittle corner, working on its 'testing distro' and its own littletools that need to work on every OS and thus end up working properlyon none of them. Yet, when I try to run accerciser in a jhbuild treeon my system, it locks up solid after a few minutes every singleTime...
<snip>
● 2011-06-01
![Page 25: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/25.jpg)
A11y had opposite feeling● Some IRC examples:Jan 22 21:31:37 <anonymous> API: aha...yeah. We need support for users who don't use the mouse at all.Jan 22 21:32:14 <anonymous> Seems as though that would just be a fundamental thing to build in
Jan 22 21:35:08 <anonymous> As we all know, designing for a11y helps *everyone*, not just stupid disabled chumps that nobody cares about.
Jan 22 21:38:35 <anonymous> API - heh - just joshing. I wasn't poking at you. I was poking at mainstream developers who haven't embraced accessible design yet.
Jan 22 21:39:33 <API> yeah, I supposed that, but sometimes there are some strange situationsJan 22 21:40:06 <API> for example, at Boston, there are some presentations, and then the time of the "complainers from ally"
![Page 26: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/26.jpg)
Communication breakdown
● A11y “folks” thing that the others prefer them to be
isolated, and the others thinks that they are happy
with that …
● Other extract from “that mail”:“I think that we have to be honest about the fact that a11y is not a
first-class feature of GNOME until it is fully integrated”.
![Page 27: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/27.jpg)
Current work and future
![Page 28: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/28.jpg)
ATK/AT-SPI2 Hackfest
● Analysis of current status and future
● A lot of things to do now on ATK2
● A lot of things would require an API
breakage
![Page 29: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/29.jpg)
ATK/AT-SPI2 Hackfest (2)
● A lot of ATK implementors to be updated● GTK
● Clutter
● LibreOffice
● Unity
● Etc.
● AT-SPI2 would also require some changes
![Page 30: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/30.jpg)
GailEctomy
● Benjamin Otte and Matthias Clasen are
merging GAIL and GTK
● First Benjamin conclusions about ATK
were really more radical ;)
![Page 31: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/31.jpg)
Performance and stability
● Target: being able to have a11y running
by default without affecting performance
and stability
● Mike Gorse working on that, made some
changes
● Require to measure the changes
![Page 32: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/32.jpg)
GNOME Shell
● Awesome built-in Magnifier● by Joseph Scheuhammer
● On screen keyboard based on Caribou● by Nohemi Fernandez
●GNOME 3.0 included some ATK patches● Still not really usable with Orca
● Work in progress
![Page 33: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/33.jpg)
A summary?
![Page 34: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/34.jpg)
Current status
![Page 35: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/35.jpg)
Current status
● An accessibility framework
● Bad: Not enough ATs or people
● Bus factor of one in several cases
● Good: GTK+ developers are taking care
of GAIL
● What we need: improve the base, more
ATs, more people
![Page 36: GNOME 3.0 Accessibility: State of the Union (Desktop Summit 2011)](https://reader033.vdocuments.us/reader033/viewer/2022042518/5558e377d8b42ad7138b4de9/html5/thumbnails/36.jpg)
Questions?