-
Not Synced
So... Good morning!
-
Not Synced
So, I will talk about accessibility today.
-
Not Synced
We have a lot of desktops in Debian
and we would like to talk
-
Not Synced
about the accessibility of these desktops.
-
Not Synced
There are all the slides and various stuff
on the wiki of debian.org
-
Not Synced
in the accessibility-maint wiki page,
so you can get stuff from there.
-
Not Synced
So, just to give an outline,
I will introduce to accessibility,
-
Not Synced
then explain how the accessibility stack
works,
-
Not Synced
how you will interact with this,
with your desktop,
-
Not Synced
and provide you with a list of things
that you could check by yourself,
-
Not Synced
to make our life easier,
I mean the accessibility team life.
-
Not Synced
To start with,
this is the output of gnuplot.
-
Not Synced
Can somebody tell me what the
accessibility issue is there?
-
Not Synced
Yeah, you have green and red bars.
-
Not Synced
Why is it a problem?
-
Not Synced
Well, basically color blind can not
distinguish between both.
-
Not Synced
Just to give you an idea. How many
people here are colorblind,
-
Not Synced
can not distinguish at least some colors?
-
Not Synced
So we have one, two people,
out of a couple of dozen.
-
Not Synced
Indeed, it's 8% of the male people
who can not distinguish colors.
-
Not Synced
More or less, it depends: some people can
distinguish a bit, others really not.
-
Not Synced
I had a student who really could not
distinguish them at all,
-
Not Synced
so in the practice room, he would have
to ask his neighbour
-
Not Synced
"but which one is the red curve?"
-
Not Synced
Gnuplot 5, yeah!
They changed the color set.
-
Not Synced
This was actually a research paper
which said
-
Not Synced
"OK, this is the proper color set that
you can use and really
-
Not Synced
almost everybody on earth
can distinguish them,
-
Not Synced
except those who can not really
distinguish colors at all,
-
Not Synced
and still with the intensity of the color,
you can still distinguish."
-
Not Synced
So, yes, things get improved.
-
Not Synced
It's not so difficult, it's just a matter
of changing the colors,
-
Not Synced
but the most difficult part was knowing
about the problem.
-
Not Synced
What is accessibility?
-
Not Synced
It is contracted into a11y.
It means being usable by
-
Not Synced
people with specific needs or specific
conditions or anybody actually.
-
Not Synced
So of course the obvious is blind people,
but also people with a low vision,
-
Not Synced
so they can actually see the screen,
but not that good.
-
Not Synced
Deaf people is not much a concern with
a lot of things, but still
-
Not Synced
if you only signal something through
noise, then they can not get it.
-
Not Synced
Color blind, as I said.
-
Not Synced
People may have just one hand, and
to type control-alt-backspace,
-
Not Synced
with just one hand, it's really horrible.
-
Not Synced
Cognition issues, so people may have
problems with understanding your software,
-
Not Synced
just because they can not,
-
Not Synced
it's not a problem of making efforts,
it's really a health issue.
-
Not Synced
Motor disability, so it becomes difficult
to use a keyboard
-
Not Synced
when you have Parkinson, for instance.
-
Not Synced
And elderly people, who basically have
everything at the same time.
-
Not Synced
You can have a look at the accessibility
HOWTOs, which talk a bit about all of this.
-
Not Synced
Maybe that can be you,
maybe within a couple of decades,
-
Not Synced
because of getting older, but also if you
break your arm, or whatever.
-
Not Synced
So this is really something which is
for everybody,
-
Not Synced
not only a small part of the population.
-
Not Synced
And still, there was a survey
which shows that
-
Not Synced
10% of the people consider that they are
handicapped in their life,
-
Not Synced
and then 20% consider that they
are limited.
-
Not Synced
They can do everything they want,
but it's a pain, quite often.
-
Not Synced
Handicap depends on the situation,
maybe it's just,
-
Not Synced
you may break your arm, or you are
too small to get something,
-
Not Synced
or you are too tall to get into a room or
something,
-
Not Synced
so it's not a problem of the person,
but of the situations.
-
Not Synced
And it's not necessarily permanent,
sometimes it's just
-
Not Synced
you broke your arm for some time,
and then you're back to order.
-
Not Synced
And for me, this is all about freedom 0.
-
Not Synced
We have been discussing with
Richard Stallman about this.
-
Not Synced
The freedom 0, as he said, was the
-
Not Synced
"freedom to run the program,
for any purpose".
-
Not Synced
But OK, running the program is not really
useful if you can not use it.
-
Not Synced
And RMS said yes, "it's just a desirable
feature that you can use it",
-
Not Synced
I mean because you're disabled.
Is that only "desirable"?
-
Not Synced
Richard said, "well if you need it, then
you can modify the software, it's free".
-
Not Synced
Okay, but that can not happen,
I will explain that later.
-
Not Synced
Just to give the UNO rights.
-
Not Synced
So I put in bold the interesting part
for us.
-
Not Synced
So there are rights of persons
with disabilities, and it says that
-
Not Synced
"Discrimination on the basis of disability"
means any distinction, exclusion or
-
Not Synced
restriction on the basis of disability
which has the effect of
-
Not Synced
impairing exercise of all human rights
and fundamental freedoms,
-
Not Synced
in all kinds of fields, and that includes
denial of reasonable accommodation.
-
Not Synced
And that's the point I want
to emphasize:
-
Not Synced
if you are not doing the reasonable
accommodation, you are actually
-
Not Synced
excluding people, and that's something
that the UNO considers.
-
Not Synced
And what does it mean,
"reasonable accommodation"?
-
Not Synced
It means not imposing a disproportionate
or undue burden.
-
Not Synced
So we don't ask the Debian project to do
a lot things,
-
Not Synced
we just ask for reasonable accommodations.
-
Not Synced
And we are trying to see
what we can do like this:
-
Not Synced
making things easy for Debian maintainers,
so that they have to do it actually, in a way.
-
Not Synced
For us it's then a question of priority
in the project,
-
Not Synced
for us it's a bit like
internationalization,
-
Not Synced
it's basically the kind of the same issue,
and everybody has to do it
-
Not Synced
for his own language,
every package should have it, etc.
-
Not Synced
But then more importantly, it's a question
of who doing it.
-
Not Synced
Accessibility is a problem in that
-
Not Synced
it concerns a really small fraction
of the people using computers.
-
Not Synced
They already have a hard time
using computers,
-
Not Synced
and it's even worse with
accessibility issues.
-
Not Synced
And the thing is: since there are
not so many disabled people,
-
Not Synced
almost nobody has these disabilities and
the programming skills to fix them.
-
Not Synced
And still, if you have the programming
skills, it's extremely difficult,
-
Not Synced
like for instance if you want to make
the Debian Installer accessible:
-
Not Synced
OK, you get the CD, you run it, and then
you don't have any output
-
Not Synced
on your Braille device.
-
Not Synced
What can you do?
-
Not Synced
You have to first get a debugging
environment,
-
Not Synced
but nobody thought about having
a debugging environment without a screen,
-
Not Synced
so you have to invent that first.
-
Not Synced
So it's really difficult for people
with disabilities
-
Not Synced
to get their things done by themselves.
-
Not Synced
Then you will have sighted people
for instance who could work on it,
-
Not Synced
but people with sight and the awareness
of the issue and
-
Not Synced
what could be done about it,
it's even smaller.
-
Not Synced
And so this sentence
"this is free software, you can modify it"
-
Not Synced
that can not work.
-
Not Synced
Because there are not so many people,
they can not do everything.
-
Not Synced
So the support has to be actually
integrated into the process and
-
Not Synced
the load of working on it distributed
among the maintainers.
-
Not Synced
Of course we would like to make that load
as light as possible to maintainers,
-
Not Synced
but there is no way around fixing bugs
in applications,
-
Not Synced
so that the tiny accessibility community
doesn't have to do all the work.
-
Not Synced
Ok, so that was just an introduction
to accessibility in general.
-
Not Synced
Let's talk about hardware.
-
Not Synced
People may use for instance
braille input and output,
-
Not Synced
or speech synthesis, but that's mostly
for blind people.
-
Not Synced
People with motor issues can use just one
joystick which would replace a mouse,
-
Not Synced
or would just be able to press a button,
and that's still enough to get things done,
-
Not Synced
thanks to a virtual keyboard.
-
Not Synced
Or they could use just eye-tracking, and
by blinking their eye actually acknowledge,
-
Not Synced
and whatnot.
-
Not Synced
We have a lot of ways for people
to interact with a computer.
-
Not Synced
The thing is, one shouldn't focus
on just one technology.
-
Not Synced
For instance, even for blind people,
Braille is not perfect,
-
Not Synced
just because not so many people
know Braille actually.
-
Not Synced
I don't remember but it may be like 10 or
even 5 percents of the blind people
-
Not Synced
only know Braille.
-
Not Synced
And the Braille devices are already
extremely expensive,
-
Not Synced
like several thousands of euros.
-
Not Synced
Speech synthesis either is not so good
in a lot of cases,
-
Not Synced
like if you have a noisy environment,
you can not hear it,
-
Not Synced
or you are disturbing your neighbours.
-
Not Synced
And also, it's really tedious to
get words spelled,
-
Not Synced
because you have it letter by letter,
-
Not Synced
it's much less convenient than reading it
on a Braille device.
-
Not Synced
Just to show what it looks like,
so a Braille cell.
-
Not Synced
Usually you have 8 dots like this,
which make for one character.
-
Not Synced
And the dots are moved upside and down
thanks to a Piezzo bar,
-
Not Synced
which is why it's expensive because
that Piezzo bar
-
Not Synced
has no other use in the Industry,
and so it is really a little market.
-
Not Synced
A Braille device is simply
that kind of cell, replicated alongside,
-
Not Synced
and connected through serial, USB or
bluetooth, and the price is usually
-
Not Synced
the number of cells you have
times a hundred and fifty euros.
-
Not Synced
So for forty character displays, you have
to pay like a few thousands euros.
-
Not Synced
So it's really awfully expensive.
-
Not Synced
About software.
So it's more interesting for us.
-
Not Synced
The first question which is interesting is
-
Not Synced
"why would you take the burden of
making the GUI accessible?"
-
Not Synced
There are a lot of text applications,
you could do everything with these.
-
Not Synced
Well, not everything, that's the problem.
-
Not Synced
A lot of things are really not available
in textmode,
-
Not Synced
like real JavaScript support in textmode
is actually really difficult because
-
Not Synced
it doesn't sometimes even make sense
for JavaScript
-
Not Synced
to have just characters and not pixels.
-
Not Synced
And for business applications usually
you have just the graphical one,
-
Not Synced
and you don't have the text equivalent, so
you have to have a way to use them as well.
-
Not Synced
And what's even more important is that
you shouldn't make people use
-
Not Synced
a dedicated software because then
they don't have help around them,
-
Not Synced
because they are using their software and
nobody knows how to use it, except them.
-
Not Synced
And that's really a problem, because then
they cannot be helped by people.
-
Not Synced
Another idea is
-
Not Synced
"let's make accessible software which is
dedicated to people with disabilities".
-
Not Synced
So for instance we have edbrowse, which
is a blind-oriented editor and browser,
-
Not Synced
and this is generally a bad idea.
-
Not Synced
Well, for one because quite often, this is
dedicated to one kind of disability,
-
Not Synced
one kind of situation, and it's not
universal,
-
Not Synced
you would have to do it several times
for each kind of disability.
-
Not Synced
But then also it's just a problem of
manpower,
-
Not Synced
as I've said we don't have so many people
working on this kind of thing,
-
Not Synced
and so for instance if you wanted
to maintain a web browser,
-
Not Synced
you would have to implement JavaScript,
flash, tables, CSS, etc.
-
Not Synced
So you don't really want to do that.
-
Not Synced
Or for an office suite, have compatibility
with Microsoft and whatnot.
-
Not Synced
And also it's also again an important
thing which doesn't come to mind first.
-
Not Synced
The important thing is not only getting
help, but also working with people.
-
Not Synced
If you have the same software, if you are
used to use the same software,
-
Not Synced
then you can work together,
-
Not Synced
you don't have to play
with format conversion or whatever.
-
Not Synced
Or even just work at the same time on the
same software, pointing at something,
-
Not Synced
then reading what is happening there,
-
Not Synced
then interacting with the other one
within the software.
-
Not Synced
So that's why we should really make
the existing software accessible,
-
Not Synced
instead of writing new software.
-
Not Synced
Another important thing is: we shouldn't
make "accessible" distribution.
-
Not Synced
Well, it can be a good idea, but in the end
we want all distributions to be accessible.
-
Not Synced
Because accessibility is completely
orthogonal to any other concern,
-
Not Synced
like blends and tasks,
this is orthogonal with accessibility.
-
Not Synced
Just like, be it a musician, for medicine,
for teaching, whatever,
-
Not Synced
all these specialized distributions
should be all accessible.
-
Not Synced
So it doesn't make sense to make an
"accessible" distribution,
-
Not Synced
except as being a testbed for
experimental features,
-
Not Synced
but maybe want to push to users to make
them happy and test these things,
-
Not Synced
and then we can integrate them
into all the distributions.
-
Not Synced
Ideally, you would have accessibility
everywhere.
-
Not Synced
Like, I enter a library,
-
Not Synced
there are computers to get the catalogue
of the books in the library,
-
Not Synced
or you get to an airport and they have
internet access there, but on a computer,
-
Not Synced
or you get to the university and
you have the practice room.
-
Not Synced
All these situations, if you have
just a Braille device,
-
Not Synced
then you will have to ask the administrator
to install the software and configure it
-
Not Synced
and whatnot.
-
Not Synced
We do not want that, you shouldn't have
to ask the administrator,
-
Not Synced
because he's probably not there and you
would have to wait for a week or a month.
-
Not Synced
So ideally it should be just installed
by default, and ready for use.
-
Not Synced
So that means quite close integration
with the system,
-
Not Synced
but for instance we managed to
get this in the Debian Installer.
-
Not Synced
Nowadays, the standard CDs,
installation CDs of Debian,
-
Not Synced
it's just, you insert the CD,
you boot the computer,
-
Not Synced
you hear a beep saying "you're at the boot
menu, you can press enter",
-
Not Synced
and then d-i boots and then it is actually
showing the output on the Braille device.
-
Not Synced
So that's really the kind of things
we want to achieve.
-
Not Synced
[claps]
-
Not Synced
Thanks!
-
Not Synced
Just a couple more of design principles
-
Not Synced
As I mentioned, just use the same
software, make it accessible.
-
Not Synced
Synchronize work, as I said it's just
an alternate input and output
-
Not Synced
and we work together
in a synchronized way.
-
Not Synced
And be pervasive, so you shouldn't have
to ask
-
Not Synced
for software installation or
configuration.
-
Not Synced
Ok, so that was discussion.
-
Not Synced
Now the real stuff.
-
Not Synced
How it looks like, how it works,
and we could check.
-
Not Synced
In a few words, text mode is really
accessible but at least for one
-
Not Synced
it's not suited to beginners.
-
Not Synced
Gnome is quite accessible.
-
Not Synced
One issue we had with was gnome 3, which
was almost a restart from scratch.
-
Not Synced
The status of gnome 3.0 was really awful.
-
Not Synced
Nowadays, we got to the point almost
like gnome 2 before gnome 3,
-
Not Synced
but it was really a pain.
-
Not Synced
And in the end we are really late
compared to the Windows world,
-
Not Synced
we have like a decade...
-
Not Synced
we are a decade late compared to them.
-
Not Synced
And compared with the Apple world
we are really at Stone Age.
-
Not Synced
You have to understand that Apple has
integrated and good support
-
Not Synced
for accessibility.
-
Not Synced
It's always installed, it's ready for use
all the time, and it's really good.
-
Not Synced
We really see people who were using
free software etc.
-
Not Synced
and then eventually they saw that Apple
thing, and they said
-
Not Synced
"OK, it's really working much better than
free software, so I will switch to Apple".
-
Not Synced
This is really a shame for us,
-
Not Synced
there is no reason why we shouldn't
be able to do that good.
-
Not Synced
More technically, how does it work?
-
Not Synced
The idea is that we have the application,
a standard application which uses
-
Not Synced
its own abstract representation through
the toolkit, to render things visually.
-
Not Synced
And the idea is that we have a bus,
an accessibility bus
-
Not Synced
which can exchange
with that abstract representation.
-
Not Synced
And the screen reader can just go
through this bus to access
-
Not Synced
the text of the application,
-
Not Synced
and then render it on an accessibility
device, whatever it is.
-
Not Synced
Is it Braille, is it speech,
is it something else, I don't know,
-
Not Synced
but the idea is that it's generic
so that we don't have to know.
-
Not Synced
So, just to give an instance,
we have the X server,
-
Not Synced
and the gedit application renders pixmaps
to the X server,
-
Not Synced
it is pango which does the rendering,
but there is in GTK, inside GTK the text,
-
Not Synced
which is what we want, and so there is
a part of gnome which is called ATK
-
Not Synced
which plugs into GTK to get that text
and provide it to the screen reader,
-
Not Synced
on Linux it's called Orca, and then Orca
can output this through braille or speech.
-
Not Synced
So we have this bus between ATK and Orca,
-
Not Synced
it is basically an RPC bus, actually,
so that is:
-
Not Synced
Orca can ask for the text explicitly or
it can ask for getting
-
Not Synced
notifications about the changes,
-
Not Synced
so once it reach there, ATK sends messages
whenever text is modified,
-
Not Synced
so Orca doesn't have to poll for changes.
-
Not Synced
And so it means that it's only on request
from the screen reader.
-
Not Synced
So if there is no screen reader then
there is no message on the bus,
-
Not Synced
so it's quite lightweight when
the screen reader is not there.
-
Not Synced
The idea is that the screen reader gets
the abstract representation as a tree,
-
Not Synced
so we have the main window,
with maybe some container,
-
Not Synced
and then have the menu bar
with several items in them,
-
Not Synced
and then a text area, an OK button, etc.
-
Not Synced
So that's the idea, the screen reader really
has the representation of the application,
-
Not Synced
and then the user can go around it.
-
Not Synced
So, technically speaking, now.
-
Not Synced
A lot of applications are already
technically accessible in that
-
Not Synced
the textmode applications for instance,
you can always get the text for course.
-
Not Synced
GTK 2 and 3 are accessible,
improving over year,
-
Not Synced
it's really in a state nowadays, which
can be used for everyday work.
-
Not Synced
And KDE is, I mean Qt actually, has been
trying to push for accessibility
-
Not Synced
for a long time,
-
Not Synced
Qt 4 has some implementation which was
a bit sketchy, with Qt 5 it's much better.
-
Not Synced
So it is on its way to get
really accessible.
-
Not Synced
Mono, however, had an accessibility effort
but Novell actually basically fired
-
Not Synced
all the team, the Accessibility team
in 2012 or something.
-
Not Synced
And so it's not maintained any more,
and it has been removed from Debian
-
Not Synced
because it was really not maintained.
-
Not Synced
So, let's see. Acrobat reader
is actually accessible.
-
Not Synced
Adobe made the effort of plugging
the rendering of the PDF file into ATK,
-
Not Synced
so that the screen reader actually
gets the content of the PDF file.
-
Not Synced
And then you have the other applications,
so Qt3, or Xt,
-
Not Synced
or applications which draw things
themselves, like xpdf,
-
Not Synced
these are really not accessible at all.
-
Not Synced
To give an idea in Debian, of the stack,
we have brltty
-
Not Synced
which contains the drivers for braille,
-
Not Synced
we have speech-dispatcher which
manages the drivers for speech.
-
Not Synced
Then for the bus, the accessibility bus,
we have the server part
-
Not Synced
which is at-spi2-core, which is generic,
all toolkits use it,
-
Not Synced
and then you have the GTK-ish part of it
which is gail and libatk.
-
Not Synced
And on the Qt side you have qt-at-spi.
-
Not Synced
And in Qt5 it's actually integrated
into the core of Qt.
-
Not Synced
And then you have the screen reader,
which is called Orca.
-
Not Synced
So basically,
once you have all this installed,
-
Not Synced
you have the whole stack for
accessibility.
-
Not Synced
So, what do we want to achieve?
-
Not Synced
Which is where I will be asking you
for trying to do things.
-
Not Synced
What is the goal?
-
Not Synced
The goal is at the very least, having the
accessibility stack working on all desktops.
-
Not Synced
That is, you can actually run it
and it works.
-
Not Synced
It is a matter of a few tests,
I will explain that,
-
Not Synced
so that you can actually include them
in regression tests.
-
Not Synced
That would only allow to access some
applications, but that's already huge,
-
Not Synced
in that if it's all desktops which have it,
then a blind user for instance
-
Not Synced
is not afraid of asking, like a neighbour
or a coworker, or whatever
-
Not Synced
"can I use your computer, just to read
my mails or whatever?".
-
Not Synced
It will not be convenient
for the blind user,
-
Not Synced
but at least he will be able to work
with his coworker or whatever.
-
Not Synced
That's already huge.
-
Not Synced
And then of course the goal would be that
all desktops would be
-
Not Synced
completely accessible.
-
Not Synced
I understand that this is not achievable
but that's really the target we would have.
-
Not Synced
So that, you would just be able
to choose your desktop.
-
Not Synced
So this is more involved,
I'll explain later.
-
Not Synced
Getting the accessibility stack working...
-
Not Synced
The goal is that you just run Orca
and it works.
-
Not Synced
Whatever situation you're in, you have
already applications running, and whatnot,
-
Not Synced
and you just start Orca, and you manage
to read the existing applications.
-
Not Synced
At the moment, this is not enabled
for all toolkits,
-
Not Synced
it is enabled by default in GTK3, actually,
in Jessie, so it does work with GNOME.
-
Not Synced
But not with GTK2, QT4, QT5,
there is often people who say
-
Not Synced
"yeah, but there might be bugs,
it may make things slower".
-
Not Synced
Ok, but we are at the beginning of
the release, err.
-
Not Synced
the development of Stretch,
maybe it is the time to just enable this,
-
Not Synced
and if there are bugs, let's just fix them,
there is no way forward except like this,
-
Not Synced
we've been not enabling accessibility
for like a decade,
-
Not Synced
and maybe now is the time to just do it,
and then...
-
Not Synced
[round of claps] [smile]
Thanks!
-
Not Synced
The question is: how do you test it? I'll explain the details, and then you'll
see that we provide scripts to do it for you. The idea is that we have that
accessibility bus running, so there are some dbus daemon running, you have to
check that they are running, there is a script which does that automatically
normally, but maybe it does not for your desktop, and when it is running, you
have actually a dbus specialized bus, for accessibility and the session bus
should be providing its address so that applications can find it. And also there
the Xorg root window provides the address as well. And then we have to have the
toolkits enable their layer for accessibility.
-
Not Synced
[Slide 85]
-
Not Synced
All of this is actually checked with a small script that I've written and it is
available on pkg-a11y. There are pointers to this on the wiki page,
accessibility, that wasn't -devel but -maint, but there are links between
accessibility, accessibility-devel and accessibility-maint, so you should be
able to find it. The idea is that you clone this repository. There is an env.sh
file which you can source to basically define all these variables to enable
accessibility in GTK2, QT4, QT5, etc. and once you have this you can run "make
check" which checks GTK2, GTK3, QT4, QT5 applications, and check that they are
really accessible.
-
Not Synced
If they are not, or for users who can not manage to get their thing working,
there is a troubleshoot script which tests every bit one by one and tells you
"this is not properly configured, maybe that's the issue actually".
-
Not Synced
And also you can run "orca -l" to get the list of applications, so it's a quick
test really so you can just run, like, geany or gedit or whatever GTK
application, and check that "orca -l" sees that. If that's the case, then
probably the accessibility stack is working properly.
-
Not Synced
[Slide 86]
-
Not Synced
OK, so that was the part that you can do, the first part that you can do.
Another part is how the user will start Orca. So of course, in the "foreign
user" use-case, so a disabled person uses the desktop of somebody else, he
can ask the somebody else to run Orca for him.
-
Not Synced
But a shortcut would be really welcome, for instance when you go to a library or
whatever, he wants to use a computer. Gnome settled on using super-alt-s to just
start the screen reader. Our concern is that OK, gnome chose that, maybe KDE
will choose something else, etc. It would be extremely convenient to have just
one so that you don't have to ask "which desktop is that? Alright, this desktop
I remember that it is that shortcut". So the problem we may have, I don't know,
is deciding on a universal shortcut which doesn't conflict with any other
shortcut in any other desktop. So I don't know, maybe super-alt-s is already
fine, maybe that's something that should be discussed at freedesktop, I don't
know. I really don't know for this. For the installer, for instance, at the
boot menu, you would type s and enter to select the speech-enabled installer. So
maybe just try to have just one.
-
Not Synced
And maybe also we could autostart when you plug a USB Braille device. That may
be useful, but as long as we have super-alt-s then we are fine with starting
Orca, so maybe it's not so much worth spending efforts on autostart on plugging
USB Braille display, and really get that shortcut running.
-
Not Synced
[Slide 87]
-
Not Synced
For the regular user, you want of course Orca started automatically, you don't
want to have to start it by hand each time you want to use your own computer.
The thing is: there should be at least two things.
-
Not Synced
There should be an icon in the interface so that, like, the administrator of
the machine enables it easily, finds it easily, and that icon also should
be accessible, just because the disabled person might want to interact with
it. That hasn't been always the case. Sometimes the accessibility icon was not
accessible in some releases of software.
-
Not Synced
And the second thing is having a command-line interface for enabling it. Quite
often it is the case, but the thing is: please tell us which one we should use
in the Debian installer, so that when the user installs Debian with
accessibility enabled in the Installer, then we enable accessibility in the
installed system automatically. We are fine with having to deal with gconf,
gsettings, xfconf, whatever. Just give us the way to do it and document it, so
that we can do it.
-
Not Synced
[Slide 88]
-
Not Synced
Eventually, we would like all desktops to be completely accessible. So that
means making, like, the start menu, the panel, task switching, all these tiny
bits of the desktop to be accessible.
-
Not Synced
So if your desktop is based on GTK/QT, it's quite easy because the toolkit does
it for you. You should still check out what Orca and Accerciser are saying,
I will explain that a bit later. And also that everything can be achieved by
using just the keyboard. It's really important, some people just can not use the
mouse, and they can see and can use the keyboard, but also blind people really
like being able to do everything with the keyboard and speech output. And if
you can do that, with just a keyboard, no cheating with the mouse, then that's
already quite good.
-
Not Synced
If some of the parts of your interface, your desktop interface, are self-drawn,
not using GTK or Qt, then you will have to implement accessibility yourself, so
interface with AT-SPI, maybe by using ATK, or talking AT-SPI protocol natively,
yourself, it's up to you. But that's the kind of drawback for using a self-drawn
widget.
-
Not Synced
At the moment, mostly only Gnome and MATE are really accessible like this, I
mean really usable with a keyboard, shortcuts, etc. XFCE and LXDE start being
accessible, they don't always have shortcuts, so we wouldn't recommend these, so
basically people only have two choices for desktop at the moment. That's really
sad.
-
Not Synced
[Slide 90]
-
Not Synced
To develop accessible applications, more generally, the idea is that you should
not design your interface with the GUI in mind, but rather start with a logical
way of thinking about your interface, first. Because then, the screen reader,
since it is that structure of the application and not the visual representation,
it will be easier for disabled people. And actually in the end, it will make
your code much better, make it structured logically instead of graphically.
-
Not Synced
And as I said, better use standard widgets, because then they have integrated
support for accessibility. And also, make sure to use the proper widget for what
you want to do, so for instance if you have a text field to be filled, and then
a label in front of it, you should use the labeled text field widget, which
makes a relation between the label and the text. Otherwise the screen reader
just notices labels and text, it doesn't know which is which. So avoid homemade
widget, or you have to implement accessibility yourself. And if you put an
image, of course, provide a text alternative for the screen reader to give to
the user.
-
Not Synced
And keep it simple. For people with cognition issues, but also for blind people,
if there are too many things, too complex dialog boxes, or whatever, it will be
tedious for them. But it's also for your regular users, if the interface is
simple, then it will be easier for them.
-
Not Synced
[Slide 92]
-
Not Synced
Quite often you ask "OK, but I would like to test myself". Orca has a braille
monitor, so what you can simply do is running "orca -e braille-monitor" to
enable it, and then just work as usual with your desktop, only using the
keyboard, don't use the mouse, and then check that whatever you are doing
appears on the Braille monitor, and that it is correct.
-
Not Synced
And there is a crash test that you can do, it is to just turn on the speech, and
then switch off the screen, and then to try to work. And you are... [they are
trying to tell something but... Oh sure, sure]. So try to just switch off the
screen and work, and you will see that it's difficult. Even developers of
accessibility who are sighted don't always do that, and they realize, when they
do that, "OK, there was one thing which I didn't realize, that it wasn't
working, just because I could see the screen".
-
Not Synced
There is on gnome.org a guide for developing accessible applications, you
should have a look at it, it's quite interesting.
-
Not Synced
[Slide 93]
-
Not Synced
Then there is Accerciser, maybe you will not use it because it's a sort of
debugger. The idea is that it shows the tree of widgets, and you can have a look
at the details and check the properties, that the text is really right, or
whatever. So you try to use it, but most probably you will want to just use Orca
and check quickly what is showing up.
-
Not Synced
[Slide 102]
-
Not Synced
One last thing, about bugs. One thing to understand is that the users, disabled
users, are in a different situation than you, so if they make suggestions like
in a webbrowser, put brackets around URLs which are clickable, and then do that,
at least as an option. Because it is really useful for them. You, as a sighted
person, wouldn't understand why, but they do know why. And so OK, make it an
option, and the users will enable it.
-
Not Synced
It's extremely difficult to deal with accessibility bugs, because it's already
not easy for people to use your software, because of hindrance, or whatever, but
it's even more difficult for them to report bugs, because they have some output
on the braille device or speech or whatever, and they don't even know what they
are supposed to have, because they can not see what is on the screen. So it's
difficult for them to understand what is happening, and so it's even more
difficult to explain what is happening. So, yes, the only way out is to discuss,
and take the time to discuss, it's long but there is no other way. Remember to
ask the user for screenshots, they don't necessarily remember to do this. Try to
think about this because it's actually easy for them to do, they just don't
think about it.
-
Not Synced
[Slide 103]
-
Not Synced
And try to keep in mind that their disability and consequences. It was quite
fun, a few years ago, during the discussion with debian-boot, when we talked
about making the framebuffer accessible, some person said "OK, but then if the
framebuffer doesn't show up nicely, the user will not be able to report the bug
about the framebuffer not showing up nicely." OK, but he doesn't care, he won't
see it anyway. So that's fine, we can leave the bug. So it's kind of situations
where you have to think their situation
-
Not Synced
You can even just contact a institution near you to discuss directly with users.
There are a lot of them all around the world, so you can try that.
-
Not Synced
[Slide 115]
-
Not Synced
OK, to conclude: quite a few of your desktop users need accessibility, really
need it, in any kind of situation, so we really want to make accessibility
mainstream, and we can do quite some work, but we need your help for this, so
you're welcome. Thanks. [claps]
-
Not Synced
[Michael Banck: Thanks a lot Samuel. So are there any questions?]
-
Not Synced
[Excuse me, do you know the current status of Chinese, Japanese, and Korean
support on the Braille display?]
-
Not Synced
So on the Braille display, I don't remember exactly which Braille tables we
have... Korean we have a table for this, Japanese, we don't seem to have one,
and Chinese we do have, I don't remember where, but we do, I know that there is
a proper table for Chinese. Japanese, I'm surprised that I couldn't find it, but
at least I think this is something which already works. It has improved a lot
since the desktop went to UTF-8 by default, so nowadays it's really working, I
think. Not on the text console on Linux, because Linux' support for double-width
glyphs is not really good, but on the desktop yes, it's really working [Note of
transcriptor: there indeed is a japanese table, along the chinese and real
corean tables (not kok!)]
-
Not Synced
[Michael Banck: Any other question? Well...]
-
Not Synced
[Ksamak: What do you think could be doable at the Debian level, I don't know, on
the archive or process, to, I don't... for maintainers and developers to be
aware when they push something, that it breaks a feature, or...]
-
Not Synced
Oh you mean if some desktop breaks accessibility support? [Yeah] Yeah, I was
thinking, I've written a note about it, to make these checks on a VM somewhere,
to run it all periodically on all the desktops, and then have a red light in the
tracker page of these desktops so that maintainers see that "Oh, there is a
problem here", and then a link to the wiki page so that they test themselves,
and then fix, or at least ask for help for fixing it. But yeah, that's the kind
of thing, as usual, making accessibility not a special thing, but just in the
usual process, like all the lights in the tracker page.
-
Not Synced
[Michael Banck: So I have a question about these special widgets, did you talk
to upstream, GTK or QT, suggest to disallow special widgets if they are not
accessible, or is it not possible technically? [sorry?] So you said it's
problematic if people come up with their own widgets, and is it, would it be
possible to just disallow or block it if they are not accessible, or is that
technically not feasible, so a technical solution to the problem.]
-
Not Synced
Yeah, I think that's one of the issues, I mean, people not aware of the problem.
It is that the development tools not always remind the developer for them, like,
if you run glade, and do an interface, it should prevent, give a warning "you
didn't put an alternative text for an image", etc. and yes... But when people
write C code, I don't know how to tell them that that's bad.
-
Not Synced
[Michael Banck: Are there any other questions? Yes, one?]
-
Not Synced
[So you talked about you have to turn on the accessibility in the installer, I
have no idea? [sorry I couldn't hear] You talked about, during the installation,
you have to press s or something to turn accessibility on, I think Apple has it
turned on by default, I mean...]
-
Not Synced
Well, Apple has it available by default, yes, and you have to type a shortcut, I
don't remember the shortcut for Apple, but yes, it is available all the time on
a mac, and on the phone as well.
-
Not Synced
[Well, I was thinking in a minute, it's no big deal for me if it's turned on, at
my computer start...]
-
Not Synced
Wait, when I say turn on, that means, start talking and blabber, so it will make
noise [giggles]
-
Not Synced
[Michael Banck: any other questions? Ah, there is one]
-
Not Synced
[Steve McIntyre: So the installer, booting off CD, kind of beeps at boot, has
anybody checked with UEFI if that works [...] UEFI, if you boot the installer CD
I honestly don't know, I haven't checked this just now, whether it works if you
boot via UEFI [...]]
-
Not Synced
Err, I think it's really independent of the firmware. The only think is the
boot menu where we do have to have a beep [yes, that] and that's something I
didn't test myself [so for UEFI we boot grub instead of isolinux] right [I don't
if grub ... beep] grub does have a drive of the PC speaker, so it can beep
actually. Err, I'll just write a note [I you can check that, let me know, and we
can fix it if it's not working].
-
Not Synced
And I was happy to notice that the liveCD of Debian actually has the same kind
of beep. I don't remember asking for it, so it really shows that things are
going.
-
Not Synced
[Michael Banck: OK, so we are running out of time, so let's thank Samuel again]
-
Not Synced
[claps]