WEBVTT 00:00:01.501 --> 00:00:02.260 So... Good morning! 00:00:02.660 --> 00:00:05.121 So, I will talk about accessibility today. 00:00:05.621 --> 00:00:10.321 We have a lot of desktops in Debian and we would like to talk 00:00:10.481 --> 00:00:12.400 about the accessibility of these desktops. 00:00:13.363 --> 00:00:18.620 There are all the slides and various stuff on the wiki of debian.org 00:00:18.921 --> 00:00:26.000 in the accessibility-maint wiki page, so you can get stuff from there. 00:00:27.621 --> 00:00:31.741 So, just to give an outline, I will introduce to accessibility, 00:00:32.101 --> 00:00:34.501 then explain how the accessibility stack works, 00:00:34.821 --> 00:00:39.021 how you will interact with this, with your desktop, 00:00:39.962 --> 00:00:44.801 and provide you with a list of things that you could check by yourself, 00:00:45.560 --> 00:00:49.922 to make our life easier, I mean the accessibility team life. 00:00:51.001 --> 00:00:54.281 To start with, this is the output of gnuplot. 00:00:55.521 --> 00:01:00.642 Can somebody tell me what the accessibility issue is there? 00:01:04.961 --> 00:01:08.441 Yeah, you have green and red bars. 00:01:08.701 --> 00:01:10.942 Why is it a problem? 00:01:11.141 --> 00:01:14.130 Well, basically color blind people can not distinguish between both. 00:01:15.242 --> 00:01:18.921 Just to give you an idea. How many people here are colorblind, 00:01:19.422 --> 00:01:21.620 can not distinguish at least some colors? 00:01:22.000 --> 00:01:25.921 So we have one, two people, out of a couple of dozen. 00:01:26.661 --> 00:01:30.582 Indeed, it's 8% of the male people who can not distinguish colors. 00:01:30.841 --> 00:01:35.520 More or less, it depends: some people can distinguish a bit, others really not. 00:01:36.702 --> 00:01:39.861 I had a student who really could not distinguish them at all, 00:01:40.101 --> 00:01:43.282 so in the practice room, he would have to ask his neighbour 00:01:43.621 --> 00:01:45.801 "but which one is the red curve?" 00:01:47.261 --> 00:01:50.881 Gnuplot 5, yeah! They changed the color set. 00:01:51.721 --> 00:01:56.520 This was actually a research paper which said 00:01:56.721 --> 00:02:00.361 "OK, this is the proper color set that you can use and really 00:02:00.361 --> 00:02:02.821 almost everybody on earth can distinguish them, 00:02:02.821 --> 00:02:06.141 except those who can not really distinguish colors at all, 00:02:06.141 --> 00:02:12.861 and still with the intensity of the color, you can still distinguish." 00:02:13.281 --> 00:02:15.722 So, yes, things get improved. 00:02:16.600 --> 00:02:19.961 It's not so difficult, it's just a matter of changing the colors, 00:02:19.961 --> 00:02:23.100 but the most difficult part was knowing about the problem. 00:02:25.361 --> 00:02:27.001 What is accessibility? 00:02:27.221 --> 00:02:32.241 It is contracted into a11y. It means being usable by 00:02:32.241 --> 00:02:38.181 people with specific needs or specific conditions or anybody actually. 00:02:39.721 --> 00:02:46.401 So of course the obvious is blind people, but also people with a low vision, 00:02:46.401 --> 00:02:48.981 so they can actually see the screen, but not that good. 00:02:49.661 --> 00:02:54.000 Deaf people is not much a concern with a lot of things, but still 00:02:54.000 --> 00:02:58.821 if you only signal something through noise, then they can not get it. 00:02:59.641 --> 00:03:01.161 Color blind, as I said. 00:03:01.522 --> 00:03:04.961 People may have just one hand, and to type control-alt-backspace, 00:03:04.961 --> 00:03:07.181 with just one hand, it's really horrible. 00:03:08.520 --> 00:03:13.701 Cognition issues, so people may have problems with understanding your software, 00:03:13.701 --> 00:03:15.142 just because they can not, 00:03:15.142 --> 00:03:20.442 it's not a problem of making efforts, it's really a health issue. 00:03:21.541 --> 00:03:25.641 Motor disability, so it becomes difficult to use a keyboard 00:03:25.641 --> 00:03:27.781 when you have Parkinson, for instance. 00:03:28.621 --> 00:03:32.442 And elderly people, who basically have everything at the same time. 00:03:34.620 --> 00:03:39.661 You can have a look at the accessibility HOWTOs, which talk a bit about all of this. 00:03:41.241 --> 00:03:45.601 Maybe that can be you, maybe within a couple of decades, 00:03:45.601 --> 00:03:49.621 because of getting older, but also if you break your arm, or whatever. 00:03:50.500 --> 00:03:52.862 So this is really something which is for everybody, 00:03:52.862 --> 00:03:55.861 not only a small part of the population. 00:03:56.941 --> 00:04:01.642 And still, there was a survey which shows that 00:04:01.642 --> 00:04:05.841 10% of the people consider that they are handicapped in their life, 00:04:05.841 --> 00:04:08.841 and then 20% consider that they are limited. 00:04:08.981 --> 00:04:13.541 They can do everything they want, but it's a pain, quite often. 00:04:15.522 --> 00:04:18.400 Handicap depends on the situation, maybe it's just, 00:04:18.681 --> 00:04:21.940 you may break your arm, or you are too small to get something, 00:04:21.940 --> 00:04:26.020 or you are too tall to get into a room or something, 00:04:26.020 --> 00:04:31.461 so it's not a problem of the person, but of the situations. 00:04:33.401 --> 00:04:36.121 And it's not necessarily permanent, sometimes it's just 00:04:36.121 --> 00:04:39.241 you broke your arm for some time, and then you're back to order. 00:04:41.801 --> 00:04:44.541 And for me, this is all about freedom 0. 00:04:44.621 --> 00:04:47.720 We have been discussing with Richard Stallman about this. 00:04:47.720 --> 00:04:51.341 The freedom 0, as he said, was the 00:04:51.341 --> 00:04:53.381 "freedom to run the program, for any purpose". 00:04:54.021 --> 00:04:57.601 But OK, running the program is not really useful if you can not use it. 00:04:58.700 --> 00:05:03.421 And RMS said yes, "it's just a desirable feature that you can use it", 00:05:03.421 --> 00:05:07.921 I mean because you're disabled. Is that only "desirable"? 00:05:09.301 --> 00:05:13.600 Richard said, "well if you need it, then you can modify the software, it's free". 00:05:14.141 --> 00:05:17.481 Okay, but that can not happen, I will explain that later. 00:05:19.941 --> 00:05:22.342 Just to give the UNO rights. 00:05:22.342 --> 00:05:26.121 So I put in bold the interesting part for us. 00:05:26.121 --> 00:05:29.821 So there are rights of persons with disabilities, and it says that 00:05:29.821 --> 00:05:35.161 "Discrimination on the basis of disability" means any distinction, exclusion or 00:05:35.161 --> 00:05:39.301 restriction on the basis of disability which has the effect of 00:05:39.301 --> 00:05:44.081 impairing exercise of all human rights and fundamental freedoms, 00:05:44.081 --> 00:05:49.941 in all kinds of fields, and that includes denial of reasonable accommodation. 00:05:50.421 --> 00:05:53.001 And that's the point I want to emphasize: 00:05:53.001 --> 00:05:57.421 if you are not doing the reasonable accommodation, you are actually 00:05:57.421 --> 00:06:03.001 excluding people, and that's something that the UNO considers. 00:06:03.781 --> 00:06:05.901 And what does it mean, "reasonable accommodation"? 00:06:06.121 --> 00:06:10.001 It means not imposing a disproportionate or undue burden. 00:06:10.440 --> 00:06:14.361 So we don't ask the Debian project to do a lot things, 00:06:14.361 --> 00:06:16.701 we just ask for reasonable accommodations. 00:06:17.001 --> 00:06:21.720 And we are trying to see what we can do like this: 00:06:21.720 --> 00:06:28.101 making things easy for Debian maintainers, so that they have to do it actually, in a way. 00:06:30.520 --> 00:06:35.001 For us it's then a question of priority in the project, 00:06:35.001 --> 00:06:37.822 for us it's a bit like internationalization, 00:06:37.822 --> 00:06:43.502 it's basically the kind of the same issue, and everybody has to do it 00:06:43.502 --> 00:06:47.301 for his own language, every package should have it, etc. 00:06:48.601 --> 00:06:51.201 But then more importantly, it's a question of who doing it. 00:06:52.801 --> 00:06:54.501 Accessibility is a problem in that 00:06:54.501 --> 00:06:58.402 it concerns a really small fraction of the people using computers. 00:06:58.741 --> 00:07:01.941 They already have a hard time using computers, 00:07:01.941 --> 00:07:05.181 and it's even worse with accessibility issues. 00:07:06.042 --> 00:07:10.180 And the thing is: since there are not so many disabled people, 00:07:10.180 --> 00:07:15.102 almost nobody has these disabilities and the programming skills to fix them. 00:07:15.681 --> 00:07:21.220 And still, if you have the programming skills, it's extremely difficult, 00:07:21.220 --> 00:07:24.861 like for instance if you want to make the Debian Installer accessible: 00:07:24.861 --> 00:07:29.361 OK, you get the CD, you run it, and then you don't have any output 00:07:29.361 --> 00:07:30.481 on your Braille device. 00:07:30.760 --> 00:07:31.801 What can you do? 00:07:32.141 --> 00:07:34.622 You have to first get a debugging environment, 00:07:34.622 --> 00:07:40.801 but nobody thought about having a debugging environment without a screen, 00:07:40.801 --> 00:07:43.281 so you have to invent that first. 00:07:43.601 --> 00:07:47.121 So it's really difficult for people with disabilities 00:07:47.121 --> 00:07:49.620 to get their things done by themselves. 00:07:50.622 --> 00:07:54.461 Then you will have sighted people for instance who could work on it, 00:07:54.461 --> 00:08:01.000 but people with sight and the awareness of the issue and 00:08:01.000 --> 00:08:03.981 what could be done about it, it's even smaller. 00:08:04.842 --> 00:08:09.181 And so this sentence "this is free software, you can modify it" 00:08:09.181 --> 00:08:10.461 that can not work. 00:08:10.600 --> 00:08:13.261 Because there are not so many people, they can not do everything. 00:08:14.221 --> 00:08:18.861 So the support has to be actually integrated into the process and 00:08:18.861 --> 00:08:23.061 the load of working on it distributed among the maintainers. 00:08:23.521 --> 00:08:28.600 Of course we would like to make that load as light as possible to maintainers, 00:08:28.600 --> 00:08:34.221 but there is no way around fixing bugs in applications, 00:08:34.221 --> 00:08:38.641 so that the tiny accessibility community doesn't have to do all the work. 00:08:40.040 --> 00:08:44.561 Ok, so that was just an introduction to accessibility in general. 00:08:44.561 --> 00:08:46.281 Let's talk about hardware. 00:08:46.861 --> 00:08:51.601 People may use for instance braille input and output, 00:08:51.601 --> 00:08:55.041 or speech synthesis, but that's mostly for blind people. 00:08:55.582 --> 00:09:02.142 People with motor issues can use just one joystick which would replace a mouse, 00:09:02.142 --> 00:09:07.841 or would just be able to press a button, and that's still enough to get things done, 00:09:07.841 --> 00:09:09.761 thanks to a virtual keyboard. 00:09:10.301 --> 00:09:14.720 Or they could use just eye-tracking, and by blinking their eye actually acknowledge, 00:09:14.720 --> 00:09:15.961 and whatnot. 00:09:16.262 --> 00:09:19.941 We have a lot of ways for people to interact with a computer. 00:09:21.541 --> 00:09:24.761 The thing is, one shouldn't focus on just one technology. 00:09:25.081 --> 00:09:30.101 For instance, even for blind people, Braille is not perfect, 00:09:30.101 --> 00:09:33.380 just because not so many people know Braille actually. 00:09:33.601 --> 00:09:37.800 I don't remember but it may be like 10 or even 5 percents of the blind people 00:09:37.800 --> 00:09:39.321 only know Braille. 00:09:40.561 --> 00:09:43.302 And the Braille devices are already extremely expensive, 00:09:43.302 --> 00:09:45.502 like several thousands of euros. 00:09:47.100 --> 00:09:50.761 Speech synthesis either is not so good in a lot of cases, 00:09:50.761 --> 00:09:53.641 like if you have a noisy environment, you can not hear it, 00:09:53.641 --> 00:09:55.381 or you are disturbing your neighbours. 00:09:56.520 --> 00:10:00.921 And also, it's really tedious to get words spelled, 00:10:00.921 --> 00:10:02.681 because you have it letter by letter, 00:10:02.681 --> 00:10:06.821 it's much less convenient than reading it on a Braille device. 00:10:09.382 --> 00:10:12.441 Just to show what it looks like, so a Braille cell. 00:10:12.900 --> 00:10:17.841 Usually you have 8 dots like this, which make for one character. 00:10:18.401 --> 00:10:23.541 And the dots are moved upside and down thanks to a Piezzo bar, 00:10:23.541 --> 00:10:26.881 which is why it's expensive because that Piezzo bar 00:10:26.881 --> 00:10:32.201 has no other use in the Industry, and so it is really a little market. 00:10:33.441 --> 00:10:38.721 A Braille device is simply that kind of cell, replicated alongside, 00:10:38.721 --> 00:10:44.120 and connected through serial, USB or bluetooth, and the price is usually 00:10:44.120 --> 00:10:48.361 the number of cells you have times a hundred and fifty euros. 00:10:48.361 --> 00:10:57.101 So for forty character displays, you have to pay like a few thousands euros. 00:10:57.701 --> 00:10:59.760 So it's really awfully expensive. 00:11:01.781 --> 00:11:05.380 About software. So it's more interesting for us. 00:11:06.180 --> 00:11:08.362 The first question which is interesting is 00:11:08.622 --> 00:11:12.081 "why would you take the burden of making the GUI accessible?" 00:11:12.381 --> 00:11:15.201 There are a lot of text applications, you could do everything with these. 00:11:16.000 --> 00:11:18.401 Well, not everything, that's the problem. 00:11:18.681 --> 00:11:21.681 A lot of things are really not available in textmode, 00:11:21.681 --> 00:11:27.321 like real JavaScript support in textmode is actually really difficult because 00:11:27.321 --> 00:11:31.421 it doesn't sometimes even make sense for JavaScript 00:11:31.421 --> 00:11:33.621 to have just characters and not pixels. 00:11:35.681 --> 00:11:38.841 And for business applications usually you have just the graphical one, 00:11:38.841 --> 00:11:43.141 and you don't have the text equivalent, so you have to have a way to use them as well. 00:11:44.340 --> 00:11:49.701 And what's even more important is that you shouldn't make people use 00:11:49.701 --> 00:11:54.041 a dedicated software because then they don't have help around them, 00:11:54.041 --> 00:11:58.581 because they are using their software and nobody knows how to use it, except them. 00:11:59.080 --> 00:12:01.901 And that's really a problem, because then they cannot be helped by people. 00:12:04.621 --> 00:12:05.901 Another idea is 00:12:05.901 --> 00:12:11.180 "let's make accessible software which is dedicated to people with disabilities". 00:12:11.641 --> 00:12:17.061 So for instance we have edbrowse, which is a blind-oriented editor and browser, 00:12:17.061 --> 00:12:19.261 and this is generally a bad idea. 00:12:20.361 --> 00:12:24.761 Well, for one because quite often, this is dedicated to one kind of disability, 00:12:24.761 --> 00:12:27.422 one kind of situation, and it's not universal, 00:12:27.422 --> 00:12:30.962 you would have to do it several times for each kind of disability. 00:12:31.701 --> 00:12:34.901 But then also it's just a problem of manpower, 00:12:34.901 --> 00:12:38.921 as I've said we don't have so many people working on this kind of thing, 00:12:38.921 --> 00:12:42.521 and so for instance if you wanted to maintain a web browser, 00:12:42.521 --> 00:12:46.061 you would have to implement JavaScript, flash, tables, CSS, etc. 00:12:46.461 --> 00:12:48.461 So you don't really want to do that. 00:12:49.241 --> 00:12:53.800 Or for an office suite, have compatibility with Microsoft and whatnot. 00:12:55.881 --> 00:13:00.441 And also it's also again an important thing which doesn't come to mind first. 00:13:01.341 --> 00:13:05.281 The important thing is not only getting help, but also working with people. 00:13:05.741 --> 00:13:09.461 If you have the same software, if you are used to use the same software, 00:13:09.461 --> 00:13:11.581 then you can work together, 00:13:11.581 --> 00:13:16.121 you don't have to play with format conversion or whatever. 00:13:16.280 --> 00:13:21.141 Or even just work at the same time on the same software, pointing at something, 00:13:21.141 --> 00:13:23.300 then reading what is happening there, 00:13:23.300 --> 00:13:25.880 then interacting with the other one within the software. 00:13:26.881 --> 00:13:30.561 So that's why we should really make the existing software accessible, 00:13:30.561 --> 00:13:32.421 instead of writing new software. 00:13:34.661 --> 00:13:40.481 Another important thing is: we shouldn't make "accessible" distribution. 00:13:40.741 --> 00:13:47.040 Well, it can be a good idea, but in the end we want all distributions to be accessible. 00:13:47.241 --> 00:13:51.041 Because accessibility is completely orthogonal to any other concern, 00:13:51.041 --> 00:13:56.561 like blends and tasks, this is orthogonal with accessibility. 00:13:57.461 --> 00:14:02.162 Just like, be it a musician, for medicine, for teaching, whatever, 00:14:02.162 --> 00:14:05.941 all these specialized distributions should be all accessible. 00:14:06.161 --> 00:14:10.501 So it doesn't make sense to make an "accessible" distribution, 00:14:10.501 --> 00:14:14.360 except as being a testbed for experimental features, 00:14:14.360 --> 00:14:20.581 but maybe want to push to users to make them happy and test these things, 00:14:20.581 --> 00:14:24.160 and then we can integrate them into all the distributions. 00:14:27.521 --> 00:14:30.541 Ideally, you would have accessibility everywhere. 00:14:30.541 --> 00:14:34.481 Like, I enter a library, 00:14:34.481 --> 00:14:39.320 there are computers to get the catalogue of the books in the library, 00:14:39.320 --> 00:14:44.260 or you get to an airport and they have internet access there, but on a computer, 00:14:44.260 --> 00:14:48.301 or you get to the university and you have the practice room. 00:14:48.660 --> 00:14:53.181 All these situations, if you have just a Braille device, 00:14:53.181 --> 00:14:57.881 then you will have to ask the administrator to install the software and configure it 00:14:57.881 --> 00:14:58.901 and whatnot. 00:14:59.241 --> 00:15:02.461 We do not want that, you shouldn't have to ask the administrator, 00:15:02.461 --> 00:15:07.541 because he's probably not there and you would have to wait for a week or a month. 00:15:08.821 --> 00:15:12.821 So ideally it should be just installed by default, and ready for use. 00:15:13.801 --> 00:15:16.861 So that means quite close integration with the system, 00:15:16.861 --> 00:15:20.780 but for instance we managed to get this in the Debian Installer. 00:15:21.081 --> 00:15:25.121 Nowadays, the standard CDs, installation CDs of Debian, 00:15:25.121 --> 00:15:29.561 it's just, you insert the CD, you boot the computer, 00:15:29.561 --> 00:15:32.941 you hear a beep saying "you're at the boot menu, you can press enter", 00:15:32.941 --> 00:15:38.040 and then d-i boots and then it is actually showing the output on the Braille device. 00:15:38.301 --> 00:15:41.320 So that's really the kind of things we want to achieve. 00:15:42.461 --> 00:15:45.481 [claps] 00:15:45.640 --> 00:15:46.401 Thanks! 00:15:49.601 --> 00:15:51.961 Just a couple more of design principles 00:15:52.221 --> 00:15:55.881 As I mentioned, just use the same software, make it accessible. 00:15:56.601 --> 00:16:01.021 Synchronize work, as I said it's just an alternate input and output 00:16:01.021 --> 00:16:03.861 and we work together in a synchronized way. 00:16:04.801 --> 00:16:08.880 And be pervasive, so you shouldn't have to ask 00:16:08.880 --> 00:16:11.080 for software installation or configuration. 00:16:12.381 --> 00:16:15.021 Ok, so that was discussion. 00:16:15.341 --> 00:16:16.361 Now the real stuff. 00:16:16.622 --> 00:16:20.421 How it looks like, how it works, and what we could check. 00:16:21.481 --> 00:16:28.122 In a few words, text mode is really accessible but at least for one 00:16:28.122 --> 00:16:30.601 it's not suited to beginners. 00:16:31.101 --> 00:16:32.701 Gnome is quite accessible. 00:16:33.361 --> 00:16:38.580 One issue we had with was gnome 3, which was almost a restart from scratch. 00:16:39.081 --> 00:16:42.841 The status of gnome 3.0 was really awful. 00:16:43.500 --> 00:16:52.021 Nowadays, we got to the point almost like gnome 2 before gnome 3, 00:16:52.021 --> 00:16:53.941 but it was really a pain. 00:16:55.461 --> 00:16:58.900 And in the end we are really late compared to the Windows world, 00:16:58.900 --> 00:17:00.601 we have like a decade... 00:17:01.201 --> 00:17:05.601 we are a decade late compared to them. 00:17:06.480 --> 00:17:09.301 And compared with the Apple world we are really at Stone Age. 00:17:10.381 --> 00:17:14.982 You have to understand that Apple has integrated and good support 00:17:14.982 --> 00:17:16.261 for accessibility. 00:17:16.502 --> 00:17:20.121 It's always installed, it's ready for use all the time, and it's really good. 00:17:20.862 --> 00:17:24.401 We really see people who were using free software etc. 00:17:24.401 --> 00:17:27.620 and then eventually they saw that Apple thing, and they said 00:17:27.620 --> 00:17:32.541 "OK, it's really working much better than free software, so I will switch to Apple". 00:17:33.302 --> 00:17:35.401 This is really a shame for us, 00:17:35.401 --> 00:17:38.221 there is no reason why we shouldn't be able to do that good. 00:17:40.980 --> 00:17:43.081 More technically, how does it work? 00:17:45.041 --> 00:17:48.821 The idea is that we have the application, a standard application which uses 00:17:48.821 --> 00:17:55.241 its own abstract representation through the toolkit, to render things visually. 00:17:55.801 --> 00:18:00.041 And the idea is that we have a bus, an accessibility bus 00:18:00.041 --> 00:18:03.142 which can exchange with that abstract representation. 00:18:03.401 --> 00:18:06.860 And the screen reader can just go through this bus to access 00:18:06.860 --> 00:18:08.761 the text of the application, 00:18:08.761 --> 00:18:12.422 and then render it on an accessibility device, whatever it is. 00:18:12.781 --> 00:18:16.141 Is it Braille, is it speech, is it something else, I don't know, 00:18:16.141 --> 00:18:19.661 but the idea is that it's generic so that we don't have to know. 00:18:21.221 --> 00:18:24.640 So, just to give an instance, we have the X server, 00:18:24.640 --> 00:18:29.722 and the gedit application renders pixmaps to the X server, 00:18:29.722 --> 00:18:35.981 it is pango which does the rendering, but there is in GTK, inside GTK the text, 00:18:35.981 --> 00:18:42.001 which is what we want, and so there is a part of gnome which is called ATK 00:18:42.001 --> 00:18:47.001 which plugs into GTK to get that text and provide it to the screen reader, 00:18:47.001 --> 00:18:51.960 on Linux it's called Orca, and then Orca can output this through braille or speech. 00:18:52.621 --> 00:18:55.920 So we have this bus between ATK and Orca, 00:18:55.920 --> 00:19:01.521 it is basically an RPC bus, actually, so that is: 00:19:01.521 --> 00:19:06.141 Orca can ask for the text explicitly or it can ask for getting 00:19:06.141 --> 00:19:08.660 notifications about the changes, 00:19:08.660 --> 00:19:13.981 so once it's registered, ATK sends messages whenever text is modified, 00:19:13.981 --> 00:19:17.461 so Orca doesn't have to poll for changes. 00:19:18.521 --> 00:19:21.581 And so it means that it's only on request from the screen reader. 00:19:21.881 --> 00:19:25.221 So if there is no screen reader then there is no message on the bus, 00:19:25.221 --> 00:19:28.382 so it's quite lightweight when the screen reader is not there. 00:19:31.561 --> 00:19:36.041 The idea is that the screen reader gets the abstract representation as a tree, 00:19:36.041 --> 00:19:39.101 so we have the main window, with maybe some container, 00:19:39.101 --> 00:19:43.221 and then have the menu bar with several items in them, 00:19:43.221 --> 00:19:46.141 and then a text area, an OK button, etc. 00:19:46.442 --> 00:19:52.121 So that's the idea, the screen reader really has the representation of the application, 00:19:52.121 --> 00:19:54.701 and then the user can go around it. 00:19:56.700 --> 00:19:57.961 So, technically speaking, now. 00:19:59.061 --> 00:20:02.861 A lot of applications are already technically accessible in that 00:20:02.861 --> 00:20:07.741 the textmode applications for instance, you can always get the text for course. 00:20:08.480 --> 00:20:13.261 GTK 2 and 3 are accessible, it's improving over years, 00:20:13.261 --> 00:20:17.900 it's really in a state nowadays, which can be used for everyday work. 00:20:19.221 --> 00:20:25.101 And KDE is, I mean Qt actually, has been trying to push for accessibility 00:20:25.101 --> 00:20:26.041 for a long time, 00:20:26.041 --> 00:20:33.122 Qt 4 had some implementation which was a bit sketchy, with Qt 5 it's much better. 00:20:34.421 --> 00:20:37.681 So it is on its way to get really accessible. 00:20:38.922 --> 00:20:45.382 Mono, however, had an accessibility effort but Novell actually basically fired 00:20:45.382 --> 00:20:49.261 all the team, the Accessibility team in 2012 or something. 00:20:49.641 --> 00:20:54.601 And so it's not maintained any more, and it has been removed from Debian 00:20:54.601 --> 00:20:56.421 because it was really not maintained. 00:20:57.321 --> 00:21:02.421 So, let's see. Acrobat reader is actually accessible. 00:21:02.922 --> 00:21:09.182 Adobe made the effort of plugging the rendering of the PDF file into ATK, 00:21:09.182 --> 00:21:13.781 so that the screen reader actually gets the content of the PDF file. 00:21:14.961 --> 00:21:18.260 And then you have the other applications, so Qt3, or Xt, 00:21:18.260 --> 00:21:22.862 or applications which draw things themselves, like xpdf, 00:21:22.862 --> 00:21:26.261 these are really not accessible at all. 00:21:29.281 --> 00:21:34.041 To give an idea in Debian, of the stack, we have brltty 00:21:34.041 --> 00:21:37.241 which contains the drivers for braille, 00:21:37.241 --> 00:21:41.220 we have speech-dispatcher which manages the drivers for speech. 00:21:41.901 --> 00:21:46.721 Then for the bus, the accessibility bus, we have the server part 00:21:46.721 --> 00:21:52.161 which is at-spi2-core, which is generic, all toolkits use it, 00:21:52.161 --> 00:21:57.961 and then you have the GTK-ish part of it which is gail and libatk. 00:21:59.420 --> 00:22:02.201 And on the Qt side you have qt-at-spi. 00:22:03.501 --> 00:22:08.100 And in Qt5 it's actually integrated into the core of Qt. 00:22:09.381 --> 00:22:11.801 And then you have the screen reader, which is called Orca. 00:22:11.942 --> 00:22:14.061 So basically, once you have all this installed, 00:22:14.061 --> 00:22:16.621 you have the whole stack for accessibility. 00:22:18.101 --> 00:22:20.641 So, what do we want to achieve? 00:22:21.841 --> 00:22:27.100 Which is where I will be asking you for trying to do things. 00:22:28.041 --> 00:22:30.041 What is the goal? 00:22:30.441 --> 00:22:36.021 The goal is at the very least, having the accessibility stack working on all desktops. 00:22:36.661 --> 00:22:40.861 That is, you can actually run it and it works. 00:22:41.601 --> 00:22:44.581 It is a matter of a few tests, I will explain that, 00:22:44.581 --> 00:22:48.441 so that you can actually include them in regression tests. 00:22:49.181 --> 00:22:54.461 That would only allow to access some applications, but that's already huge, 00:22:54.461 --> 00:23:00.701 in that if it's all desktops which have it, then a blind user for instance 00:23:00.701 --> 00:23:06.101 is not afraid of asking, like a neighbour or a coworker, or whatever 00:23:06.101 --> 00:23:11.061 "can I use your computer, just to read my mails or whatever?". 00:23:13.881 --> 00:23:16.380 It will not be convenient for the blind user, 00:23:16.380 --> 00:23:20.981 but at least he will be able to work with his coworker or whatever. 00:23:22.101 --> 00:23:24.401 That's already huge. 00:23:26.301 --> 00:23:28.942 And then of course the graal would be that all desktops would be 00:23:28.951 --> 00:23:30.421 completely accessible. 00:23:30.981 --> 00:23:34.961 I understand that this is not achievable but that's really the target we would have. 00:23:35.281 --> 00:23:39.502 So that, you would just be able to choose your desktop. 00:23:39.881 --> 00:23:42.341 So this is more involved, I'll explain later. 00:23:44.661 --> 00:23:47.620 Getting the accessibility stack working... 00:23:48.281 --> 00:23:51.361 The goal is that you just run Orca and it works. 00:23:52.001 --> 00:23:56.361 Whatever situation you're in, you have already applications running, and whatnot, 00:23:56.361 --> 00:24:00.401 and you just start Orca, and you manage to read the existing applications. 00:24:01.041 --> 00:24:04.700 At the moment, this is not enabled for all toolkits, 00:24:04.700 --> 00:24:10.041 it is enabled by default in GTK3, actually, in Jessie, so it does work with GNOME. 00:24:11.021 --> 00:24:15.361 But not with GTK2, Qt4, Qt5, there is often people who say 00:24:15.361 --> 00:24:20.781 "yeah, but there might be bugs, it may make things slower". 00:24:21.541 --> 00:24:25.501 Ok, but we are at the beginning of the release, err. 00:24:25.501 --> 00:24:29.621 the development of Stretch, maybe it is the time to just enable this, 00:24:29.621 --> 00:24:35.281 and if there are bugs, let's just fix them, there is no way forward except like this, 00:24:35.281 --> 00:24:38.880 we've been not enabling accessibility for like a decade, 00:24:38.880 --> 00:24:42.701 and maybe now is the time to just do it, and then... 00:24:42.701 --> 00:24:49.342 [round of claps] [smile] Thanks! 00:24:50.601 --> 00:24:52.641 The question is: how do you test it? 00:24:53.361 --> 00:24:57.182 I'll explain the details, and then you'll see that we provide scripts 00:24:57.182 --> 00:24:58.401 to do it for you. 00:24:58.840 --> 00:25:01.862 The idea is that we have that accessibility bus running, 00:25:01.862 --> 00:25:05.361 so there are some dbus daemon running, you have to check that they are running, 00:25:05.361 --> 00:25:11.401 there is a script which does that automatically normally, 00:25:11.401 --> 00:25:13.681 but maybe it does not for your desktop, 00:25:13.681 --> 00:25:21.801 and when it is running, you have actually a dbus specialized bus, for accessibility 00:25:21.801 --> 00:25:27.021 and the session bus should be providing its address so that applications can find it. 00:25:27.941 --> 00:25:32.221 And also there, the Xorg root window provides the address as well. 00:25:32.981 --> 00:25:37.400 And then we have to have the toolkits enable their layer for accessibility. 00:25:38.421 --> 00:25:43.782 All of this is actually checked with a small script that I've written 00:25:43.782 --> 00:25:48.461 and it is available on pkg-a11y. 00:25:50.661 --> 00:25:54.561 There are pointers to this on the wiki page, accessibility, 00:25:54.561 --> 00:25:58.980 that wasn't -devel but -maint, but there are links between 00:25:58.980 --> 00:26:02.720 accessibility, accessibility-devel and accessibility-maint, 00:26:02.720 --> 00:26:04.201 so you should be able to find it. 00:26:04.761 --> 00:26:07.320 The idea is that you clone this repository. 00:26:07.920 --> 00:26:11.561 There is an env.sh file which you can source 00:26:11.561 --> 00:26:18.640 to basically define all these variables to enable accessibility in GTK2, Qt4, Qt5, etc. 00:26:18.640 --> 00:26:23.271 and once you have this you can run "make check" which runs 00:26:23.271 --> 00:26:28.361 GTK2, GTK3, Qt4, Qt5 applications, and check that they are really accessible. 00:26:29.261 --> 00:26:34.441 If they are not, or for users who can not manage to get their thing working, 00:26:34.441 --> 00:26:40.941 there is a troubleshoot script which tests every bit one by one and tells you 00:26:40.941 --> 00:26:45.320 "this is not properly configured, maybe that's the issue actually". 00:26:46.541 --> 00:26:51.780 And also you can run "orca -l" to get the list of applications, 00:26:51.780 --> 00:26:55.962 so it's a quick test really so you can just run, like, 00:26:55.962 --> 00:27:01.220 geany or gedit or whatever GTK application and check that "orca -l" sees that. 00:27:01.641 --> 00:27:06.121 If that's the case, then probably the accessibility stack is working properly. 00:27:09.102 --> 00:27:14.481 OK, so that was the part that you can do, the first part that you can do. 00:27:14.661 --> 00:27:17.601 Another part is how the user will start Orca. 00:27:18.141 --> 00:27:21.661 So of course, in the "foreign user" use-case, 00:27:21.661 --> 00:27:26.861 so a disabled person uses the desktop of somebody else, 00:27:26.861 --> 00:27:30.481 he can ask the somebody else to run Orca for him. 00:27:32.461 --> 00:27:34.940 But a shortcut would be really welcome, 00:27:34.940 --> 00:27:39.021 for instance when you go to a library or whatever, he wants to use a computer. 00:27:39.320 --> 00:27:45.941 Gnome settled on using super-alt-s to just start the screen reader. 00:27:47.721 --> 00:27:53.441 Our concern is that OK, gnome chose that, maybe KDE will choose something else, etc. 00:27:53.441 --> 00:27:58.061 It would be extremely convenient to have just one so that you don't have to ask 00:27:58.061 --> 00:28:03.441 "Which desktop is that? Alright, this desktop I remember that it is that shortcut". 00:28:04.020 --> 00:28:10.341 So the problem we may have, I don't know, is deciding on a universal shortcut 00:28:10.341 --> 00:28:14.742 which doesn't conflict with any other shortcut in any other desktop. 00:28:15.201 --> 00:28:18.801 So I don't know, maybe super-alt-s is already fine, 00:28:18.801 --> 00:28:22.581 maybe that's something that should be discussed at freedesktop, I don't know. 00:28:23.121 --> 00:28:25.021 I really don't know for this. 00:28:26.201 --> 00:28:31.241 For the installer, for instance, at the boot menu, you would type s and enter 00:28:31.241 --> 00:28:34.661 to select the speech-enabled installer. 00:28:35.721 --> 00:28:39.541 So maybe just try to have just one. 00:28:40.801 --> 00:28:45.021 And maybe also we could autostart it when you plug a USB Braille device. 00:28:45.260 --> 00:28:51.881 That may be useful, but as long as we have super-alt-s 00:28:51.881 --> 00:28:57.321 then we are fine with starting Orca, so maybe it's not so much worth 00:28:57.321 --> 00:29:01.782 spending efforts on autostart on plugging USB Braille display, 00:29:01.782 --> 00:29:04.541 and really get that shortcut running. 00:29:06.620 --> 00:29:11.120 For the regular user, you want of course Orca started automatically, 00:29:11.120 --> 00:29:15.441 you don't want to have to start it by hand each time you want to use your own computer. 00:29:18.201 --> 00:29:21.160 The thing is: there should be at least two things. 00:29:21.481 --> 00:29:25.081 There should be an icon in the interface so that, like, 00:29:25.081 --> 00:29:29.661 the administrator of the machine enables it easily, finds it easily, 00:29:29.661 --> 00:29:35.681 and that icon also should be accessible, just because the disabled person 00:29:35.681 --> 00:29:37.980 might want to interact with it. 00:29:40.901 --> 00:29:42.501 That hasn't been always the case. 00:29:42.602 --> 00:29:47.681 Sometimes the accessibility icon was not accessible in some releases of software. 00:29:48.701 --> 00:29:52.981 And the second thing is having a command-line interface for enabling it. 00:29:53.100 --> 00:29:57.100 Quite often it is the case, but the thing is: please tell us which one 00:29:57.100 --> 00:29:59.842 we should use in the Debian installer, so that when 00:29:59.842 --> 00:30:05.821 the user installs Debian with accessibility enabled in the Installer, 00:30:05.821 --> 00:30:10.461 then we enable accessibility in the installed system automatically. 00:30:12.480 --> 00:30:16.500 We are fine with having to deal with gconf, gsettings, xfconf, whatever. 00:30:16.500 --> 00:30:20.602 Just give us the way to do it and document it, so that we can do it. 00:30:22.902 --> 00:30:27.181 Eventually, we would like all desktops to be completely accessible. 00:30:28.301 --> 00:30:32.581 So that means making, like, the start menu, the panel, task switching, 00:30:32.581 --> 00:30:36.422 all these tiny bits of the desktop to be accessible. 00:30:37.060 --> 00:30:41.261 So if your desktop is based on GTK/Qt, it's quite easy 00:30:41.261 --> 00:30:43.320 because the toolkit does it for us. 99:59:59.999 --> 99:59:59.999 You should still check out what Orca and Accerciser are saying, 99:59:59.999 --> 99:59:59.999 I will explain that a bit later. 99:59:59.999 --> 99:59:59.999 And also that everything can be achieved by using just the keyboard. 99:59:59.999 --> 99:59:59.999 It's really important, some people just can not use the mouse, 99:59:59.999 --> 99:59:59.999 and they can see and can use the keyboard, but also blind people really like 99:59:59.999 --> 99:59:59.999 being able to do everything with the keyboard and speech output. 99:59:59.999 --> 99:59:59.999 And if you can do that, with just a keyboard, no cheating with the mouse, 99:59:59.999 --> 99:59:59.999 then that's already quite good. 99:59:59.999 --> 99:59:59.999 If some of the parts of your interface, your desktop interface, are self-drawn, 99:59:59.999 --> 99:59:59.999 not using GTK or Qt, then you will have to implement accessibility yourself, 99:59:59.999 --> 99:59:59.999 so interface with AT-SPI, maybe by using ATK, or talking AT-SPI protocol natively, 99:59:59.999 --> 99:59:59.999 yourself, it's up to you. 99:59:59.999 --> 99:59:59.999 But that's the kind of drawback for using a self-drawn widget. 99:59:59.999 --> 99:59:59.999 At the moment, mostly only Gnomeand MATE are really accessible like this, 99:59:59.999 --> 99:59:59.999 I mean really usable with a keyboard, shortcuts, etc. 99:59:59.999 --> 99:59:59.999 XFCE and LXDE start being accessible, they don't always have shortcuts, 99:59:59.999 --> 99:59:59.999 so we wouldn't recommend these, so basically people only have 99:59:59.999 --> 99:59:59.999 two choices for desktop at the moment. 99:59:59.999 --> 99:59:59.999 That's really sad. 99:59:59.999 --> 99:59:59.999 To develop accessible applications, more generally, 99:59:59.999 --> 99:59:59.999 the idea is that you should not design your interface with the GUI in mind, 99:59:59.999 --> 99:59:59.999 but rather start with a logical way of thinking about your interface, first. 99:59:59.999 --> 99:59:59.999 Because then, the screen reader, since it is that structure of the application 99:59:59.999 --> 99:59:59.999 and not the visual representation, it will be easier for disabled people. 99:59:59.999 --> 99:59:59.999 And actually in the end, it will make your code much better, 99:59:59.999 --> 99:59:59.999 make it structured logically instead of graphically. 99:59:59.999 --> 99:59:59.999 And as I said, better use standard widgets, 99:59:59.999 --> 99:59:59.999 because then they have integrated support for accessibility. 99:59:59.999 --> 99:59:59.999 And also, make sure to use the proper widget for what you want to do, 99:59:59.999 --> 99:59:59.999 so for instance if you have a text field to be filled, 99:59:59.999 --> 99:59:59.999 and then a label in front of it, 99:59:59.999 --> 99:59:59.999 you should use the labeled text field widget, which makes a relation 99:59:59.999 --> 99:59:59.999 between the label and the text. 99:59:59.999 --> 99:59:59.999 Otherwise the screen reader just notices labels and text, 99:59:59.999 --> 99:59:59.999 it doesn't know which is which. 99:59:59.999 --> 99:59:59.999 So avoid homemade widgets, or you have to implement accessibility yourself. 99:59:59.999 --> 99:59:59.999 And if you put an image, of course, provide a text alternative 99:59:59.999 --> 99:59:59.999 for the screen reader to give to the user. 99:59:59.999 --> 99:59:59.999 And keep it simple. 99:59:59.999 --> 99:59:59.999 For people with cognition issues, but also for blind people, 99:59:59.999 --> 99:59:59.999 if there are too many things, too complex dialog boxes, or whatever, 99:59:59.999 --> 99:59:59.999 it will be tedious for them. 99:59:59.999 --> 99:59:59.999 But it's also for your regular users, 99:59:59.999 --> 99:59:59.999 if the interface is simple, then it will be easier for them. 99:59:59.999 --> 99:59:59.999 Quite often you ask "OK, but I would like to test myself". 99:59:59.999 --> 99:59:59.999 Orca has a braille monitor, so what you can simply do is running 99:59:59.999 --> 99:59:59.999 "orca -e braille-monitor" to enable it, 99:59:59.999 --> 99:59:59.999 and then just work as usual with your desktop, 99:59:59.999 --> 99:59:59.999 only using the keyboard, don't use the mouse, 99:59:59.999 --> 99:59:59.999 and then check that whatever you are doing appears on the Braille monitor, 99:59:59.999 --> 99:59:59.999 and that it is correct. 99:59:59.999 --> 99:59:59.999 And there is a crash test that you can do, it is to just turn on the speech, 99:59:59.999 --> 99:59:59.999 and then switch off the screen, and then to try to work. 99:59:59.999 --> 99:59:59.999 And you are... [they are trying to tell something but... Oh sure, sure]. 99:59:59.999 --> 99:59:59.999 So try to just switch off the screen and work, and you will see that it's difficult. 99:59:59.999 --> 99:59:59.999 Even developers of accessibility who are sighted 99:59:59.999 --> 99:59:59.999 don't always do that, and they realize, when they do that, 99:59:59.999 --> 99:59:59.999 "OK, there was one thing which I didn't realize that it wasn't working, 99:59:59.999 --> 99:59:59.999 just because I could see the screen". 99:59:59.999 --> 99:59:59.999 There is on gnome.org a guide for developing accessible applications, 99:59:59.999 --> 99:59:59.999 you should have a look at it, it's quite interesting. 99:59:59.999 --> 99:59:59.999 Then there is Accerciser, maybe you will not use it because it's a sort of debugger. 99:59:59.999 --> 99:59:59.999 The idea is that it shows the tree of widgets, 99:59:59.999 --> 99:59:59.999 and you can have a look at the details and check the properties, 99:59:59.999 --> 99:59:59.999 that the text is really right, or whatever. 99:59:59.999 --> 99:59:59.999 So you can try to use it, but most probably you will want to just use Orca 99:59:59.999 --> 99:59:59.999 and check quickly what is showing up. 99:59:59.999 --> 99:59:59.999 One last thing, about bugs. 99:59:59.999 --> 99:59:59.999 One thing to understand is that the users, disabled users, 99:59:59.999 --> 99:59:59.999 are in a different situation than you, so if they make suggestions 99:59:59.999 --> 99:59:59.999 like in a webbrowser, put brackets around URLs which are clickable, 99:59:59.999 --> 99:59:59.999 then do that, at least as an option. 99:59:59.999 --> 99:59:59.999 Because it is really useful for them. 99:59:59.999 --> 99:59:59.999 You, as a sighted person, wouldn't understand why, but they do know why. 99:59:59.999 --> 99:59:59.999 And so OK, make it an option, and the users will enable it. 99:59:59.999 --> 99:59:59.999 It's extremely difficult to deal with accessibility bugs, 99:59:59.999 --> 99:59:59.999 because it's already not easy for people to use your software, 99:59:59.999 --> 99:59:59.999 because of hindrance, or whatever, 99:59:59.999 --> 99:59:59.999 but it's even more difficult for them to report bugs, 99:59:59.999 --> 99:59:59.999 because they have some output on the braille device or speech or whatever, 99:59:59.999 --> 99:59:59.999 and they don't even know what they are supposed to have, 99:59:59.999 --> 99:59:59.999 because they can not see what is on the screen. 99:59:59.999 --> 99:59:59.999 So it's difficult for them to understand what is happening, 99:59:59.999 --> 99:59:59.999 and so it's even more difficult to explain what is happening. 99:59:59.999 --> 99:59:59.999 So, yes, the only way out is to discuss, and take the time to discuss, 99:59:59.999 --> 99:59:59.999 it's long but there is no other way. 99:59:59.999 --> 99:59:59.999 Remember to ask the user for screenshots, they don't necessarily remember to do this. 99:59:59.999 --> 99:59:59.999 Try to think about this because it's actually easy for them to do, 99:59:59.999 --> 99:59:59.999 they just don't think about it. 99:59:59.999 --> 99:59:59.999 And try to keep in mind that their disability and consequences. 99:59:59.999 --> 99:59:59.999 It was quite fun, a few years ago, during the discussion with debian-boot, 99:59:59.999 --> 99:59:59.999 when we talked about making the framebuffer accessible, some person said 99:59:59.999 --> 99:59:59.999 "OK, but then if the framebuffer doesn't show up nicely, the user 99:59:59.999 --> 99:59:59.999 will not be able to reportthe bug about the framebuffer not showing up nicely." 99:59:59.999 --> 99:59:59.999 OK, but he doesn't care, he won't see it anyway. 99:59:59.999 --> 99:59:59.999 So that's fine, we can leave the bug. 99:59:59.999 --> 99:59:59.999 So it's kind of situations where you have to think their situation. 99:59:59.999 --> 99:59:59.999 You can even just contact a institution near you to discuss directly with users. 99:59:59.999 --> 99:59:59.999 There are a lot of them all around the world, so you can try that. 99:59:59.999 --> 99:59:59.999 OK, to conclude: quite a few of your desktop users need accessibility, 99:59:59.999 --> 99:59:59.999 really need it, in any kind of situation, 99:59:59.999 --> 99:59:59.999 so we really want to make accessibility mainstream, 99:59:59.999 --> 99:59:59.999 and we can do quite some work, but we need your help for this, 99:59:59.999 --> 99:59:59.999 so you're welcome. 99:59:59.999 --> 99:59:59.999 Thanks. 99:59:59.999 --> 99:59:59.999 [claps] 99:59:59.999 --> 99:59:59.999 [Michael Banck] Thanks a lot Samuel. So are there any questions? 99:59:59.999 --> 99:59:59.999 [Q] Excuse me, do you know the current status of Chinese, 99:59:59.999 --> 99:59:59.999 Japanese, and Korean support on the Braille display? 99:59:59.999 --> 99:59:59.999 [sthibault] So on the Braille display, I don't remember exactly 99:59:59.999 --> 99:59:59.999 which Braille tables we have... 99:59:59.999 --> 99:59:59.999 Korean we have a table for this, Japanese, we don't seem to have one, 99:59:59.999 --> 99:59:59.999 and Chinese we do have, I don't remember where, but we do, 99:59:59.999 --> 99:59:59.999 I know that there is a proper table for Chinese. 99:59:59.999 --> 99:59:59.999 Japanese, I'm surprised that I couldn't find it, but at least I think 99:59:59.999 --> 99:59:59.999 this is something which already works. 99:59:59.999 --> 99:59:59.999 It has improved a lot since the desktop went to UTF-8 by default, 99:59:59.999 --> 99:59:59.999 so nowadays it's really working, I think. 99:59:59.999 --> 99:59:59.999 Not on the text console on Linux, because Linux' support 99:59:59.999 --> 99:59:59.999 for double-width glyphs is not really good, but on the desktop yes, it's really working 99:59:59.999 --> 99:59:59.999 [Note of transcriptor: there indeed is a japanese table, 99:59:59.999 --> 99:59:59.999 along the chinese and real corean tables (not kok!)] 99:59:59.999 --> 99:59:59.999 [Michael Banck] Any other question? Well... 99:59:59.999 --> 99:59:59.999 [Ksamak] What do you think could be doable at the Debian level, I don't know, 99:59:59.999 --> 99:59:59.999 on the archive or process, to, I don't... 99:59:59.999 --> 99:59:59.999 for maintainers and developers to be aware when they push something, 99:59:59.999 --> 99:59:59.999 that it breaks a feature, or... 99:59:59.999 --> 99:59:59.999 [sthibault] Oh you mean if some desktop breaks accessibility support? 99:59:59.999 --> 99:59:59.999 [Ksamak] Yeah 99:59:59.999 --> 99:59:59.999 Yeah, I was thinking, I've written a note about it, 99:59:59.999 --> 99:59:59.999 to make these checks on a VM somewhere, 99:59:59.999 --> 99:59:59.999 to run it all periodically on all the desktops, 99:59:59.999 --> 99:59:59.999 and then have a red light in the tracker page of these desktops 99:59:59.999 --> 99:59:59.999 so that maintainers see that 99:59:59.999 --> 99:59:59.999 "Oh, there is a problem here", 99:59:59.999 --> 99:59:59.999 and then a link to the wiki page so that they test themselves, and then fix, 99:59:59.999 --> 99:59:59.999 or at least ask for help for fixing it. 99:59:59.999 --> 99:59:59.999 But yeah, that's the kind of thing, as usual, 99:59:59.999 --> 99:59:59.999 making accessibility not a special thing, but just in the usual process, 99:59:59.999 --> 99:59:59.999 like all the lights in the tracker page. 99:59:59.999 --> 99:59:59.999 [Michael Banck] So I have a question about these special widgets, 99:59:59.999 --> 99:59:59.999 did you talk to upstream, GTK or Qt, suggest to disallow special widgets 99:59:59.999 --> 99:59:59.999 if they are not accessible, or is it not possible technically? 99:59:59.999 --> 99:59:59.999 [sthibault] Sorry? 99:59:59.999 --> 99:59:59.999 So you said it's problematic if people come up with their own widgets, 99:59:59.999 --> 99:59:59.999 and is it, would it be possible to just disallow or block it 99:59:59.999 --> 99:59:59.999 if they are not accessible, or is that 99:59:59.999 --> 99:59:59.999 a technical solution to a social problem. 99:59:59.999 --> 99:59:59.999 Yeah, I think that's one of the issues, I mean, people not aware of the problem. 99:59:59.999 --> 99:59:59.999 It is that the development tools not always remind the developer for them, like, 99:59:59.999 --> 99:59:59.999 if you run glade, and do an interface, it should prevent, give a warning 99:59:59.999 --> 99:59:59.999 "You didn't put an alternative text for an image", etc. and yes.... 99:59:59.999 --> 99:59:59.999 But when people write C code, I don't know how to tell them that that's bad. 99:59:59.999 --> 99:59:59.999 [Michael Banck] Are there any other questions? Yes, one? 99:59:59.999 --> 99:59:59.999 [Q] So you talked about you have to turn on the accessibility in the installer, 99:59:59.999 --> 99:59:59.999 I have no idea? 99:59:59.999 --> 99:59:59.999 [sthibault] Sorry I couldn't hear. 99:59:59.999 --> 99:59:59.999 [Q] You talked about, during the installation, 99:59:59.999 --> 99:59:59.999 people might press s or something to turn accessibility on. 99:59:59.999 --> 99:59:59.999 I think Apple have it turned on by default, I mean... 99:59:59.999 --> 99:59:59.999 [sthibault] Well, Apple has it available by default, yes, 99:59:59.999 --> 99:59:59.999 and you have to type a shortcut, I don't remember the shortcut for Apple, 99:59:59.999 --> 99:59:59.999 but yes, it is available all the time on a mac, and on the phone as well. 99:59:59.999 --> 99:59:59.999 [Q] Well, I was thinking in a minute, it's no big deal for me if it's turned on, 99:59:59.999 --> 99:59:59.999 at my computer start... 99:59:59.999 --> 99:59:59.999 [sthibault] Wait, when I say turn on, that means, 99:59:59.999 --> 99:59:59.999 start talking and blabber, so it will make noise [giggles] 99:59:59.999 --> 99:59:59.999 [Michael Banck] Any other questions? Ah, there is one. 99:59:59.999 --> 99:59:59.999 [Steve McIntyre] So the installer, booting off CD, kind of beeps at boot, 99:59:59.999 --> 99:59:59.999 has anybody checked UEFI boot to see if that works the same way? 99:59:59.999 --> 99:59:59.999 UEFI, if you boot the installer CD, I honestly don't know, 99:59:59.999 --> 99:59:59.999 I haven't thought to check until just now, wheither it works if you boot 99:59:59.999 --> 99:59:59.999 via UEFI instead of the old bios. 99:59:59.999 --> 99:59:59.999 [sthibault] I think it's really independent of the firmware. 99:59:59.999 --> 99:59:59.999 The only think is the boot menu where we do have to have a beep. 99:59:59.999 --> 99:59:59.999 Exactly. 99:59:59.999 --> 99:59:59.999 [sthibault] And that's something I didn't test myself. 99:59:59.999 --> 99:59:59.999 [Steve McIntyre] So for UEFI we boot grub instead of isolinux. 99:59:59.999 --> 99:59:59.999 I don't if grub does a beep. 99:59:59.999 --> 99:59:59.999 [sthibault] grub does have a drive of the PC speaker, 99:59:59.999 --> 99:59:59.999 so it can beep actually. 99:59:59.999 --> 99:59:59.999 I'll just write a note. 99:59:59.999 --> 99:59:59.999 [Steve McIntyre] If you can check that, let me know, and we can fix it 99:59:59.999 --> 99:59:59.999 if it's not working. 99:59:59.999 --> 99:59:59.999 [sthibault] Thanks. 99:59:59.999 --> 99:59:59.999 And I was happy to notice that the liveCD of Debian 99:59:59.999 --> 99:59:59.999 actually has the same kind of beep. 99:59:59.999 --> 99:59:59.999 I don't remember asking for it, so it really shows that things are going. 99:59:59.999 --> 99:59:59.999 [Michael Banck] OK, so we are running out of time, so let's thank Samuel again. 99:59:59.999 --> 99:59:59.999 [claps]