Freedom #0 for everybody, really? Samuel Thibault, Jean-Philippe Mengual Slides available on http://brl.thefreecat.org/ {Samuel Thibault} [Slide 1] So, good afternoon... So... We will actually be talking about freedom #0. And the question is: are we really providing freedom #0 to everybody? The slides of the presentation are available on the brl.thefreecat.org website, and there is a website which is still being built, to discuss about this, all this, we are not sure whether this list will be in French or English, we can create other lists, it's completely open, and just starting, so we can discuss what to do about this. So, are we really providing freedom #0 to everybody? Well, one answer would be that we may be failing by 10 to 20 percent, actually. Where does this figure come from? It's a poll asking people "in your everyday life, are you having major issues with... whatever, in whatever situation of your everyday life, do you have a major problem?", and 10 percent of the people would say "yes, sometimes I have major issues". And 20 percent would say "yes, I have minor issues or major issues". So it's like 1 every 5 person that has really problems. This is about everyday life, so it's not only about using computers, of course, so it can be moderated. But, I'd even say, it's actually a 100 percent, I will explain more a bit later. [Slide 2] Let me just take a first example. This is Gnuplot, I really like Gnuplot. What is the problem with Gnuplot? Does anybody have an idea? Exactly. I would like... Yeah, the problem is for colorblind people: the curves, green and red curves, are almost alike. In the practice room at the University, I've heard one of my students asking another one "Which one, which curve is the A curve?" and the other one would say "Well, it's the green one", "Ok, but which curve is the green curve?". That's really a problem. I would like to show you: how many people here are colorblind? Please raise your hand if you can not distinguish some colors at least, so there are 4 people over, like 50. And indeed 8 percent of the male people are colorblind, that's huge. So this is really just a simple example, and you see, you didn't even know that your neighbour was colorblind, and he has troubles with using some software. [Slide 3] So, the outline of the talk will be that I will introduce a bit to accessibility and give a short technological overview, essentially to explain that the problem is not really technical, nowadays. It used to be, but now we know how to deal with that, and the problem is more about integration, documentation, etc. So that will be mostly the discussion, and I will present some of the ideas that we have, but then we want to discuss with you, so you will take the microphone to discuss. About the technological details, you can have them in a video that was recorded at LSM 2010, which is called "How to make applications accessible?". There are other videos, but this one I have presented, so I know what is there. [Slide 4] So, what is accessibility? To put it simply, we can say it's making something usable by people with specific needs. Now what does that mean, specific needs? Of course, blind people is the most obvious example of people who have really a strong problem with using computers. People with a low vision, they can see the screen, so they don't necessarily need a braille device or speech synthesis, they need bigger characters, maybe they need better contrast, and things like this. People who are deaf, most of the time it's really not a problem, well you need to use the visible bell instead of the audible bell, but mostly it's quite fine. But then you want to play a Shoot'n Up, and you can not hear the monster behind you, and so you can not really play the game because it's too difficult. Colorblind people, we have talked a bit about it. A friend of mine told me "this game I just can not play it because I can not distinguish what is good, what is bad." People with just one hand, if you have ever tried to press control-alt-delete with just one hand, you know that it's really a problem. People with cognition disorder: dyslexia, which is relatively known nowadays. Something much less known is attention disorder, which doesn't show up when you discuss with people so much. But with using software, it's really a problem, if the software is complex or needs to deal with a lot of things. Problem of memory, etc. People with motor disability, for instance people with Parkinson would tend to press keys several times in a short period, so they need compensation for this. Etc., there are a lot of things. Elderly people have mostly a bit of everything. Elderly people means you, withing, twenty, thirty years maybe. To have a more global overview of this, there are accessibility HOWTOs who discuss a bit about all these. I would like to emphasize on "you". Maybe not now, but maybe next year you will break your arm, for whatever reason, and then... you have only one hand to use your computer. And so you become disabled. Maybe for just a couple of months. Maybe you'll have an accident, you'll become blind. So it's actually a problem of everybody. So not only a handicap depends on the situation, that is deaf people, most of the time they don't have a problem, but it also depends on "when", and it's not necessarily permanent. [Slide 5] Ok. I will present a bit about the hardware that people use. So there is braille input and output. So Jean-Philippe has a braille device. People interested in that will be able to see that. Speech synthesis, so the computer can talk. Joysticks permit to replace the mouse with something which might be more usable by some people. Some people might be able to only press a button, not even type on a keyboard, just press one button, and so you should show a virtual keyboard, to be able to press on whatever keys you would need. You can track the eye, if you can not move at all, just the eye. There are a lot of hardware. [Slide 6] The important thing to understand is there is no single solution, even for a given disability. Braille itself is not perfect. Probably you don't know but a lot of blind people can not read braille. They haven't learned it, and they might not even be able to learn it. And braille devices are extremely expensive. Think about thousands of euros. Speech synthesis, which is the other classical thing used by blind people, is not perfect either. Just because it might be a noisy environment in the train, etc. But also think about writing code, source code, with speech synthesis: you would have to get the parentheses, plus, etc. spelled. It's really tedious, tedious, in some cases. When you are writing text, that's less of a problem, but in a lot [of] cases, it's really a problem. So there is nothing perfect, and you have to deal with both, even, sometimes both at the same time. [Slide 7] Another thing I would like to explain is: writing dedicated software is usually not so good an idea. For instance, there is Edbrowse. This is a blind oriented editor and browser, so it's completely in text mode, it works quite nice. Now it's really oriented for just one disability, so it doesn't help people with motor issues, for instance. And the problem is that, then, this is a Web browser, so what about javascript support, flash support, table support, etc., etc. Will the maintainer really spend the time on implementing these? And, what's more, maintain all this? So we have a problem of manpower. And a third thing, which is difficult to understand, but really important: disabled people and non-disabled people have to work together. It's important for the disabled people to get integrated into our society. So they have to work together. And not working on the same software is really a problem, because one will not be able to ask for help to the other, and vice-versa. Or when they are working on the same document, if they are not using the same software they can't understand each other, because they don't have the same vocabulary, the same way of showing things, etc. So this is really important that we use the same software, and that means making *existing* software accessible. [Slide 8] So, to give an idea of the current status. Text mode is generally quite accessible. Just because it's text, so it's easy to make screen readers around it, to render on the braille device etc. But of course text mode applications are not so suited to beginers, and you all know people around you who wouldn't ever use text applications. Well it's just the same for any kind of disabled people. Gnome, so graphical interface which would suit some beginers, is quite accessible. Now I have to say that gnome3 was quite a disaster, it was a huge regression, and... nowadays it's not too bad, but it was really a restart, a restart from scratch. Now, when you compare to Windows, we are essentially late, that is, we started like a decade ago, while they started several decades ago. Compared to the Apple world, we are really Stone Age. Apple integrated support for speech synthesis with screen reading, which really works completely great. They even have, in their Apple stores, afternoons dedicated to teaching how to use the screen reader, to elder people. They have made an effort that Microsoft never did, to really entackle this issue. And, even if Apple products are essentially binding you to Apple products and removing freedom from you, they actually provide a lot of freedom to a lot of people, just because then, they become able to use the computer. And I have to say that the free software doesn't provide so much freedom, in that regard. [Slide 9] So, a technical part. So we have an application which has an abstract representation, gtk representation for instance. And then we have a visual rendering. What happens usually is, we have a screen reader, which through some bus, will access to the abstract representation, to access the text, the buttons, how this is structured, and then it can render all this on a device. Be it a braille device, a magnification window, whatever. And that's a good thing because then it is generic. [Slide 10] So, just to give an example. We have gedit, which uses gtk, which uses pango to render the text, and also uses atk to expose this text to the screen reader. So it's really text which is propagated over the accessibility bus, and then rendered braille, speech, etc. [Slide 11] So, technically speaking, a lot of applications are already accessible because they use gtk, etc., so the console just because it's text, gtk of course. KDE, there is some support, it's no so well for now. It's a matter of spending work on this. Adobe has made Acrobat Reader accessible, they have implemented the thing to expose the text. A lot of other applications are not accessible because they don't expose the text, etc. so KDE3, Xt applications (the good old ones), self-drawn applications, for instance xpdf draws the text itself, and it's... this text is not exposed to the screen reader, so it's not accessible, technically speaking. So we have a lot of technically-speaking accessible applications. [Slide 12] The problem is: it's not enough, to make then really usable. For instance, we have a dialog box here, so we have a label, we have a label, we have a label,... we have a field, we have a field, we have a field, Ok. When I'm typing here, how do I know what I am supposed to type? I have to go back to the label, which one was this, the, the, oh the third one, Ok I start, ... it's a mess. What's important is that, you have to structure your application logically, so we have a label *for* a field, we have another label for another field, etc. And, that way, the screen reader can know what to relate with what. When that is not the case, that is, a mess of widgets, what people do is using some scripts, that they insert into the screen reader to explain the screen reader: "Ok, this a mess, but actually this relates to this, etc. etc.". So people do this because modifying the application is not so easy, so they prefer to patch around, to fix the browsing. [Slide 13] So, to summarize, the idea is not necessarily to make applications accessible, but rather to make accessible applications, from the start, that is, when you think about the application, you make it logically, configurable, etc. And when it's done from the start it's really not much a burden to think about it. You have to train yourself into thinking about it, but that's mostly it. Then, when you code, that's fine, you choose the right way of doing it. Well, of course, that doesn't mean that you can not fix your existing non-accessible applications, you can modify them, it's just a bit hard because, for instance here [back to slide 12], you have to rethink the way you have built your dialogue box. Ok, so this was the first part describing accessibility, a bit of the notions of what it means. I give the microphone to Jean-Philippe, so he can make some demo, just to show you how it looks like. [Jean-Philippe] Well, good afternoon everybody. Good afternoon everybody, so to explain what I'm going to show you, is to show you the situation of accessibility in, well, in the modern world. That's to say I've started promoting GNU/Linux and all the free world, and free software world for blind people and for people who have an impairment, when I've discovered that the graphical user interfaces were accessible because it's that the users, the classical users, the basic users, what I call the basic users, like to use, so it was easier that I could show them that it's not mandatory to know some command line in order to use the computer, but they can use it from the graphical user interface. Well, on gnome2, the situation was fine, and we can say the accessibility was... was not perfect, but was satisfying, alright, at least. We could for example access to applications such as Evolution, which enables the user to read the mails. Also we could access to Firefox, or for example for LibreOffice. And for the desktop it was very easy to have some keyboard shortcuts in order to dialog with the computer, because when you have, when you are impaired with eyes, the problem is that we can not use the mouse. Then, gnome3 is today here, and the situation, as mentioned Samuel, has changed very much, and today, we have to find new solutions to have something which is usable. So, what I will show you now is, to explain, I've said to you that Evolution was a mail reader which was accessible. Today, you will see that it is not accessible any more. So it's to show you how there was a regression between the two releases of the software, these recent years. Then, we're going to see that fortunately there are things which work, for example, Thunderbird works very much, and, I know in the free software community this environment doesn't... is controversial, but Unity is today a desktop which works, and fortunately we have applications which were accessible and which are always accessible, which are still accessible, for example you have LibreOffice, we're going to see a bit how it works. So, to show you, I choosed to use a free speech synthesizer. To be very honest, in my daily life I use a proprietary speech synthesizer because the free speech synthesizer is not of a big quality. However its main advantage is, there is several languages, a lot of languages. And so it's light... It is a light synthesizer, and with several languages, so it's a real benefit of this software. So it's Espeak, I think you know Espeak. Well, just doesn't work, of course... Demonstration effect... {Boite de réception 1 total Evolution} So here we are in Evolution, and we are in "Boîte de réception", in English it was the "Inbox". Usually, we could with Orca see what is under the focus, and so we have the information to see where we are on the screen. So, for example, when I go there, Orca should read that I am on the "Sendbox". Actually you see that it's not the case: Orca, for some reason, I don't know, is unable to read such information. If I try to write some message, the menu bar is accessible, that's to say I can go in there with the keyboard {Nouveau sous menu}, and I can browse in the menu bar through the keyboard, and here the information, that's to say the items which are included in this menu bar {Nouvelle fenêtre} {Archiver les données d'Evolution}. New window, archive the data. {Restaurer les données d'Evolution} {Importer} Import etc. etc. But I don't know the title of the window where I'm today, and I don't know also exactly where I'm located in the window. And of course it's a problem because, with that it's of course difficult to use the application, simply. Anyway, so it's show you that Evolution which was an application which before worked very much, because we could just see where were the focus, the title of the window, today is not accessible any more, and the... I think it's not usable for everybody, and it's a bad evolution that is known in all the tickets which are submitted today. Well, let's exit this application, let's see the desktop now, and an accessible application, that's to say LibreOffice. So I'm going to use the launcher, which is the bar which is top left of the screen. So it's accessible with a shortcut keyboard. {Notification. Public anap.} The screen reader reads also the notification which are in the notifications bar, that's very useful, especially in modern desktops where in this bar there are a lot of information. {LibreOffice writer.}. It words LibreOffice Writer, the name of the application, and the status of the application. It's also a useful information, that we don't find today in some other desktops, such as gnome3 for example. {Sans nom 1 LibreOffice Writer.} In this application, I can say easily that it's fully accessible, for various reasons. Firstly, everything can be done with the keyboard, and we can have all the content of the screen by the assistive technology, here it's the screen reader Orca. For example, if I want to know the title of the window, I've a shortcut which works with Orca, and {Notification.} which has the expected effect because the application is accessible. {Plus. Plus. Plus.} {Sans nom 1 LibreOffice Writer.} And there it told LibreOffice Writer, so I know where I am. If I write some text, {If. I. Write. Soe. Text.} I can read it. {Mal orthographié. Text}. {Mal orthographié. Soe}. {Mal orthographié. Write.} Of course, there is a problem with the spelling because it's not the same language, but... Well, anyway it works perfectly. If I need to go in the menus, it's easy, for example if I... let's try the open dialog. {Fichier} I can move in the dialog without any problems with arrow keys {Image Documents} {Image, Image Documents} {Image Image Musique} {Image Images} I can see and browse in the various items, know what they have, and so there is a full interaction between all the items and between the user, and between... the user and the application. {Bouton. Fichier.} {Choisir Tous les fichiers} {Type de fichier} {Lecture seule case à cocher non cochée} {Annuler bouton} {Ouvrir bouton}. So, to show you the situation now, the focus is the main thing important. And it's important that the focus... to be able to know where is it, and what information is a label. And here we can say that every information is accessible. {Nom de fichier} {Indiquer un nom de fichier} {Emplacement. Text}. So we have several kinds of information, we have one information to tell us the content of the object, for example "Enter a file name", or "Open", when we are here, for example. {Fichier menu} {Nouveau menu} {Ouvrir point de suspension} We know, for example here, that the focus is on open command and Orca says also the characteristic of the command, so we know, for example, that it's a command which generates a dialog. {Nouveau menu} Here we know that it's a command which generates a submenu, so there is the contents, and there is the characteristic of the command, the behavior of the command. Well, so it shows today, that in the free software, I think today there are some things which stay usable of course, for people. However, when we see the recent evolutions of the graphical user interfaces today, we can say that there is some progress to do, and there is... we have to stay very careful, because things are changing, things are becoming very visual, and it's of course very important. So that's the... free software could be compliant with the freedom to, to, for the user, to run the application, and so that every user can run the application, and can have benefit with this freedom. Of course it's important to be careful with this question of accessibility, and this question of... because the risk if don't that, is that some users will say, well, I prefer using Mac, MacOS, like iPhone, because at least here I'm free to use my computer. Of course, the free software has got a free license, but at least I can do everything, and so I'm free to use my computer, whereas with free software, such as Linux, such as GNU/Linux, and such as the Hurd, GNU/Hurd for example, I can not, because most applications are not acccessible, and have a lot of problems. And for lambda users, of course, the usability is absolutely essential. For people such as you, and such as I, it's not so much problematic, because we can use alternatives, we can use command line applications, or other applications which could represent a workaround, so it's not a problem. However, for lambda users, and I think free software is today for all of our society, because the GNU project is a society project. So if GNU project is a society project, it's for everybody, and if it wants to be for everybody, of course the applications that it produces should be accessible, and it's probably the main thing we have to be careful today. Well, if you have questions about all that, or if you want me to show you something, or some manipulation, or some, some tweaks, of course don't hesitate, and I'll be happy to, yeah. [Slide 15] Okay, so, so as Jean-Philippe said, this is all about freedom #0. So, freedom #0 is a freedom to run the program, for any purpose. But now what about being *able* to use the program? We discussed with Richard Stallman about this, and he said that "yes, accessibility is a desirable feature". Is it only desirable? Shouldn't we make that a priority? He also said: "well, this is free software, you can modify it, and then you will have the feature." That can not happen. I will explain more in a few slides. [Slide 16] It's actually a question of freedom. Is it a legal freedom, freedom #0? Or is it a technical freedom? Or is it about people, being able to use the software? In the past thirty years of GNU, we have pretty much succeeded on the legal and technical aspects of freedom #0. But now, we see that it's not so easy, and maybe we need to focus on the people, and usability for everybody. [Slide 17] Interestingly, in last november, Vint Cerf wrote an edito in the Communications of the ACM, whose title was "Why is acccessibility so hard?" That was huge, in that, here somebody like Vint Cerf, shows the problem in the Communications of the ACM, [and it was at] the top [XXX] text of the communication, so this was huge, and it's also frightening, because Vint Cerf is somebody who, basically, invented the Internet, with a really bright vision of what can, of how to do it, etc. And on this, he has a few ideas, but mostly he doesn't know. So with friends of mine, we have been working on this kind of issue for, like, ten years, and we have some answers to this thing. But mostly it's not about techincal things, it's mostly about integration and, a few things I would like to discuss with you. [Slide 18] So, first, it's a question of priority. It's a bit like internationalization, actually. As I've understood, internationalization, in the GNU project, is a "should" in the Coding Standards. And on [integrating of] a project [into] the GNU project, it's almost a must. If you don't have [internationalization], you have to explain why [not]. Accessibility should probably have this kind of status. Of course we have to document that in the coding standards. I would say that, at least it should be a "should" ; it could even be a "must" in that, all applications, GNU applications, should be technically accessible. Which is not really hard: you use gtk, you are a textmode application, then you are technically accessible. Being really usable is another question, but at least, technically, it works. So it's a question of making it a priority. [Slide 19] Now it's a question of doing it. Because of course, OK, let's make the application accessible. The problem is that people concerned with accessible things, it's just a small fraction of the population. They already have a hard time using computers. So modify an application, like, I don't know, OpenOffice, it's really too difficult. And so finally, people with both disabilities and the programming skills to modify the software for everybody else who has the same kind of disability, that won't work, because the probability of finding somebody like this is below one person, so that means nobody actually. Well, you can find people with awareness of the issue and programming skills, there are some, but it's also very scarse. So the sentence "This is free software, you can modify it" doesn't actually help, that doesn't work. So for me it's clear that the support for accessibility has to be integrated and maintained by the maintainers themselves. The tiny accessibility community can not modify all the software in the world, that's not possible. [Slide 20] Now, the question is "Ok, I make my application accessible, how do I do it?". So as we have seen, there are extremely diverse needs, so we can not do everything for all kinds of disabilities. We have seen that there are some generic ways of doing this, which is already supported by the toolkit you are using. But then you still have some work to do to at least, build your applications logically, so that the screen reader can find out how the thing is built. And so I said, make accessible applications from the start, structured logically, and that will work quite nicely. And actually, this is a good thing, to take the time to do things in a good way, because overall, you will have a good design, which will make the thing more maintainable. And even for all users, it's good to have a good contrast, to be able to change the colors, etc., to have the tab in the dialog box in a nice order, etc. [Slide 21] So, for me it's a question of making accessibility accessible. That is, "how to make accessible applications?", this is a communication between a very few number of people to... everybody, all the developers. So very few to many. So how to do that? I'm not sure... Well, we can document. There is documentation already. We have a HOWTO which is quite old but completely valid nowadays, but it's mostly unknown. Almost nobody knows about it. So should we make talks at conferences? Probably. Integrate into standard procedures? I believe that's one of the important things, to make sure that everybody, at least at some point, sees the thing, and gets interest in it, just because he is forced to, at least, to make... to integrate the software into the GNU project, for instance. For instance in Debian, for the Debian Installer, we have documented the way to test for braille support, and this is among the things that the maintaining team uses when they release something. So it's integrated into the release process. So, for testing, actually usually you don't need a special kind of hardware. Of course, the kind of testing you will do is quite basic, but this is already a really good thing, because at least the basic things work, and technically it works, then the details can be handled. [Slide 22] Just a point on the side, you all know that, when you get a bug report "This is not working", it takes a lot of patience to get the information etc. When you have disability in the middle, it's even more difficult, because the user isn't even aware of what he is supposed to see. And the developer is not even aware of how he is supposed to see that, because he is not at ease with the kind of software that Jean-Philippe has shown. So the discussion is really difficult. So, patience, discussion, maybe finding some intermediary who understands both sides. Of course, this kind of people is scarce, I'm not really sure how to deal with this. [Slide 23] So, ideally we should have accessibility everywhere, that is when you go to the library, the airport, the university, etc. you sit down, and use the computer. You don't want to have to ask the administrator "Well, please install this software and configure, so I can use the computer." Well, first because the administrator has no clue how to do that, and the user doesn't want to have to find out how to reach him, and wait for the thing to happen. So it should just be installed by default, ready for use. Ready to be triggered, whatever way you can have, shortcuts, plugging a USB key, whatever. But that means a really close integration into the existing system. This is something that we managed to achieve in the Debian Installer: when you plug a braille device, then the installer starts the braille screen reading. And the same for speech synthesis, you press 's' Enter, and then you have speech. It took like two years, to get this. Because integration is hard, you have to make compromises[, discuss]. In the end, now it is part of the process of the release of the Debian Installer, so it's done, [and it's] the maintainers of the Debian Installer, who will maintain that. So that's, I believe, one way to manage to have things happening, and keeping working. [Slide 24] So what to do? I don't know... There is a mailing list, actually, which had some mails some time ago, then the discussions petered out... There was that flame about proprietary speech syntheses vs free ones, we have seen... we have heard what it looks like. Maybe we should revive it and discuss? At least, what's sure is, raising awareness here and there, document things, integrate into whatever exists, because it's really a transversal issue. [Slide 25] And so now, I would like to discuss with you. This is just a summary: we want accessibility everywhere, there's a question of making it a priority, anyway it benefits a bit everybody in the end, so yeah, let's do it, but who will do it, I've said, it should be maintainers, so the question is, how to make that in the end, it is a question of making accessibility accessible to everybody. There is the problem of communication between developer and user. But in the end, it's for freedom #0, so OK, what should we do now? So there is the microphone, so people can talk. 00:45:17 {{Andreas Enge}}{Are these accessibility features available across GTK and KDE applications at the same time, or do you have to decide for one kind of the desktop?} No, it's at the same time. The accessibility bus is the same for both. They *managed* to agree on that. It took like 5 years... 00:45:42 {{John Darrington}}{Well, on the question of whether you should revive the accessibility mailing list. My opinion, my very inexpert opinion is, I think, if you want to follow your goal of making accessible applications rather than making an application accessible, perhaps we should *not*, instead we should propose discussions on the main mailing list?} Yeah, I agree, putting discussions on the side means that it doesn't go through the rest. Yes, this a danger, really, there are a lot of, well, debian, redhat, ubuntu, etc., they all have an accessibility mailing list, that's a way that they have their corner where they discuss, and it doesn't go on the other lists. Perhaps, yeah. 00:46:38 {{JD}}{And the other thing I've actually tried occasionally on myself [XXX], is: hey, guys, just try when you get the time, just use your machine blindfolded, and see where you go... Try out orca, and try hard to..., I mean, stay, whatever, with the eyes shut.} That doesn't work so well with geeks, because geeks are able to type without looking at their keyboard, but yeah :) 00:47:09 {{JD}}{Yeah, to type, but otherwise, you... to, say... interpret what's coming back. Yeah, it's an idea, you get some... you get some interesting... problems, from that.} 00:47:39 {{José Marchesi}}{[...] for the agenda for tomorrow for the assembly} Yeah, we can discuss about it tomorrow, yeah. 00:47:44 {{José Marchesi}}{and not only discuss, but also if you have an interest for working on it, to prepare a first draft, of what you would like to see in the Standards, maybe also the maintainer's guide, that doesn't mention accessibility. [...] And the evaluation form, exactly. We can discuss about it tomorrow.} 00:48:08 {{Brandon Invergo}}{Yeah, so I'm interested. I think the only way it's going to happen, is a small group has to form, and they just have to do it, basically. You know, I mean I think the advisor council will agree to it when it's done, I don't think RMS will argue against it, but if it's done, what he gonna say? [...] Exactly, but there is, I think, the top [XXX] thing would be updating the Standards document, so maybe just writing a whole chapter on accessibility, updating possibly the maintainer's document, to include this information. And then we just have to figure out, so, in the evaluation form, we have to check that the project uses gtk, so then when that is not, whether it uses atk or any other form of accessibility, and it's almost impossible that a new project that doesn't use gtk for the graphical user interface will get accepted, almost impossible. So, I mean it's a very small step in that direction, and nevertheless it needs to be done!} At least to raise the awareness. {Exactly, but I think if you have this, if you have a team that gets this thing ready, who is gonna say "no"?} [...] Yeah, I will work on a draft, yeah, a few points. We already have the same problem in Debian, so I already thought about this in Debian, so... 00:49:35 {{BI}}{And then the team obviously will still be helpful to, when individual packages need to make their changes, then someone will go to say "I have no idea how to do this".} But the resource is scarce, really scarce, but yes! 00:49:48 {{BI}}{Yeah, no, I understand... I'm not saying that the group would have to implement it for them, but someone to ask whether this is working, are we doing this... what are we missing, maybe we didn't think of a particular problem that's in the software...} But I mean we have to teach some other people also. 00:50:04 {{BI}}{Of course, of course. You are not going to actually do the development on their behalf, you just have the maintainers to do it. But I think it will help, to just give a info, "this is how you do it". And answer a few questions.} 00:50:27 {{Christopher Dimech}}{I want to make two comments on this, because I tried to use, I don't have disability, but I tried to use Orca, and it's almost impossible to follow. I think one thing to realize, so this is my second point, is, the good thing to realize is the benefit that people without disabilities can have with this technology. I've tried to use technology for people with disabilities like that, to increase productivity, for people with no disabilities at all. Especially when I have to go through for example publication, research publication, for the last ten years, during a week-end. If I have to go, to read through a lot of material that might not be relevant for me, it's a lot of waste of time. So I can spend like three days trying to read five papers, and five [XXX]. So I would like to listen to the text file, so I convert all my papers in text file, to be able to listen whilst I'm doing something else. And that saves me a lot of time. So if we can get people that do not have any disability, but to see how we can also improve our performance, and I think that would be very useful.} Well, one interesting thing is, we have some very good speech synthesis which is almost free, that's the one that google has put on the Android. Why? Because it benefits everybody. When an accessibility technology becomes broadly interesting, then yes, it actually happens. 00:52:30 {{BI}}{We have a speech synthesis program, and I think it's GNU speech, but I don't know if it's used for accessibility, I think. There's no, say, a research project.} I don't know that one. { And it hasn't seen a release in a while, but... Sorry? No, no, not speex, that's an codec. No, I think it's speech, GNU speech, yeah. So, I don't know if it's usable, I've just seen it. Maybe that's just a basis of a speech synthesis.} Probably it's just a matter of plugging it into Orca. 00:53:09 {{JD}}{Is there a group that you know of, that is an expert on ATK, and can give advice on it? Because I couldn't find any a few years ago, actually.} Well, it should be the gnome accessibility team. {Yeah, yeah. I think I tried that, but didn't get much... response, you know.} The documentation is not so good. {Yeah.. Yeah... Anyway that was a problem that I had, I couldn't work out how ATK was supposed to be used, and some instances.} One of the issue is that gnome is mostly the only user of ATK, so they don't necessarily care about documenting it, since... almost nobody else uses it. {But you know, they are encouraging people who have their own widgets. When you are writing a GTK application, sometimes you have to write a custom widget, and when it's anything more than an extension of a standard widget, then you... yes, you have to write the necessary ATK interfaces, and I couldn't work out how I was supposed to do it.} 00:54:24 {{Ludovic Courtès}}{A slightly more technical question, I think the audience share is biased towards command line and programming interfaces, is there any particular recommandation that would be made, or?} Say it again? I couldn't catch... {I think most of us are biaised towards command line interfaces, and so is there any particular recommandation you'd make for accessibility?} Oh, for command-line interfaces? {Yeah} Usually, when it's just "I type a command, I get an output", that's completely fine. Except that with speech it's not necessarily so easy. For ncurses-based text applications, then you have the whole structure of the screen. Technically it's accessible, because it's just text. One important thing to do is to bring the hardware cursor where you are working. For instance, in mutt, by default, the selected line is just a highlight, and the cursor is at the top, the corner. [...] Sorry? mutt, the mail application. And so, the screen reader doesn't know where it should go, and so, there is a patch, to just bring the cursor on the line which is currently selected, and it becomes a lot more usable. So it's this kind of detail, which is useful. There are some guidelines on my own website, but also the accessibility HOWTOs. 00:55:56 {{LC}}{And, like for instance, Jean-Philippe, do you use command line applications? Could you make a short demo, just to give an idea of how it works? If it's not too difficult.} {{JPM}}{Yeah, I use... I use text applications, I... To be honest, the distribution I'm using today is a distribution I reinstalled one week ago [giggle]. So far I used Linux From Scratch, and I use essentially command line applications, but Vinux has a command line interface, so we can use it...} [Login incorrect] So you can hear that it is speaking what is on the text console, already. [Login] Yeah, it's a french accent, and speech syntheses in french are horrible. [Login] [v i n u x] [Last login] 00:58:09 {{JPM}}{Today, we can use the terminal, the command line, two ways. The first is through a kernel module which is speakup, which enables to connect what's output from the kernel to the speech synthesizers, so it can be espeak, or another speech synthesizer, only we have to... we need some connector. Second way, we can use Emacs, eh yeah, Emacs [giggle]. Because there is a module which is speech-el which enables to have the whole buffer, for example when you use the shell mode. In the shell mode you have all the buffer which is available for reading. And so you can enter the commands from the keyboard of course, as when you do that then, you can read the information, because the Emacs cursor have the same behavior as a classical focus. So even as is it is the information. So we can easily use the text command, because the task for the screen reader, in braille or in speech synthesizer, it's easier than the graphical user interface. So it's easier to use the console for this reason.} [sudo brltty] [BRLTTY] [sudo killall brltty] [ring down tune] [sudo brltty] [BRLTTY] [sudo killall brltty] [ring down tune] [sudo brltty -b eu...] [BRLTTY] [ring up tune] {{ST}}{So he will enable a feature which shows you what he is reading on his device, so you don't have to see what's happening here, you'll just see what he's reading. We just need to find it again... Well, in the meanwhile, maybe people have comments or questions...} 01:01:27 {{Y}}{Does not the logical programming thing be also linked to the thing of semantic development that we will... that we see in web development, and all the thing of semantic computing? Like... } I'm not sure what you mean by semantic computing? { The thing to make things semantic instead of graphic, or text row, like in web... A thing of factorizing interfaces, is like that, ala internationalization.} All the usual software engineering recommandations, are usually in the good way, that is factorize your code, put your code into libraries, so that you can have both a text version, and a graphical version. And what you said, indeed, one of the important thing, when you are designing a graphical interface: don't make a two dimension design, make a logical design, a semantic design, actually. Because then, the structure, the semantic, and a screen reader will be able to find an order in which speaking. {Because the fact is, here, in the TTY it's... it isn't really semantic, because as we see, then the speech synthesizer thinks that "Login" is a french word. In html, there is not this problem, because all elements have a lang attribute.} Yeah in documents, and on the web, quite you often you can find the attribute that will tell which language it is, and then switch the synthesizer. Here, the text console doesn't have this kind of information, and that's why you don't have the language. But also, you have all kinds of information which is lost that is, which text is actually new, things like this. Ideally we should have a lot of information which is kept along it, but... I don't think that might happen on the text console. [...] In Emacs, however, you have the information, and that's one of the reason why emacspeak does work which well. 01:04:26 {{JPM}}{So, well, I've enabled the feature BRLTTY, which is the screenreader which enables to have some braille, to take the information which is available in /dev/vcsa and which goes to the braille driver, braille display through some driver. So, as you see, with the gray rectangle you have on the screen, it's the place where the braille display is located, so the braille display is able to display, to show a half of a line in the screen. That's to say about fourty characters. So, for example, in the line you are seeing, you see that I only see one part of the file name. I don't see the whole file name, because it's larger than half a line, it's, well, about fifty characters. So I need, to have the remaining of the line, to press a key and to make change the contents of the braille display, so that I can access to all the information. And it shows that the braille display is really bidimensional. So we only see a part of the screen, and to see all the screen, we don't have a global sight, but we need to browse in the screen, from top to bottom, and from left to right, so that we get the whole content of the screen. So I try some editor, nano, where you can see there is a difference between the focus, which is here, and, well. So on the braille display, there is what I'm writing [I'm doing some test], and there is where is located the cursor. But if I want to have the whole information, on the places where the cursor can not go, for example at the bottom of the screen where there are the shortcuts which are mentioned, I have to use other keys, to move only the view, and not the write cursor, because the focus is unable to move here. And for that, I have some keys on the braille display, which enable me to see the other parts of the screen. Now, we're going to see that the window, the braille window, *follows* the cursor. For example, if I write a long text, it will follow... the window, the braille window, follows the cursor. [I'm present on the GHM and I'm happy to see that there're a lot of GNU devs] You see the braille window really, really, follows the focus. There is the possibility to stop this tracking, this track. However, by default, there is this track, and it allows to know permanently where is the cursor, where is the focus, and what happens on the focus.} {{ST}}{And also, an interesting thing is that if I want to show something to Jean-Philippe, I just need to move the cursor there, and he will see that. So that's the way you can work with somebody else, because it's the same software, and we have the same view of it.} {{JPM}}{It also works with Orca in the graphical user interface. It works also, it's a little different, it works a little differently, but there is a braille monitor, which enables to see in a part of the screen, top left, top right of the screen, err, top left, yes, what is contained in the... the content of the braille display. We see very clearly, for example, the name of the application, and the description, for example: new, submenu, to see that it describes the name of item, and what is the item, for example, a submenu. And we see all this information which has displayed by the screen reader, which has displayed in the braille display, and which are displayed in this braille monitor, to show also how it works. So, in the test, even if you don't have the hardware with you, you can do some tests, it's possible with Orca to do that, thanks to the braille monitor.} 01:10:10 {{JD}}{Could we, just I'm very interested, could we just have a look at the hardware?} {{JPM}}{Well, it's a very old blind display, it's a very old braille display, which is presented this way. There is here, you can read here, there are fourty characters. There are several dimensions possible today, we have braille displays which have twelve characters, twenty characters, thirty-two, fourty, or until eighty characters. Eighty characters of course it's difficult to take that, it's very large. However, mine is only fourty characters. So we read the information here, it's fourty braille characters, so on the braille you have eight points, so eight points are two columns of four points, and in these two columns, it's a bit some byte, according to the bit which is enabled or disabled, you have a sign or another sign. As to write, it's a write which is done in braille also, with the white keys you have here. There are eight keys, because the braille uses eight dots. And so with these eight dots you can write all the ASCII table, and all the matching. {{JD}}{And so this interfaces with the laptop} Yeah, it interfaces with the laptop because, it's connected here from a serial port, but you today the modern displays are connected by USB, and brltty has the drivers to communicate between the computer, and especially with the specifications of the braille display. {{JD}}{So you have a special software installed on thePC?} {{ST}}{Yeah, the special software is on the PC. And interestingly, manufacturers are more and more providing the information, or even providing us the hardware just for a few weeks, to implement the driver.} 01:12:30 {{Z}}{Do you know exactly how it works for languages which are not based on latin characters, for instance chinese, how they can, for blind people in chinese how they can read?} {{ST}}{I don't know if you know, Jean-Philippe?} {{JPM}}{As I don't speak chinese, I don't know. However, I guess, because braille stays basic: it's only... So I think it's a system of bindings, where you have a match between some [XXX], which is mapped to some representation, and I think chinese languages work like that. At least, when you talk about computing.} 01:13:27 {{JD}}{Again, my very inexpert opinion is that I would have thought that appplications like Orca would be a lot easier to implement with chinese text than latin text, because of course chinese is... it's one character per word, rather than latin languages where it's one character per... you know} {{ST}}{Yes, but it has different pronunciations for the same character, and sometimes it depends on the meaning, and the computer is completely lost.} {{JD}}{Yeah, well... Ok, yeah, the rules... You've got a lot more characters in the chinese... in the chinese character set than english, [XXX] would have made it easier} 01:14:13 {{Armony Altinier}}{Actually, in Chinese, you use the computer with the Latin characters, so... Because before they used to use a typewriter, and there were looots of characters, like two hundred and fourteen. But now it is based on the way it's pronounced, so it's an occidental way.} 01:14:54 {{CD}}{I would like also to have your opinion about the... a bit more natural way of speech. Because sometimes I find it very hard to follow on, sometimes I really need to concentrate very hard, and also, you know... there is a big separation between words, it's really quite difficult. Do you have any opinion about this thing?} {{JPM}}{Well, the thing is, it's a question of habit. To be honest with you, most blind people use in their daily life the speech synthesizer essentially very, very, very quickly, the speak rate is very high. Well, it's a question of habit. Of course, I have the same feel, because I'm rather a braille reader. So when I heard the speech synthesizer, I wasn't very pleased and I'm not pleased today, because I don't like very much this kind of reading of the text. However, now, because I work a lot to document, and to have new basic users to use free software, so I try to understand and to come in the speech synthesizer logic, and I have to say that even espeak, which is a difficult speech synthesizer to hear, now, I manage to understand it, and it's acceptable for me also. So, when you have the habit, you can understand the screen, know what's there is written on the screen, and you become performant.} 01:17:03 {{AA}}}{Actually, Jean-Philippe is not the most representative, because he uses computers everyday, and is a geek, so... But there are people who don't... who are being blind maybe at fifty, after an accident, and they will never hear this... [XXX] as fast as Jean-Philippe do. But even developers, blind developers who are... really at ease with these softwares... when we compare, it's more difficult than for us, anyway. Even if they're really happy with speech synthesizers. So when it's not accessible, it's just a way to make it smaller. So, yes, even when it's accessible it's very hard.} {{ST}}{Well, thanks a lot for participating, I guess we have to stop, we're quite late... Thanks.}