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, 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]
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