WEBVTT 00:00.000 --> 00:13.440 Thank you so much for being with us and being interested in open-source design and without further 00:13.440 --> 00:15.880 a different look at seeing. 00:15.880 --> 00:16.880 Thank you. 00:16.880 --> 00:24.240 So, I'll have you for 20 minutes to talk about improving web accessibility with respect 00:24.240 --> 00:29.480 to background compatibility, there's a lot of words but it's not that difficult. 00:29.480 --> 00:34.200 So, yeah, let's get this. 00:34.200 --> 00:41.400 For context, I worked for two years to improve the web accessibility of the X-Wiki tool. 00:41.400 --> 00:50.120 X-Wiki is a free and open source software which was first released in 2004 when accessibility 00:50.120 --> 00:58.160 really wasn't in the mind of everyone, so there were some things left in some places and 00:58.160 --> 01:06.800 I needed to update it and I was responsible to update those places. 01:06.800 --> 01:10.520 Yeah, so this is X-Wiki just to give you a quick look. 01:10.520 --> 01:20.400 There's a lot of things in the UI and most of X-Wiki we have a tool, X-Wiki standard and 01:20.400 --> 01:26.480 you can put extension on it and you can put your own customization, you can script a lot 01:26.480 --> 01:37.160 of things on it and all of our users, they all have customizations and everything on very 01:37.160 --> 01:38.160 instances. 01:38.160 --> 01:45.280 So, we really need to take care when we update anything to be background compatible because 01:45.280 --> 01:53.080 we don't want our users to have trouble migrating to new virtual versions at least 01:53.080 --> 01:56.760 possible trouble with it. 01:56.760 --> 02:09.680 So, yeah, that's the context and there I was tasked with trying to improve it to give 02:09.680 --> 02:13.240 a keyboard alternative for table dragging actions. 02:13.240 --> 02:19.920 So, as you can see here, we have a component which is kind of data table and everything 02:19.920 --> 02:29.280 go code on, we have you can click the label to filter by this label then you can resize 02:29.280 --> 02:35.240 the columns and you can hear other of them and two years ago you couldn't do this with 02:35.240 --> 02:41.400 a keyboard which isn't really quite for accessibility and even usability. 02:41.400 --> 02:48.200 So, yeah, this was the state of things and this is my first prototype. 02:48.280 --> 03:00.640 I proposed it and actually we merged it and for a day later one of my friends it just 03:00.640 --> 03:07.880 it sent me a message, okay, look up, we need to see something, there's an issue with your 03:07.880 --> 03:08.880 merge. 03:08.880 --> 03:15.160 I have also an issue with your change of the user interface here because on your example, 03:15.240 --> 03:21.880 it's fine, there's space, everything is nice, you can add buttons to, you can add 03:21.880 --> 03:32.200 handles to resize and reorder your columns, but actually on some use cases, on a lot 03:32.200 --> 03:41.440 of very fact, you have like 20 columns and what was fitting really tightly onto one page 03:41.440 --> 03:48.080 before, it overflowed a lot by a lot, so you need it to scroll to access the latest columns 03:48.080 --> 03:58.680 and that's not good, so we needed to discuss again and we arrived to this final version, 03:58.680 --> 04:09.800 we don't have nice looking 24x24 accessible buttons for handles for resizing and reorder 04:09.840 --> 04:17.880 the columns because we had to make compromises, if a space was not really easy to find, 04:17.880 --> 04:28.120 so I just added a small indicator when we have the ring, this one is responsible of resizing 04:28.120 --> 04:38.840 and you can plug in the drop the title to reorder and of course I added all the necessary 04:38.920 --> 04:46.280 listeners to make it with a keyboard and all the RRA descriptions so that users actually 04:46.280 --> 04:54.680 are having on this very specific component could know how to interact with it and how to use 04:54.680 --> 05:03.080 it because it's not a standard opposite to this, this one didn't need many explanations because 05:03.160 --> 05:15.320 it's just buttons with a label and it's fine let's talk so yeah this was this became quite 05:15.320 --> 05:22.520 more difficult and needed a lot more discussions and compromises because we had already users 05:22.520 --> 05:29.720 and a lot of people already using this and getting back on the initial design and the initial 05:29.800 --> 05:41.320 space taken by each column, it was really difficult so the second thing I want to show to you 05:43.320 --> 05:51.640 I want to show to you is making links visually distinct, two years ago we had one mode, 05:51.720 --> 06:00.200 the default which is every link they are not in no link is in their line and the over mode 06:00.200 --> 06:06.520 if you go into a neat little section in your user profile you can activate link and 06:06.520 --> 06:14.600 their lining I had an issue with it it's because when you go to your user profile your first 06:14.600 --> 06:23.720 experience with it's not accessible so it wasn't accessible by default and we couldn't even 06:23.720 --> 06:30.360 assume people knew about this setting because it wasn't really well shown so we needed to do something 06:30.360 --> 06:38.840 about it because users here they would have trouble like with the contrast between the link 06:38.920 --> 06:47.000 and the text is very low so it would be difficult for some users to figure out what is a link 06:47.000 --> 06:54.920 and what is a text like there's two links here that if I just give you a gray image you can barely 06:54.920 --> 07:05.880 see it so yeah there's two solutions for this the first one this is one you just pick a color for 07:05.960 --> 07:13.560 your links where all the contrast requirement between your colors are respected so you need 07:13.560 --> 07:22.520 the four point like for accessible content respecting the value cag 2.2 you need the contrast 07:22.520 --> 07:32.120 of 4.5 between your text and background for you need same for the link color and in a 07:32.120 --> 07:47.000 different you need a contrast of three between the text and the link color yeah sorry yeah that's why 07:47.000 --> 07:53.160 like your contrast is bad and five week it wasn't a solution a possible solution because there were 07:53.160 --> 08:01.640 too many colors everywhere and there were no blue that would fit this thing so we needed 08:01.800 --> 08:09.640 to do underlining this was the only solution to make the links actually distinguishable from 08:09.640 --> 08:20.920 surrounding text but underlining everything is pretty ugly even so like in there's a navigation 08:20.920 --> 08:27.400 element here we have a bunch of links into it and underlining everything I got feedback from the 08:27.400 --> 08:35.560 community they told me it's it makes things so much heavier like it doesn't look good at all 08:35.560 --> 08:45.240 we don't we cannot do this so actually we decided to compromise and try to find the solution 08:45.240 --> 08:53.320 but we fit the best for everyone and to underline only in line links so those links which have 08:53.800 --> 09:00.920 an orange square horned fan they are easy to it's easy to understand they are links 09:00.920 --> 09:07.400 because of their context like you can see around them okay if there's a little dots and it's an 09:07.400 --> 09:13.480 navigation I can probably click on it and it's fine but those links if they are not in their line 09:13.480 --> 09:23.560 those in a little green square it's it's difficult to to figure out if they are actual links 09:23.560 --> 09:35.720 or not possible yeah so that's about it and yeah the backward compatibility aspect is that users 09:35.720 --> 09:47.400 were used like we were used to the loops of this UI which was really light I guess compared to 09:47.400 --> 09:55.640 a full-end online UI and we couldn't just go with a simple solution of underlining everything 09:56.040 --> 10:08.200 we needed to to find the compromise yeah okay the third point I want to talk about it's 10:08.200 --> 10:15.320 thing everyone saw at some point everyone handled the designers or developers it's a login form 10:16.280 --> 10:27.720 in exchange or login form add an issue with tab order when you click on your tab key on your keyboard 10:27.720 --> 10:36.040 on the web page you go through the interactive elements and this was with tab order so one two 10:36.040 --> 10:43.880 you go down down and then you go back up and then down for accessibility you don't want this you want 10:43.880 --> 10:53.800 to line up your content like your visual content with your tab order which in most cases you need to 10:53.800 --> 11:01.320 also line up things up with the other dumb is document object model so it's the way of information 11:02.120 --> 11:14.760 that's contained in the page is stored I guess yeah so this is why I just showed you the path 11:14.760 --> 11:21.160 of the user cursor goes down the form and then back up so we couldn't go with this 11:22.440 --> 11:27.960 the second issue with this was that it was upgraded to be at the start of the page 11:28.840 --> 11:35.800 but when you left the last field of the form it was sent you back to the logo and the top left 11:36.680 --> 11:41.560 so we needed to remove this so this is my first prototype 11:43.160 --> 11:49.160 there I don't want to make UI changes because it needs to be discussed and everything and I'm not 11:49.160 --> 11:57.160 the designer so I cannot propose much so I just said okay let's change the tab order to start here 11:57.160 --> 12:04.280 and then go down there and just go down to form and everything's fine also focus the first 12:04.280 --> 12:16.120 when we arrive and everything's good but we know this and the day later one of my friends contacted me 12:16.120 --> 12:21.480 and it told me okay yeah what you actually did we can't go with this 12:22.360 --> 12:35.240 because it was a user or a fixity and like any developer and when you wanted to log in 12:35.240 --> 12:41.720 it had this is how it's like it was used to just filling his name tapping once filling his first 12:41.720 --> 12:51.400 world tapping twice and then plugging in but I missed this a lot so yeah we're to discuss 12:51.720 --> 12:59.400 change in UI it's not much but we had to discuss it and let me know everyone about it 13:00.040 --> 13:05.880 and we ended up on a design which was kind of similar to this it's not the final one 13:08.440 --> 13:19.240 yeah so that's about it I think it was short one final world 13:19.800 --> 13:26.680 thank you for your attention and what this tells us I want you to remember this lesson 13:27.400 --> 13:34.040 shift level for accessibility if you want your design to stay on a long-term like on a product for 13:35.320 --> 13:45.560 a tool for a long time try to integrate it in your design and to integrate accessibility 13:45.560 --> 13:51.640 and to your designs so that later on you won't have to struggle with the craft compatibility 13:53.640 --> 13:55.640 yeah thank you 14:16.200 --> 14:23.640 okay but what you need to be challenging what's going to be tackled 14:29.640 --> 14:34.920 I think most yeah so what have the big issues left in it's which is right now 14:35.960 --> 14:44.120 I think most of the big issues are tackled most of you we have a ticket system you can 14:44.200 --> 14:51.800 that's completely open you can check there's a double UCHG label if you want to and I think 14:51.800 --> 15:00.520 you can get a filter page from accessibility statement so yeah there's all the info you can 15:00.520 --> 15:07.160 want on fair but yeah the big items are dealt with like things you see every day 15:08.200 --> 15:10.200 like this it's dealt with 15:14.760 --> 15:41.960 so this one's yeah what's the other designer working on this issues okay this one's I 15:42.120 --> 15:49.160 handled them pretty much along like most of the time I didn't expect them to end up in 15:50.760 --> 15:56.520 large changes like you know here it's not a change to a visually UI and it's just a change 15:56.520 --> 16:04.840 in the background of how things work and I didn't like I didn't communicate with a designer 16:04.840 --> 16:11.960 for this but yeah when when I get here by his point I get the feedback of a designer on the 16:11.960 --> 16:24.040 forum description and yeah and most of the time when I see I like yeah when I see I have some UI 16:24.040 --> 16:30.200 changes to make I check with the second year too okay what do you think of this if it's 16:30.280 --> 16:36.920 complicated can you can you help me find something and if I have an idea of what I want to do 16:36.920 --> 16:55.800 can you can you check that my solution is not bad I don't like that and so it's 16:55.800 --> 17:01.720 what's the problem and so it's you think what what you see what you explain I have the idea 17:01.720 --> 17:09.560 the idea is very simple so you know you have the money or clean up this you type out you have 17:09.560 --> 17:17.960 the withdrawn article of the money and you type or you have the top of you have a cross or like this 17:17.960 --> 17:23.560 something like that and you advance you can have the sound and then you you stop for a 17:23.560 --> 17:31.160 metaphor of some money and so I'm sorry but probably sound also for people and people 17:31.160 --> 17:38.600 that play and so and so for me it's with this idea of this kind of model but I don't know why it's 17:39.560 --> 17:50.360 yeah so for liberal physics I'm not sure how what is it sorry um the the model of tab tab in indexing 17:50.360 --> 18:00.520 for the interface is nice but I will provide just some more elements to guide you my other 18:01.400 --> 18:08.680 so for liberal physics I'm not sure about what is behind it but for web web content and 18:09.960 --> 18:17.480 everything web there's a guideline double usage and it's explicit here written into it that you 18:17.480 --> 18:30.440 need to make your web page usable only with with a keyboard with so that's one of the reasons 18:30.440 --> 18:36.440 why it's so easy to make it for our web because we have a lot of tools and 18:51.000 --> 18:55.000 yeah accessibility is useful for everyone 19:00.440 --> 19:28.120 I mean yeah not much like to be honest most of the time the community is understanding and we try to 19:28.200 --> 19:35.080 to make things work somehow to find the solution that will find us work for everyone 19:35.080 --> 19:42.200 I remember I really wanted those buttons to stay there but because it's 19:43.000 --> 19:50.920 more accessible to have buttons that are always visible and part of and things appearing out of 19:50.920 --> 19:57.800 nowhere and disappearing when you move your mouse and yeah I had to compromise for example here 19:57.800 --> 20:05.880 but yeah this was telling improvements compared to what was before where there was no 20:05.880 --> 20:11.560 no keyboard interaction and nowhere if I need to hear about this so we know that we cannot 20:11.560 --> 20:18.600 really make change this in any way to make it more accessible so 20:18.600 --> 20:26.280 when we go over or when we arrive there's the mouse on that line 20:26.280 --> 20:28.920 it's this one 20:28.920 --> 20:33.560 no there's this in the compromise in the final one 20:33.560 --> 20:34.920 oh okay this one 20:34.920 --> 20:38.600 yeah so because I think that's one in the beginning 20:38.600 --> 20:42.920 what you explain is you show that another community 20:43.800 --> 20:51.400 oh so actually this one it's just a table you can it's it's a big 20:51.400 --> 20:56.200 you can scroll vertically yeah but it's not supposed to scroll horizontally 20:56.200 --> 21:04.520 but because of this it made everything like the minimum length of columns was increased 21:04.520 --> 21:10.440 significantly and in some in some places it made it so that we had 21:10.440 --> 21:18.520 vertical horizontal scrolling so 21:31.240 --> 21:37.160 you've talked about elements layout and additions of things like underlying 21:38.040 --> 21:41.320 did you have any significant color changes 21:42.360 --> 21:51.000 did I implement any significant color changes no because we don't want to change 21:51.000 --> 21:56.680 I yes but no we don't want to change too much of the user experience from the 21:56.680 --> 22:00.680 one version to another and we're like okay we have a standard color film 22:01.560 --> 22:08.280 it's not completely the both the UCAG compliance it was quite good still 22:08.280 --> 22:14.920 but in some places we needed a few tweaks so I looked for the colors with 22:14.920 --> 22:22.920 like minimum compliance just to make it a minimum changes but still compliant 22:22.920 --> 22:28.680 and so our main color film like the first one you have when you're in starry 22:29.640 --> 22:36.280 it's a double UCAG compliant today and we tested automatically it's 22:39.000 --> 22:44.920 but yeah there was a joke in in the community about the changes 22:44.920 --> 22:50.600 can you see the difference between the two pictures one was the one with the old colors 22:50.600 --> 22:56.440 and one was the one with the new colors and actually didn't look that much different 22:56.520 --> 23:00.520 it was just there is more tweaks 23:01.160 --> 23:07.000 anything the beginning you spoke about whether the four of the experience and the extension 23:08.680 --> 23:14.360 yeah also the the movement extension also are the extension that provided by 23:14.360 --> 23:20.040 speaking and so as I said so did you work on the extension as well so 23:20.040 --> 23:25.240 provide documentation for the external developers who want to create their own 23:25.240 --> 23:35.320 extension for the the needs if it's just to create an extension because 23:35.320 --> 23:43.160 those are community extensions so there's a lot and I didn't work on all of them like some of 23:43.160 --> 23:49.320 them are baked in it's we just don't know some of them are I have priority on fairly used 23:49.400 --> 23:55.800 mouth and so we care a bit more about them but we didn't go through all the extensions to make sure 23:55.800 --> 24:02.760 they are accessible because it would never hand or like 24:02.760 --> 24:13.480 just a comment on maybe 20 or to mark in the comments on the one that accessibility provides 24:13.480 --> 24:31.880 to check okay yeah okay if a comment is would it be possible to mark the extensions 24:31.880 --> 24:38.440 as accessibility compliant and I think yes but right now a new one checked them so there's 24:38.440 --> 24:45.160 not really one yet but yeah we can we we could probably add the field on the extension 24:45.160 --> 24:49.720 description to to make sure