Return to Video

Thanks for maintaining a desktop environment, but is it accessible?

  • 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?
  • Not Synced
    I'll explain the details, and then you'll
    see that we provide scripts
  • Not Synced
    to do it for you.
  • Not Synced
    The idea is that we have that
    accessibility bus running,
  • Not Synced
    so there are some dbus daemon running,
    you have to check that they are running,
  • Not Synced
    there is a script which does that
    automatically normally,
  • Not Synced
    but maybe it does not for your desktop,
  • Not Synced
    and when it is running, you have actually
    a dbus specialized bus, for accessibility
  • Not Synced
    and the session bus should be providing
    its address so that applications can find it.
  • Not Synced
    And also there, the Xorg root window
    provides the address as well.
  • Not Synced
    And then we have to have the toolkits
    enable their layer for accessibility.
  • Not Synced
    All of this is actually checked with
    a small script that I've written
  • Not Synced
    and it is available on pkg-a11y.
  • Not Synced
    There are pointers to this
    on the wiki page, accessibility,
  • Not Synced
    that wasn't -devel but -maint,
    but there are links between
  • Not Synced
    accessibility, accessibility-devel and
    accessibility-maint,
  • Not Synced
    so you should be able to find it.
  • Not Synced
    The idea is that you clone this repository.
  • Not Synced
    There is an env.sh file which
    you can source
  • Not Synced
    to basically define all these variables to
    enable accessibility in GTK2, Qt4, Qt5, etc.
  • Not Synced
    and once you have this you can run
    "make check" which checks
  • Not Synced
    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,
  • Not Synced
    there is a troubleshoot script which
    tests every bit one by one and tells you
  • Not Synced
    "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,
  • Not Synced
    so it's a quick test really
    so you can just run, like,
  • Not Synced
    geany or gedit or whatever GTK application
    and check that "orca -l" sees that.
  • Not Synced
    If that's the case, then probably the
    accessibility stack is working properly.
  • Not Synced
    OK, so that was the part that you can do,
    the first part that you can do.
  • Not Synced
    Another part is how the user will
    start Orca.
  • Not Synced
    So of course, in the "foreign user"
    use-case,
  • Not Synced
    so a disabled person uses the desktop
    of somebody else,
  • Not Synced
    he can ask the somebody else
    to run Orca for him.
  • Not Synced
    But a shortcut would be really welcome,
  • Not Synced
    for instance when you go to a library or
    whatever, he wants to use a computer.
  • Not Synced
    Gnome settled on using super-alt-s to just
    start the screen reader.
  • Not Synced
    Our concern is that OK, gnome chose that,
    maybe KDE will choose something else, etc.
  • Not Synced
    It would be extremely convenient to have
    just one so that you don't have to ask
  • Not Synced
    "Which desktop is that? Alright, this
    desktop I remember that it is that shortcut".
  • Not Synced
    So the problem we may have, I don't know,
    is deciding on a universal shortcut
  • Not Synced
    which doesn't conflict with any other
    shortcut in any other desktop.
  • Not Synced
    So I don't know, maybe super-alt-s
    is already fine,
  • Not Synced
    maybe that's something that should be
    discussed at freedesktop, I don't know.
  • Not Synced
    I really don't know for this.
  • Not Synced
    For the installer, for instance, at the
    boot menu, you would type s and enter
  • Not Synced
    to select the speech-enabled installer.
  • Not Synced
    So maybe just try to have just one.
  • Not Synced
    And maybe also we could autostart it
    when you plug a USB Braille device.
  • Not Synced
    That may be useful, but as long as we have
    super-alt-s
  • Not Synced
    then we are fine with starting Orca,
    so maybe it's not so much worth
  • Not Synced
    spending efforts on autostart on plugging
    USB Braille display,
  • Not Synced
    and really get that shortcut running.
  • Not Synced
    For the regular user, you want of course
    Orca started automatically,
  • Not Synced
    you don't want to have to start it by hand
    each time you want to use your own computer.
  • Not Synced
    The thing is: there should be at least
    two things.
  • Not Synced
    There should be an icon in the interface
    so that, like,
  • Not Synced
    the administrator of the machine
    enables it easily, finds it easily,
  • Not Synced
    and that icon also should be accessible,
    just because the disabled person
  • Not Synced
    might want to interact with
    it.
  • Not Synced
    That hasn't been always the case.
  • Not Synced
    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.
  • Not Synced
    Quite often it is the case, but the thing is:
    please tell us which one
  • Not Synced
    we should use in the Debian installer,
    so that when
  • Not Synced
    the user installs Debian with accessibility
    enabled in the Installer,
  • Not Synced
    then we enable accessibility in the
    installed system automatically.
  • Not Synced
    We are fine with having to deal with
    gconf, gsettings, xfconf, whatever.
  • Not Synced
    Just give us the way to do it and document
    it, so that we can do it.
  • Not Synced
    Eventually, we would like all desktops
    to be completely accessible.
  • Not Synced
    So that means making, like,
    the start menu, the panel, task switching,
  • Not Synced
    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
  • Not Synced
    because the toolkit does it for you.
  • Not Synced
    You should still check out what
    Orca and Accerciser are saying,
  • Not Synced
    I will explain that a bit later.
  • Not Synced
    And also that everything can be achieved
    by using just the keyboard.
  • Not Synced
    It's really important, some people just
    can not use the mouse,
  • Not Synced
    and they can see and can use the keyboard,
    but also blind people really like
  • Not Synced
    being able to do everything with
    the keyboard and speech output.
  • Not Synced
    And if you can do that, with just
    a keyboard, no cheating with the mouse,
  • Not Synced
    then that's already quite good.
  • Not Synced
    If some of the parts of your interface,
    your desktop interface, are self-drawn,
  • Not Synced
    not using GTK or Qt, then you will have
    to implement accessibility yourself,
  • Not Synced
    so interface with AT-SPI, maybe by using
    ATK, or talking AT-SPI protocol natively,
  • Not Synced
    yourself, it's up to you.
  • Not Synced
    But that's the kind of drawback for using
    a self-drawn widget.
  • Not Synced
    At the moment, mostly only Gnomeand MATE
    are really accessible like this,
  • Not Synced
    I mean really usable with a keyboard,
    shortcuts, etc.
  • Not Synced
    XFCE and LXDE start being accessible,
    they don't always have shortcuts,
  • Not Synced
    so we wouldn't recommend these,
    so basically people only have
  • Not Synced
    two choices for desktop at the moment.
  • Not Synced
    That's really sad.
  • Not Synced
    To develop accessible applications,
    more generally,
  • Not Synced
    the idea is that you should not design
    your interface with the GUI in mind,
  • Not Synced
    but rather start with a logical way of
    thinking about your interface, first.
  • Not Synced
    Because then, the screen reader, since
    it is that structure of the application
  • Not Synced
    and not the visual representation,
    it will be easier for disabled people.
  • Not Synced
    And actually in the end, it will make
    your code much better,
  • Not Synced
    make it structured logically
    instead of graphically.
  • Not Synced
    And as I said, better use standard
    widgets,
  • Not Synced
    because then they have integrated
    support for accessibility.
  • Not Synced
    And also, make sure to use the proper
    widget for what you want to do,
  • Not Synced
    so for instance if you have a text field
    to be filled,
  • Not Synced
    and then a label in front of it,
  • Not Synced
    you should use the labeled text
    field widget, which makes a relation
  • Not Synced
    between the label and the text.
  • Not Synced
    Otherwise the screen reader just notices
    labels and text,
  • Not Synced
    it doesn't know which is which.
  • Not Synced
    So avoid homemade widgets, or you have
    to implement accessibility yourself.
  • Not Synced
    And if you put an image, of course,
    provide a text alternative
  • Not Synced
    for the screen reader to give to
    the user.
  • Not Synced
    And keep it simple.
  • Not Synced
    For people with cognition issues,
    but also for blind people,
  • Not Synced
    if there are too many things, too complex
    dialog boxes, or whatever,
  • Not Synced
    it will be tedious for them.
  • Not Synced
    But it's also for your regular users,
  • Not Synced
    if the interface is simple, then
    it will be easier for them.
  • Not Synced
    Quite often you ask
    "OK, but I would like to test myself".
  • Not Synced
    Orca has a braille monitor, so what you
    can simply do is running
  • Not Synced
    "orca -e braille-monitor" to enable it,
  • Not Synced
    and then just work as usual with your
    desktop,
  • Not Synced
    only using the keyboard,
    don't use the mouse,
  • Not Synced
    and then check that whatever you are doing
    appears on the Braille monitor,
  • Not Synced
    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,
  • Not Synced
    and then switch off the screen,
    and then to try to work.
  • Not Synced
    And you are... [they are trying to tell
    something but... Oh sure, sure].
  • Not Synced
    So try to just switch off the screen and
    work, and you will see that it's difficult.
  • Not Synced
    Even developers of accessibility
    who are sighted
  • Not Synced
    don't always do that, and they realize,
    when they do that,
  • Not Synced
    "OK, there was one thing which
    I didn't realize that it wasn't working,
  • Not Synced
    just because I could see the screen".
  • Not Synced
    There is on gnome.org a guide
    for developing accessible applications,
  • Not Synced
    you should have a look at it,
    it's quite interesting.
  • Not Synced
    Then there is Accerciser, maybe you will
    not use it because it's a sort of debugger.
  • Not Synced
    The idea is that it shows
    the tree of widgets,
  • Not Synced
    and you can have a look at the details
    and check the properties,
  • Not Synced
    that the text is really right,
    or whatever.
  • Not Synced
    So you can try to use it, but most
    probably you will want to just use Orca
  • Not Synced
    and check quickly what is showing up.
  • Not Synced
    One last thing, about bugs.
  • Not Synced
    One thing to understand is that the users,
    disabled users,
  • Not Synced
    are in a different situation than you,
    so if they make suggestions
  • Not Synced
    like in a webbrowser, put brackets around
    URLs which are clickable,
  • Not Synced
    then do that,
    at least as an option.
  • Not Synced
    Because it is really useful for them.
  • Not Synced
    You, as a sighted person, wouldn't
    understand why, but they do know why.
  • Not Synced
    And so OK, make it an option,
    and the users will enable it.
  • Not Synced
    It's extremely difficult to deal with
    accessibility bugs,
  • Not Synced
    because it's already not easy for people
    to use your software,
  • Not Synced
    because of hindrance, or whatever,
  • Not Synced
    but it's even more difficult for them
    to report bugs,
  • Not Synced
    because they have some output on
    the braille device or speech or whatever,
  • Not Synced
    and they don't even know
    what they are supposed to have,
  • Not Synced
    because they can not see what is
    on the screen.
  • Not Synced
    So it's difficult for them to understand
    what is happening,
  • Not Synced
    and so it's even more difficult to explain
    what is happening.
  • Not Synced
    So, yes, the only way out is to discuss,
    and take the time to discuss,
  • Not Synced
    it's long but there is no other way.
  • Not Synced
    Remember to ask the user for screenshots,
    they don't necessarily remember to do this.
  • Not Synced
    Try to think about this because
    it's actually easy for them to do,
  • Not Synced
    they just don't think about it.
  • Not Synced
    And try to keep in mind that
    their disability and consequences.
  • Not Synced
    It was quite fun, a few years ago,
    during the discussion with debian-boot,
  • Not Synced
    when we talked about making the
    framebuffer accessible, some person said
  • Not Synced
    "OK, but then if the framebuffer
    doesn't show up nicely, the user
  • Not Synced
    will not be able to reportthe bug about
    the framebuffer not showing up nicely."
  • Not Synced
    OK, but he doesn't care, he won't
    see it anyway.
  • Not Synced
    So that's fine, we can leave the bug.
  • Not Synced
    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.
  • Not Synced
    There are a lot of them all around
    the world, so you can try that.
  • Not Synced
    OK, to conclude: quite a few of
    your desktop users need accessibility,
  • Not Synced
    really need it, in any kind of situation,
  • Not Synced
    so we really want to make accessibility
    mainstream,
  • Not Synced
    and we can do quite some work,
    but we need your help for this,
  • Not Synced
    so you're welcome.
  • Not Synced
    Thanks.
  • Not Synced
    [claps]
  • Not Synced
    [Michael Banck] Thanks a lot Samuel.
    So are there any questions?
  • Not Synced
    [Q] Excuse me, do you know
    the current status of Chinese,
  • Not Synced
    Japanese, and Korean support
    on the Braille display?
  • Not Synced
    [sthibault] So on the Braille display,
    I don't remember exactly
  • Not Synced
    which Braille tables we have...
  • Not Synced
    Korean we have a table for this,
    Japanese, we don't seem to have one,
  • Not Synced
    and Chinese we do have,
    I don't remember where, but we do,
  • Not Synced
    I know that there is a proper table
    for Chinese.
  • Not Synced
    Japanese, I'm surprised that
    I couldn't find it, but at least I think
  • Not Synced
    this is something which already works.
  • Not Synced
    It has improved a lot since the desktop
    went to UTF-8 by default,
  • Not Synced
    so nowadays it's really working, I think.
  • Not Synced
    Not on the text console on Linux,
    because Linux' support
  • Not Synced
    for double-width glyphs is not really good,
    but on the desktop yes, it's really working
  • Not Synced
    [Note of transcriptor: there indeed is
    a japanese table,
  • Not Synced
    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,
  • Not Synced
    on the archive or process, to, I don't...
  • Not Synced
    for maintainers and developers to be aware
    when they push something,
  • Not Synced
    that it breaks a feature, or...
  • Not Synced
    [sthibault] Oh you mean if some desktop
    breaks accessibility support?
  • Not Synced
    [Ksamak] Yeah
  • Not Synced
    Yeah, I was thinking, I've written a note
    about it,
  • Not Synced
    to make these checks on a VM somewhere,
  • Not Synced
    to run it all periodically on
    all the desktops,
  • Not Synced
    and then have a red light in the tracker
    page of these desktops
  • Not Synced
    so that maintainers see that
  • Not Synced
    "Oh, there is a problem here",
  • Not Synced
    and then a link to the wiki page so that
    they test themselves, and then fix,
  • Not Synced
    or at least ask for help for fixing it.
  • Not Synced
    But yeah, that's the kind of thing,
    as usual,
  • Not Synced
    making accessibility not a special thing,
    but just in the usual process,
  • Not Synced
    like all the lights in the tracker page.
  • Not Synced
    [Michael Banck] So I have a question about
    these special widgets,
  • Not Synced
    did you talk to upstream, GTK or Qt,
    suggest to disallow special widgets
  • Not Synced
    if they are not accessible, or is it not
    possible technically?
  • Not Synced
    [sthibault] Sorry?
  • Not Synced
    So you said it's problematic if people
    come up with their own widgets,
  • Not Synced
    and is it, would it be possible to just
    disallow or block it
  • Not Synced
    if they are not accessible, or is that
  • Not Synced
    a technical solution to a social problem.
  • Not Synced
    Yeah, I think that's one of the issues,
    I mean, people not aware of the problem.
  • Not Synced
    It is that the development tools not always
    remind the developer for them, like,
  • Not Synced
    if you run glade, and do an interface,
    it should prevent, give a warning
  • Not Synced
    "You didn't put an alternative text
    for an image", etc. and yes....
  • Not Synced
    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
    [Q] So you talked about you have to turn
    on the accessibility in the installer,
  • Not Synced
    I have no idea?
  • Not Synced
    [sthibault] Sorry I couldn't hear.
  • Not Synced
    [Q] You talked about, during the
    installation,
  • Not Synced
    people might press s or something to turn
    accessibility on.
  • Not Synced
    I think Apple have it turned on
    by default, I mean...
  • Not Synced
    [sthibault] Well, Apple has it available
    by default, yes,
  • Not Synced
    and you have to type a shortcut, I don't
    remember the shortcut for Apple,
  • Not Synced
    but yes, it is available all the time on
    a mac, and on the phone as well.
  • Not Synced
    [Q] Well, I was thinking in a minute,
    it's no big deal for me if it's turned on,
  • Not Synced
    at my computer start...
  • Not Synced
    [sthibault] Wait, when I say turn on,
    that means,
  • Not Synced
    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,
  • Not Synced
    has anybody checked UEFI boot to see
    if that works the same way?
  • Not Synced
    UEFI, if you boot the installer CD,
    I honestly don't know,
  • Not Synced
    I haven't thought to check until just now,
    wheither it works if you boot
  • Not Synced
    via UEFI instead of the old bios.
  • Not Synced
    [sthibault] I think it's really independent
    of the firmware.
  • Not Synced
    The only think is the boot menu
    where we do have to have a beep.
  • Not Synced
    Exactly.
  • Not Synced
    [sthibault] And that's something I didn't
    test myself.
  • Not Synced
    [Steve McIntyre] So for UEFI we boot grub
    instead of isolinux.
  • Not Synced
    I don't if grub does a beep.
  • Not Synced
    [sthibault] grub does have a drive
    of the PC speaker,
  • Not Synced
    so it can beep actually.
  • Not Synced
    I'll just write a note.
  • Not Synced
    [Steve McIntyre] If you can check that,
    let me know, and we can fix it
  • Not Synced
    if it's not working.
  • Not Synced
    [sthibault] Thanks.
  • Not Synced
    And I was happy to notice that
    the liveCD of Debian
  • Not Synced
    actually has the same kind of beep.
  • Not Synced
    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]
Title:
Thanks for maintaining a desktop environment, but is it accessible?
Description:

more » « less
Video Language:
English
Team:
Debconf
Project:
2015_debconf15

English subtitles

Revisions Compare revisions