Freedom #0
for everybody,
really?
We may be failing by 10-20% actually
Well, 100% actually...
Samuel Thibault <samuel.thibault@ens-lyon.org>,
Jean-Philippe Mengual
Slides available on http://brl.thefreecat.org/
1
http://liberte0.org/ liste@liberte0.org (french/english?)
Gnuplot
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
sin(x)
cos(x)
-1
-10
-5
0
5
10
Color blindness: 8
% male, 0.5% female
2
Outline
● Introduction to accessibility
● Technological overview
● The problem is not really technical actually
● Discussion
● More details available in LSM videos
● Links on http://brl.thefreecat.org/
● Notably LSM 2010, “How to make applications
3
accessible?”
What is accessibility?
AKA a11y
Usable by people with specific needs
● Blind
● Cognition (dyslexia, attention
● Low vision
disorder, memory, ...)
● Deaf
● Motor disability (Parkinson, ...)
● Colorblind
● Elderly
● One-handed
See Accessibility HOWTOs
● You
“Handicap” depends on the situation
4
and is not necessarily permanent
Hardware
● Braille input/output
● Speech synthesis
● Joysticks
– Basically replace mouse
● Press button
– On-screen virtual keyboard
● Eye-tracking
● ...
5
Don't focus on one technology
Even for a given disability
● Braille is not perfect
– A lot of blind people can't read brail e
– Braille devices are very expensive (several k€)
● Speech synthesis is not perfect
– Noisy environments
– Tedious for spelling issues
6
Dedicated software?
● e.g. edbrowse, a blind-oriented editor/browser
● Generally a bad idea!
– Oriented to just one disability
– Lack of manpower
● e.g. Web browser
– javascript/flash/table/CSS support?
● e.g. An office suite
– MSOffice/OpenOffice compatibility?
– Disabled & non-disabled working together
● Better use the same software
7
➔ Better make existing applications accessible
Status in a few words
● Text mode is generally quite well accessible
– But not so well suited to beginners
● Gnome quite accessible
– Gnome 3 was however almost a
restart-from-scratch
● We're late compared to the Windows world
– We started less than a dozen years ago
– They started a couple of decades ago
● We're Stone Age compared to the Apple world
8
– Really good and integrated support
Overview
Accessibility device
Screen reader
Application
Accessibility
Abstract representation
Registry
bus
Visual Rendering
9
X accessibility, AT-SPI
X server
braille, speech, ...
pixmap
Orca
pango
text ATSPI
atk
gtk
(bonobo/dbus)
gedit
10
Technically speaking
● A lot of applications are already technically
accessible
– Console
– GTK
– KDE4 (“Real Soon Now”)
– Acrobat Reader
● A lot are not
– KDE3
– Xt
11
– Self-drawn (e.g. xpdf)
In practice
● A lot of technically-accessible applications
actually aren't really usable
– A visually-organized mess of widgets...
First name:
Foo
Last name:
Bar
Password:
baz
➔ Screen reader “Script” for each application
12
Don't try to make applications accessible,
just make accessible applications
Quite often just a matter of
common sense from the start
Not a reason for not fixing
your existing apps of course,
it will just be a bit harder :)
13
Opening the discussion
with a few items
14
This is all about freedom #0
“The freedom to run the program, for any
purpose”
What about being able to use the program?
● RMS said a11y was just a “desirable feature”.
– “Desirable” only, really?
● RMS said “this is free software, you can modify
it” (freedom #1)
– Can. Not. Happen.
15
A question of freedom
“The freedom to run the program, for any
purpose”
What about being able to use the program?
● #0 only a legal freedom?
● #0 only a technical freedom?
● #0 rather about people freedom?
30 years of GNU has pretty much given us legal
and technical freedom, what about focusing on
16
people for the next decade?
Why is accessibility so hard?
● Vint Cerf asked in Communications of the ACM
November 2012:
“Why is accessibility so hard?”
Issues are mostly not technical, actually
17
A question of priority
● Should be prioritized
– Just like internationalization
– A “should” or “must” in the GNU Coding
Standards?
– Evaluated on integration into the GNU
project?
– …
18
A question of who doing it
● Concerns only a small fraction of population
– Already a hard time using computers...
– Almost nobody with both disabilities and
programming skil s
– Almost nobody with awareness and
programming skil s either
→ “This is free software, you can modify it”
can not work.
● Support has to be integrated
– Distributed among maintainers themselves
19
– Not borne by the tiny a11y community
Making applications
accessible?
● Extremely diverse needs
● Generic screen reading interface
– Already supported by toolkits like gtk
– Requires logically built applications
● Do not make applications accessible,
make accessible applications
– From the start!
● Usually benefits everybody in the end
– Better overall design
20
– Nicer for all users: colors, contrast, tab, ...
“Accessibility of
accessibility”...
“How to make accessible applications?”
● Very-few to many communication
● Just documentation?
– A HOWTO already exists, but mostly unknown
● Talks at conferences?
● Integrate in standard procedures?
● Testing?
– Doesn't actually really require hardware
– Can only be parti al, but stil a very good start 21
Developer/User
communication issues
● You all know that
● Even more difficult when disabilities come into
play...
● Don't even know/understand what they are
supposed to “see”
● Patience, discussion, finding intermediary, ...?
22
Graal: accessibility
everywhere
● Using a computer at the library, the airport, the
university practice room, etc.
– First ask admin to install & configure
software?!
→ Installed by default, ready for use
– Requires very close integration
– E.g. support in Debian Installer
23
What to do?
● accessibility@gnu.org mailing list
● Petered out quickly
● Revive?
● Raise awareness?
● Document?
● Integrate?
24
Discussion
● Accessibility everywhere, goal of next decade?
● A question of priority
● Usually benefits everybody in the end
● A question of who doing it
● Making accessible applications?
● Accessibility of accessibility...
● Developer/user communication issues
● A question of freedom #0
25
● What to do?
Backup slides
26
Linux Console accessibility
27
Text applications
● Usually work really great for braille output
● Always provide such equivalent of graphical
applications, e.g. based on same shared lib
– Useful for servers via ssh too!
● The default output of screen readers is what the
cursor is on
– Works great with shell, editor, etc.
– Doesn't work so great with semi-graphical
apps
➔ Put the cursor app
ropriately!
28
– Even when invisible, e.g. mutt, aumix
Graphical applications
● Design your application without gui in mind first
– Logical order, just like CSS ☺
● Use standard widgets
– e.g. labeled text fields
– Avoid homemade widgets, or else implement atk
yourself for them
– Always provide alternative textual content for
visual content
● Keep it simple!
– Not only to make s
creen reading easier, but to 29
make life easier for all users too!
Some pitfalls and advices
(from the accessibility howtos)
● Shouldn't have to use the mouse for anything
● Care of contrasts, configurable colors
● Avoid timing-based actions, or make them
configurable
● No 2D organization, logical organization
● Keep it simple and obvious
● ...
30
About bugs
● Take users suggestions into consideration
– E.g. bracketed links in text web browsers
● Be patient with disabled people
– It's not easy for them to use your software
– It's even more difficult for them to explain their
problems in an understandable way
● e.g. “brail e doesn't fol ow”
➔ Discuss!
31
About bugs (2)
● Try to keep in mind their disability and their
consequences
– Yes, blind users don't care that the framebuffer
doesn't show up properly!
● You could even contact your local institutes for
disabled people, to discuss directly with users
32
Test it yourself! (textmode)
Brltty + gnome-terminal
● see doc on http://brl.thefreecat.org
33
Test it yourself! (guis)
Accerciser
● Check that
the tree of
widgets looks
sane and is
complete
34
Conclusion
● Accessibility is a concern for a lot of people
– 10% have major concerns
– 20% have minor concerns
● Dealing with it usually boils down to common
sense
● It very often actually also helps other users
● But we need to raise awareness of this
35
Document Outline