[~3mins blank] 1 [chairman] Welcome everyone. The next talk is by Samuel Thibault, if I pronunce correctly ["yeah, quite good"]. He will tell us more about the accessibility of Debian. [Samuel] Thanks for coming, so I will talk about accessibilty in Debian. Just to give a short answer "how accessible is Debian", yeah, it's quite well accessible, but there are still some stuff to do, so that's why I'm here to see what we can do and discuss about it. 2 Just to give the outline of my talk, I will of course start with introducing you to accessibility because I guess almost nobody in this room has ever seen accessibility problems and then I will give some State of the Art of the current techniques that are used for accessing to a computer, and about Debian: what is already working, what we should do. And what we should do, we don't necessarily know yet, it's about packaging and all things like this, so it will be more a debate than solutions that I will provide. And so the focus is what can _you_ do to help. Please ask questions. This is the first time I make a talk about this topic, so I don't know what _you_ don't know, so please ask me when you don't understand something. And about Debian, please debate, have ideas and things like this. The little green and black thing on top of the screen, don't look at it for now, I'll see it later. 3 So, what is accessibility, which is also known as A11Y? (the usual contraction algorithm) It's making software usable by disabled people. Disabled means a lot of things. Of course, the first example and the one I will detail in this talk is blind people, so people who can't see at all. There are some people who are just low-sighted, and for those people, things that can be done, I'll just show. I won't talk so much about that because I don't know so much... Come on... The problem with accessibility is it's quite recent, so it's quite buggued, anyway... So, those people can still distinguish some things on the screen but not everything, and so having just magnification helps them a lot. So this is the magnification of the Gnome desktop, and for instance here you have part of qemu which is magnified. Of course you can change the zoom factor, so that for people who really have a hard time to see and have to go right at a few centimeters to the screen, they can see better the screen... Let me disable it... So, not only these two kinds of diseases, deaf people: people who can't hear. Err, in a lot of games, you need to hear to be able to kill the monsters etc. Well that's an accessibility problem. Sometimes you have software that makes sound etc., that's an accessibility problem as well. So that's a problem. Colorblind. Maybe you are not aware, I'm just curious: how many people in this room are colorblind, and please raise your hand, don't be shy. I know at least two persons. A third person, ok. So you can see that even in this room, we are not so many [~50], there quite a lot of colorblind people. For this case, things like composite, which is meant for 3D etc. so very visually things, actually can be used for accessibility by just applying a filter on colors to use more distinguishable colors, or just to simulate colorblindness for those people who aren't, just to know how it feels to be colorblind. One-handed. Some people just have one hand, and so usual azerty keyboard is not necessarily so easy to use, and so then you have keymaps for such cases. Finger handed: you only have one finger. Then you can still use a joystick. I will show you the kind of things that you can still do quite efficiently. Eye-handed. You just can move your eye. Still you can use eye-tracking systems that just look at what you are looking at on the screen. And I show you the Dasher application which is quite impressive. You have all the letters of the alphabet on the right, and I start, and I just move my mouse to the 'H', the 'e', and the double 'l', and you see: it's very smart because it knows that a lot of word in english begin with 'H', 'e' and then a double 'l', not only one, so the second 'l' is made bigger. And then "Hello", and I go to the "wor", and you can see the words just making. And I can't remember where... Yes it's here. And that's it. Well I'm not very good at it, because I don't use it often, but people who use eye-tracking systems are really efficient at typing just thanks to this. Elderly people. Well, actually that's a problem because usually they have all the problems. [laughs] And another problem is cognition. Well, of course users are stupid, you all know that, but sometimes it's actually a disease like dislexia, or things like this that don't help at all for using a computer. So I will not detail all of this. There is a quite good howto which is a bit old but that explains all of this quite well, and different kinds of things that are needed. So I will focus mostly on blind people. Unless you have some questions about these disabilities in general? No, ok. 4 So, just a few technologies. Braille input and output for blind people of course, I will detail this later. There is speech synthesis, which is mostly you have text and then you have some software that converts it into something you can hear. It used to be done in hardware, but now it's mostly done in software just because it's easier to give updates, it's less costly, etc. Joysticks, as I said, for people who can just move a finger, or just a press button. Some people can just press something, and then they can still select a row and then a column of a virtual keyboard and then type. So, I will just focus on braille input/output and speech synthesis. 5 So braille devices. I don't have a braille device, because as we will see, they are quite expensive. But I have a photograph here, so you can see... oh no it's not so good... but well, basically, you have a flat line on which you have some pins that go up and down in a mechanical way, and so when a pin is up, it's just like here, you have the little dots that are black, and then for... well it's not so simple, but you can think of it as: for just a little cell like this, there is a letter. So actually this is "Debian" in braille. And so you can just put several cells like this, and put some buttons and then you have a braille device. Mostly it's this: you have a series of braille cells, a few buttons to naviguate, we'll see how it works, and then that's a braille device. So usually they are connected to the computer through a serial line, or USB or bluetooth, whatever, and they have 12, 20, 40, 80 cells... Well 6 How much do you think this costs? Just 24 cells, it's not so much, it's just a quarter of a usual TTY line. How much?... I couldn't hear, ["100¤"] 100¤? ["1,000¤?"] More than 1,000¤, 3,000¤! 3,600¤. 7 A 40? 40 cells... ["5,000¤?"] Yeah, 5,500¤. 8 And this one is 40 as well, but it has a braille keyboard on it, and you can take notes, so that it's just a Personal Computer is a word. How much? ["10,000¤"] Almost 10,000¤. And the price doesn't get down. It's always been like this, for years, for decades. 9 So well, the idea is don't focus on just one technology, just because braille is not perfect, well not only expensive, but also a lot of people can't read braille, just because they got blind late in their life and so it's quite hard to learn something at some point, or just because it's too difficult. Well, anyway, braille is not perfect. Speech synthesis is not either, just because sometimes you are in a train, you don't want to disturb people, or just because you are deaf, and then you can't hear the speech. 10 A common pitfall... well it's not necessarily a pitfall... is to write dedicated software, so that people can use the computer. Well these: emacspeak and firevox, are two examples. Well they are not so much dedicated software, it's an adaption of existing software to, for emacspeak, speaking, and firevox as well. There was quite some work in that, and it works quite great. Emacs is good in that, well you can do everything with it, so people can do a lot of things with their computer thanks to this. Well not javascript sites, so well you have firevox for this. But then you don't have an office suite: opening OpenOffice documents, and so you need an office suite, etc. So you have to reimplement everything. Another thing is: you may also think about writing a webbrowser from scratch that speaks. The problem is that then your webbrowser won't be usable by sighted people and then a sighted person and a non-sighted person can not work together with the same software. And that's a problem: when you work together, you want to show something on the screen, but ah no, because it's the accessible version so you can't, etc. So the idea is: just make the existing applications accessible without having to modify (or as less as possible). So that you can just reuse the huge amount of software that exists, and work together with people. So that for instance here, ideally enough, I should be able to plug a braille device and then on the braille device, you would see what is shown on the screen, so my presentation. Well, for now it's not working yet, but that's the kind of things that we want. And then if I click, that should make the braille device go to that part of the screen. 11 So, just to explain how things are working. 12 Well, in a few words, text mode in general is quite well accessible, just because it's text already, so it's not so difficult to access it. The problem is that of course, beginners are afraid of text mode. So you need to have some gui accessibility. Gnome started being accessible a few years ago. There is still a long road to go, and we are actually quite late compared to the Windows case. Jaws, Window-eyes and etc. have been started quite a lot of time ago, and we are late. But well... ["Why a gui would be less scary for a blind beginner?"]. Just because typing command lines. Some people just can't, just don't want. It's just the same for sighted people. Some sighted people just don't want to use the command line, just because "oh it's too scary to type commands". You can't beat that. ["blind people can not use ..."] Yeah actually, usually I would use text mode, but some people don't, and it's a permanent fight on the accessibility mailing lists, between people who prefer, always prefer text mode, and people who prefer, always prefer graphical interfaces. Just because it's more intuive etc. Even if it's graphical, they find it more intuive. 13 So the very technical part. First, the Linux console accessibility is relatively simple. So you have linux here, with all the applications running on different VTs, and the Linux kernel has an interface so that a daemon, so for instance BRLTTY, can just read what is displayed on the screen, and then show it on the braille device, or speak it through a synthesis. So it's quite simple in that you can just review the screen. 14 There is another way to do it, is to put the reader just between the application and the TTY layer, so that's what yasr does. It is actually a very portable way, because PTY exists in all kinds of unices, so it doesn't depend on Linux, so that's quite good. 15 Now, about the graphical mode, that's kind of a problem. Quite a long time ago, the Mercator project was just sitting between the application and the X server, and getting the text on the way. That works for xedit, 16 but that doesn't for gedit, just because gedit doesn't send text to the server but pixmaps, because the rending is done inside the application. And so here it can't work any more, 17 and so you have to use what we call nowadays the AT-SPI, which is an interface to let a screen reader like Orca access to the information, the textual information right inside the toolkit that is used by the application, and then you can output as braille or speech, etc. So that's basically how you can access applications. 18 So, technically speaking a lot of applications are already accessible. So console, gtk because it presents an AT-SPI interface, KDE4, but not yet KDE3. Acrobat Reader added an AT-SPI interface some years ago, as opposed to xpdf. Xpdf draws the image itself, so you don't get the text. It doesn't yet use AT-SPI, and other toolkits like Xt etc. So this is just about technic. 19 But then in practice, a lot of applications still aren't accessible, just because of the way they work, so for instance here, I have a Linux machine. I'll just make it bigger for you to see... Yeah, I'm waiting for it to reappear. Why doesn't it reappear... Ahh.. Demo effect... Ok. So this is a different layout of keys, that I use for testing because it has a lot of things. And while it's booting I will show you the basic principle of browsing in the screen. Just enabling highlight, so you can see what's happening. So on the braille device, you can see that what is shown is the line on which the cursor is, and you can see that it is highlighted. Oh sorry you can't because it's too low, here it is. And so if I type things, automatically when it goes off, then the braille display follows what happens. Now if I run for instance aumix, which is a textmode application for tuning the audio levels, well by default you get the current level. But if I go down with the arrow key, the braille device doesn't follow, just because the cursor of the application doesn't go down. There is a little '<' sign which goes but it's not useful for the screen reader. So this application is not so much accessible. 19 And this is actually always the problem: just stupid details like this which are needed to fix. Another example here is just a dialog box in which you have fields, and which has labels and fields. What often happens is that you first put labels, and then the fields and then in the screen reader program, you first see the labels and then the fields, and you don't know which field corresponds to which label. And it's just stupid things like this. 20 So just like CSS, just don't think about visual layout, just think logical order. For text applications, put the cursor in the right place automatically, and just talk with the users, to know what would be needed. And if you are crazy enough, just use the accessibility software. 21 So how about Debian? 22 I won't show the Debian Installer because it takes some time, but it just works from the start: you boot with a CD ROM, you plug a USB device, and then it works, you can access it, you can install Debian by yourself, this is really great. You can test it if you want, it's broken but it should be fixed. For now speech is not supported, that would need some support. And adding AT-SPI support would allow a lot of other technologies to work. 23 About the Debian Distribution, just to emphasize the need for text applications. Always provide text equivalents of tools, so please package them. 24 So now, about the ideas. There are already tags: interface::text-mode or uitoolkit::gtk, that already provide a good clue about whether it is accessible. We could add some special tags accessible-with:: which would express that a package can be used through a TTY screen reader, or provides an AT-SPI interface. And even further, you could even have a tag that says, a user tested it with, for instance Gnome Orca, and said that yeah it was accessible. And so for the user he can quite quickly select the applications, the packages, according to what works. Even further, we could add a tasksel element to the Debian Installer that would automatically select the accessibility packages, and tune the little stupid parameters that help accessibility. Or even meta-packages... Well, this has to be discussed, we'll see. 25 And more generally, not only packaging, well please subscribe to debian-accessibility. If you are interested in, please join, please help, a lot of help is needed. We could also for instance add an accessibility chapter to the installation manual. Actually I wonder why it's not here already. But there was also an idea, maybe to add just a chapter to the new maintainer's guide, just like a lot of stuff like internationalization, and things like this. Well this is one of the items that developers should be aware of. 26 And even more generally, please be kind and patient with blind people. The problem is that it's difficult for them to use the software, it's even more difficult to explain the problem they are having. For instance, you may, I said it a few minutes ago: "braille doesn't follow". That doesn't mean anything to usual developpers. Please just discuss, forward to the debian-accessibility list, so to get some other people, and understand that it just means that the cursor of your application is not put at the interesting place, and so the screen reader doesn't automatically knows the place that is interesting. So it's just as simple as this. And, yeah, you can contact your [local] blind institute if you maybe want to discuss with people interested in computers, and Debian for instance. That should help a lot just having free software in the blind community, and as well, have blind community into free software. 27 So just as a conclusion, so accessibility is important. Debian is one of the leader in accessibility, but we should do better, I think. So you have all sorts of resources on a website which is not only related to debian, so that's why it's not on the debian website. So that's it. If you have questions, please do ask. [What is the recommended way to get Orca to work in Debian at the moment, there is a gnome-orca package] Well you can just install the package. The problem is it's relatively old. I mean, the gnome-orca software is being developped really really fast, and so... To make it simple, just install the package, and you'll have a not so old version, but still a bit old. If you really want to get the latest version, you have to reinstall gnome by hand, mostly. Just because to get the latest fixes, accessibilty fixes, you need the newest gnome version, etc. That's kind of a problem, but at least the simple solution exists, yeah.