1 00:00:11,759 --> 00:00:16,720 hi everyone welcome back to our last 2 00:00:14,160 --> 00:00:19,920 talk of the day here in the devops track 3 00:00:16,720 --> 00:00:21,680 devops track oops oops 4 00:00:19,920 --> 00:00:24,320 oops 5 00:00:21,680 --> 00:00:25,840 i hope you uh been able to hold on 6 00:00:24,320 --> 00:00:28,640 through the whole day it has been a long 7 00:00:25,840 --> 00:00:30,560 day full of great tr of great talks uh 8 00:00:28,640 --> 00:00:32,480 and this last one is is one that i've 9 00:00:30,560 --> 00:00:34,559 been looking forward to for a while it's 10 00:00:32,480 --> 00:00:38,000 by dawn e collette and it's called 11 00:00:34,559 --> 00:00:40,079 accessibility overlays a cautionary tale 12 00:00:38,000 --> 00:00:42,879 and we are going to take advantage of 13 00:00:40,079 --> 00:00:44,800 one of the benefits of being online 14 00:00:42,879 --> 00:00:47,120 uh because this is a pre-recorded talk 15 00:00:44,800 --> 00:00:49,440 but dawn is here with us and we'll be 16 00:00:47,120 --> 00:00:51,039 able to talk to you and answer questions 17 00:00:49,440 --> 00:00:52,559 while also presenting to you 18 00:00:51,039 --> 00:00:54,960 simultaneously 19 00:00:52,559 --> 00:00:57,199 so do ask do ask questions uh in the 20 00:00:54,960 --> 00:01:00,000 chat there and hopefully at the end 21 00:00:57,199 --> 00:01:02,879 we'll also be able to get dawn on and do 22 00:01:00,000 --> 00:01:04,159 some interactive q a as well to round 23 00:01:02,879 --> 00:01:06,720 out the day 24 00:01:04,159 --> 00:01:10,040 so now we'll throw over to the talk uh 25 00:01:06,720 --> 00:01:10,040 by dawn 26 00:01:12,000 --> 00:01:17,439 hello everyone and welcome to pycon au 27 00:01:14,920 --> 00:01:19,439 2021 once again from the comfort of your 28 00:01:17,439 --> 00:01:21,280 own home it's great to be back here 29 00:01:19,439 --> 00:01:23,119 again this year um today i will be 30 00:01:21,280 --> 00:01:25,119 talking to you about a cautionary tale 31 00:01:23,119 --> 00:01:27,520 from the modern tech industry and that 32 00:01:25,119 --> 00:01:29,200 is about accessibility overlays 33 00:01:27,520 --> 00:01:32,079 if you do want to follow along as i'm 34 00:01:29,200 --> 00:01:33,360 speaking then you can go to the github 35 00:01:32,079 --> 00:01:36,000 link on the slide that's up at the 36 00:01:33,360 --> 00:01:37,840 moment which will show you my sources or 37 00:01:36,000 --> 00:01:39,360 you can just scan the qr code with your 38 00:01:37,840 --> 00:01:41,280 phone and then you'll be able to bring 39 00:01:39,360 --> 00:01:43,119 up my sources 40 00:01:41,280 --> 00:01:44,799 before we start i do want to take the 41 00:01:43,119 --> 00:01:47,040 time to acknowledge the war injury 42 00:01:44,799 --> 00:01:48,960 people of the kulin nation on whose land 43 00:01:47,040 --> 00:01:50,320 this talk was recorded 44 00:01:48,960 --> 00:01:51,840 and all of the other aboriginal and 45 00:01:50,320 --> 00:01:54,399 torres strait islander people and groups 46 00:01:51,840 --> 00:01:56,640 around australia this is and always will 47 00:01:54,399 --> 00:01:59,040 be aboriginal land their sovereignty was 48 00:01:56,640 --> 00:01:59,840 never seeded 49 00:01:59,040 --> 00:02:01,840 now 50 00:01:59,840 --> 00:02:04,159 this story starts when 51 00:02:01,840 --> 00:02:06,880 a year and change ago i went out and i 52 00:02:04,159 --> 00:02:09,599 bought myself a new laptop um this is a 53 00:02:06,880 --> 00:02:12,000 picture of it it is a thinkpad x1 carbon 54 00:02:09,599 --> 00:02:13,680 it is a fantastic laptop and the range 55 00:02:12,000 --> 00:02:15,680 of stickers on it should be absolutely 56 00:02:13,680 --> 00:02:18,000 no surprise whatsoever to anyone who 57 00:02:15,680 --> 00:02:21,120 knows me well at all 58 00:02:18,000 --> 00:02:23,120 and whenever i buy myself a new machine 59 00:02:21,120 --> 00:02:24,800 i have a sort of run book that i go 60 00:02:23,120 --> 00:02:26,000 through in terms of things that i need 61 00:02:24,800 --> 00:02:28,319 to set up 62 00:02:26,000 --> 00:02:30,160 and as part of that run book 63 00:02:28,319 --> 00:02:32,640 one thing that i generally set up very 64 00:02:30,160 --> 00:02:33,920 early on when i acquire a new machine is 65 00:02:32,640 --> 00:02:35,519 nvda 66 00:02:33,920 --> 00:02:36,800 the free and open source screen reader 67 00:02:35,519 --> 00:02:38,959 for windows 68 00:02:36,800 --> 00:02:40,800 now i don't do that because i rely on 69 00:02:38,959 --> 00:02:43,040 screen readers 70 00:02:40,800 --> 00:02:44,560 in the day-to-day i will generally do 71 00:02:43,040 --> 00:02:46,239 that because 72 00:02:44,560 --> 00:02:49,040 it's very useful to have a screen reader 73 00:02:46,239 --> 00:02:50,959 on your machine to test websites 74 00:02:49,040 --> 00:02:53,120 particularly if you are going to give 75 00:02:50,959 --> 00:02:55,280 websites to blind or vision impaired 76 00:02:53,120 --> 00:02:57,280 people or screen reader users it's good 77 00:02:55,280 --> 00:02:59,200 to be able to test them so that you can 78 00:02:57,280 --> 00:03:00,959 get a feel for what's going on on those 79 00:02:59,200 --> 00:03:03,840 websites 80 00:03:00,959 --> 00:03:05,440 and so as i'm going through the rest of 81 00:03:03,840 --> 00:03:07,519 the run book of things that i tend to 82 00:03:05,440 --> 00:03:09,280 set up you know downloading other 83 00:03:07,519 --> 00:03:11,840 programs setting up ad blocking and 84 00:03:09,280 --> 00:03:13,120 script blocking software on my machine 85 00:03:11,840 --> 00:03:16,319 um 86 00:03:13,120 --> 00:03:17,760 i hear this really odd phrase 87 00:03:16,319 --> 00:03:20,080 something that i've never actually heard 88 00:03:17,760 --> 00:03:22,080 nvda say to me before 89 00:03:20,080 --> 00:03:23,840 press alt plus one for screen reader 90 00:03:22,080 --> 00:03:25,360 mode 91 00:03:23,840 --> 00:03:27,440 and i thought about that and i thought 92 00:03:25,360 --> 00:03:29,440 that's a bit weird i don't think that 93 00:03:27,440 --> 00:03:32,799 sounds like a common command prompt or a 94 00:03:29,440 --> 00:03:35,040 common prompt that nvda would give me 95 00:03:32,799 --> 00:03:38,000 and then i realized that i'd heard about 96 00:03:35,040 --> 00:03:39,840 these things before 97 00:03:38,000 --> 00:03:41,840 welcome to the world of accessibility 98 00:03:39,840 --> 00:03:43,599 overlays 99 00:03:41,840 --> 00:03:45,920 if you ask the people who develop and 100 00:03:43,599 --> 00:03:48,720 sell accessibility overlays then they 101 00:03:45,920 --> 00:03:50,480 are a one line of code solution that you 102 00:03:48,720 --> 00:03:52,640 can add to your website which will 103 00:03:50,480 --> 00:03:54,959 automatically remediate all kinds of 104 00:03:52,640 --> 00:03:56,720 accessibility issues 105 00:03:54,959 --> 00:03:58,159 and you might think that that sounds too 106 00:03:56,720 --> 00:04:00,640 good to be true 107 00:03:58,159 --> 00:04:02,480 but in order to test that claim 108 00:04:00,640 --> 00:04:05,360 first of all we need to understand a 109 00:04:02,480 --> 00:04:07,439 little bit about disability rights and 110 00:04:05,360 --> 00:04:10,080 primarily how disability rights have 111 00:04:07,439 --> 00:04:12,400 kind of grown and changed with the 112 00:04:10,080 --> 00:04:13,439 advent of the internet 113 00:04:12,400 --> 00:04:15,840 because 114 00:04:13,439 --> 00:04:18,320 in a lot of countries around the world 115 00:04:15,840 --> 00:04:21,040 disability rights legislation actually 116 00:04:18,320 --> 00:04:22,320 predates the widespread use of the 117 00:04:21,040 --> 00:04:25,280 internet 118 00:04:22,320 --> 00:04:26,880 um and spoiler more often than not uh if 119 00:04:25,280 --> 00:04:29,120 you want to exercise your disability 120 00:04:26,880 --> 00:04:31,840 rights on the internet you do actually 121 00:04:29,120 --> 00:04:33,759 have to sue for them 122 00:04:31,840 --> 00:04:36,720 and we can demonstrate this by having a 123 00:04:33,759 --> 00:04:37,520 look at some lawsuits around the world 124 00:04:36,720 --> 00:04:40,840 and 125 00:04:37,520 --> 00:04:44,080 this little tour starts in 126 00:04:40,840 --> 00:04:46,080 2010 when a blind lady by the name of 127 00:04:44,080 --> 00:04:48,400 donna jordan someone who used a screen 128 00:04:46,080 --> 00:04:50,479 reader to get around the internet um 129 00:04:48,400 --> 00:04:53,199 decided that she wanted to plot to apply 130 00:04:50,479 --> 00:04:55,759 for a job with the canadian government 131 00:04:53,199 --> 00:04:57,520 and so she using her screen reader 132 00:04:55,759 --> 00:04:59,759 found her way to the canadian government 133 00:04:57,520 --> 00:05:02,080 jobs website and she discovered that it 134 00:04:59,759 --> 00:05:03,600 was in fact inaccessible she could not 135 00:05:02,080 --> 00:05:05,360 navigate around it with her screen 136 00:05:03,600 --> 00:05:08,479 reader 137 00:05:05,360 --> 00:05:10,639 and so she did what many many people 138 00:05:08,479 --> 00:05:13,520 before her have had to do in order to 139 00:05:10,639 --> 00:05:15,199 exercise their disability rights and she 140 00:05:13,520 --> 00:05:16,560 filed a lawsuit against the canadian 141 00:05:15,199 --> 00:05:18,880 government 142 00:05:16,560 --> 00:05:20,080 she won that lawsuit she won again on 143 00:05:18,880 --> 00:05:21,759 appeal 144 00:05:20,080 --> 00:05:24,160 and the end result of that was the 145 00:05:21,759 --> 00:05:26,479 canadian government was required to make 146 00:05:24,160 --> 00:05:28,560 their government jobs website accessible 147 00:05:26,479 --> 00:05:29,840 not just to screen reader users but to 148 00:05:28,560 --> 00:05:31,120 all sorts of other people with 149 00:05:29,840 --> 00:05:32,639 disabilities 150 00:05:31,120 --> 00:05:35,919 and so that was kind of the first 151 00:05:32,639 --> 00:05:37,680 frontier establishing that in canada the 152 00:05:35,919 --> 00:05:40,800 government had the obligation to make 153 00:05:37,680 --> 00:05:42,400 all of their websites accessible 154 00:05:40,800 --> 00:05:44,720 then we come to australia where we're 155 00:05:42,400 --> 00:05:47,280 going to go and do some grocery shopping 156 00:05:44,720 --> 00:05:49,360 at kohl's um and we're going to ride 157 00:05:47,280 --> 00:05:52,479 along here with a lady by the name of 158 00:05:49,360 --> 00:05:56,400 giselle maznash a sydney cider blind 159 00:05:52,479 --> 00:05:57,840 from birth and a screen reader user now 160 00:05:56,400 --> 00:05:59,039 being someone who enjoyed her 161 00:05:57,840 --> 00:06:01,759 independence 162 00:05:59,039 --> 00:06:03,919 she very often did her grocery shopping 163 00:06:01,759 --> 00:06:06,880 using kohl's online and when she started 164 00:06:03,919 --> 00:06:09,840 doing that in 2008 the cole's online 165 00:06:06,880 --> 00:06:11,919 shopping website was actually perfectly 166 00:06:09,840 --> 00:06:13,919 accessible to her 167 00:06:11,919 --> 00:06:16,160 but after a couple of redesigns that was 168 00:06:13,919 --> 00:06:17,840 no longer the case and she didn't want 169 00:06:16,160 --> 00:06:19,840 to go straight out 170 00:06:17,840 --> 00:06:21,280 and acquire herself a lawyer so 171 00:06:19,840 --> 00:06:22,880 initially 172 00:06:21,280 --> 00:06:24,960 she actually tried to engage in a 173 00:06:22,880 --> 00:06:27,840 dialogue with calls to sit down and sort 174 00:06:24,960 --> 00:06:30,160 of have a discussion with them about hey 175 00:06:27,840 --> 00:06:31,600 can we look at ways that we can actually 176 00:06:30,160 --> 00:06:33,680 you know that you can actually improve 177 00:06:31,600 --> 00:06:35,520 this website so that i'm going to be 178 00:06:33,680 --> 00:06:37,039 able to use it 179 00:06:35,520 --> 00:06:38,800 and after that turned out to be 180 00:06:37,039 --> 00:06:40,240 fruitless 181 00:06:38,800 --> 00:06:43,680 she decided that she had to go for the 182 00:06:40,240 --> 00:06:48,000 nuclear option and so she went and again 183 00:06:43,680 --> 00:06:50,080 acquired a lawyer and she sued coles 184 00:06:48,000 --> 00:06:52,319 this actually ended much quicker than 185 00:06:50,080 --> 00:06:55,039 the canadian government jobs website 186 00:06:52,319 --> 00:06:57,599 lawsuit because i imagine what happened 187 00:06:55,039 --> 00:07:00,319 here was that a few lawyers at kohl's 188 00:06:57,599 --> 00:07:02,479 probably sat around a boardroom um 189 00:07:00,319 --> 00:07:04,800 probably in their hawthorne office 190 00:07:02,479 --> 00:07:07,120 and they probably had a long discussion 191 00:07:04,800 --> 00:07:08,800 uh that ended in a lot of oh dear and a 192 00:07:07,120 --> 00:07:10,479 lot of swear words 193 00:07:08,800 --> 00:07:12,080 and they decided to their credit that 194 00:07:10,479 --> 00:07:14,240 the best way to deal with with this 195 00:07:12,080 --> 00:07:15,680 lawsuit was to settle it 196 00:07:14,240 --> 00:07:18,080 part of the settlement that giselle 197 00:07:15,680 --> 00:07:19,840 mesnage and coles came to was that calls 198 00:07:18,080 --> 00:07:22,560 were actually required then to make 199 00:07:19,840 --> 00:07:23,840 their online shopping website accessible 200 00:07:22,560 --> 00:07:27,759 and that's something that they still 201 00:07:23,840 --> 00:07:27,759 have a really strong commitment to today 202 00:07:28,000 --> 00:07:33,520 but oddly enough if we talk particularly 203 00:07:30,720 --> 00:07:35,599 about legislation around disability the 204 00:07:33,520 --> 00:07:37,919 home of disability legislation is a 205 00:07:35,599 --> 00:07:40,319 country that many people might not think 206 00:07:37,919 --> 00:07:42,960 of immediately when they think of it and 207 00:07:40,319 --> 00:07:45,840 that is the united states of america 208 00:07:42,960 --> 00:07:47,520 31 years ago just a bit over 31 years 209 00:07:45,840 --> 00:07:48,960 ago in the us 210 00:07:47,520 --> 00:07:50,879 they passed the americans with 211 00:07:48,960 --> 00:07:52,639 disabilities act which was widely 212 00:07:50,879 --> 00:07:54,160 considered at the time and still is 213 00:07:52,639 --> 00:07:56,639 actually to be one of the most 214 00:07:54,160 --> 00:07:58,960 comprehensive pieces of legislation that 215 00:07:56,639 --> 00:08:01,840 covers disability and disability access 216 00:07:58,960 --> 00:08:03,520 and disability rights issues 217 00:08:01,840 --> 00:08:05,440 and one thing that they tend to talk 218 00:08:03,520 --> 00:08:07,039 about a lot that's actually specifically 219 00:08:05,440 --> 00:08:08,879 defined in the americans with 220 00:08:07,039 --> 00:08:10,720 disabilities act 221 00:08:08,879 --> 00:08:12,800 is the concept of a place of public 222 00:08:10,720 --> 00:08:14,879 accommodation and that's not just saying 223 00:08:12,800 --> 00:08:16,800 you know that the government has to be 224 00:08:14,879 --> 00:08:18,479 accessible but if you were to go to the 225 00:08:16,800 --> 00:08:20,400 white house or to congress that they 226 00:08:18,479 --> 00:08:21,840 have to be accessible 227 00:08:20,400 --> 00:08:24,080 what we're actually saying when we talk 228 00:08:21,840 --> 00:08:26,080 about a place of public accommodation is 229 00:08:24,080 --> 00:08:27,919 that anywhere in public where you would 230 00:08:26,080 --> 00:08:30,080 expect people to go 231 00:08:27,919 --> 00:08:31,919 has to be accessible under the americans 232 00:08:30,080 --> 00:08:33,839 with disabilities act 233 00:08:31,919 --> 00:08:36,320 so that means that if you wanted to say 234 00:08:33,839 --> 00:08:38,399 uh go down to your local domino's pizza 235 00:08:36,320 --> 00:08:41,279 and order some pizza for yourself and 236 00:08:38,399 --> 00:08:43,599 whomever might be with you at the time 237 00:08:41,279 --> 00:08:45,360 domino's pizza is required if you are 238 00:08:43,599 --> 00:08:47,440 safe blind 239 00:08:45,360 --> 00:08:50,480 to make that domino's pizza outlet 240 00:08:47,440 --> 00:08:50,480 accessible to you 241 00:08:50,640 --> 00:08:54,800 but what happens when you don't want to 242 00:08:52,880 --> 00:08:56,959 walk down to your local domino's pizza 243 00:08:54,800 --> 00:09:00,480 to order yourself a pizza you want to 244 00:08:56,959 --> 00:09:02,000 use domino's online website instead 245 00:09:00,480 --> 00:09:04,640 well a gentleman by the name of 246 00:09:02,000 --> 00:09:07,279 guillermo robles also blind also a 247 00:09:04,640 --> 00:09:09,680 screen reader user did in fact try to 248 00:09:07,279 --> 00:09:11,600 order a pizza on the domino's pizza 249 00:09:09,680 --> 00:09:12,720 online ordering website and he 250 00:09:11,600 --> 00:09:14,399 discovered 251 00:09:12,720 --> 00:09:18,320 probably to nobody's surprise at this 252 00:09:14,399 --> 00:09:19,600 point that it was not accessible to him 253 00:09:18,320 --> 00:09:21,440 so again 254 00:09:19,600 --> 00:09:23,920 entered into the kind of process that 255 00:09:21,440 --> 00:09:26,080 the ada requires around an interactive 256 00:09:23,920 --> 00:09:27,440 discussion eventually had to get himself 257 00:09:26,080 --> 00:09:28,880 a lawyer 258 00:09:27,440 --> 00:09:31,600 now 259 00:09:28,880 --> 00:09:33,600 unlike donna jordan and giselle messnage 260 00:09:31,600 --> 00:09:35,360 guillermo robles actually lost his case 261 00:09:33,600 --> 00:09:37,040 in the lower court 262 00:09:35,360 --> 00:09:39,920 and it was appealed all the way to the 263 00:09:37,040 --> 00:09:41,360 supreme court um what happened here when 264 00:09:39,920 --> 00:09:43,200 it was appealed to the supreme court was 265 00:09:41,360 --> 00:09:45,600 they actually said this case has been 266 00:09:43,200 --> 00:09:48,240 decided incorrectly they reminded it 267 00:09:45,600 --> 00:09:50,399 back to the lower court to be decided 268 00:09:48,240 --> 00:09:52,560 and what we might find as a result of 269 00:09:50,399 --> 00:09:54,399 that is that 270 00:09:52,560 --> 00:09:56,160 along with the right that exists already 271 00:09:54,399 --> 00:09:58,560 in countries like canada and australia 272 00:09:56,160 --> 00:10:01,120 that's been tested through lawsuits that 273 00:09:58,560 --> 00:10:01,920 in the us it may soon become the case 274 00:10:01,120 --> 00:10:04,000 that 275 00:10:01,920 --> 00:10:06,399 places of public accommodation are not 276 00:10:04,000 --> 00:10:08,959 just physical outlets that the virtual 277 00:10:06,399 --> 00:10:11,200 world also has to be a place of public 278 00:10:08,959 --> 00:10:13,600 accommodation as well so 279 00:10:11,200 --> 00:10:16,000 if your domino's pizza franchise has to 280 00:10:13,600 --> 00:10:17,839 be accessible physically the e-commerce 281 00:10:16,000 --> 00:10:20,079 site by where you would order go and 282 00:10:17,839 --> 00:10:22,640 order some pizza equally has to be 283 00:10:20,079 --> 00:10:22,640 accessible 284 00:10:23,200 --> 00:10:27,200 so 285 00:10:25,360 --> 00:10:29,839 before we go back to the accessibility 286 00:10:27,200 --> 00:10:31,839 overlays let's kind of go through some 287 00:10:29,839 --> 00:10:35,360 of the things that we have to do in 288 00:10:31,839 --> 00:10:36,399 order to make websites accessible 289 00:10:35,360 --> 00:10:38,480 and 290 00:10:36,399 --> 00:10:40,000 because a lot of the lawsuits and a lot 291 00:10:38,480 --> 00:10:42,160 of the cases that we're talking about 292 00:10:40,000 --> 00:10:43,839 here have been around screen reader 293 00:10:42,160 --> 00:10:46,000 users 294 00:10:43,839 --> 00:10:47,519 we will also look or i sort of want to 295 00:10:46,000 --> 00:10:50,560 focus here on 296 00:10:47,519 --> 00:10:52,320 common access fails specifically related 297 00:10:50,560 --> 00:10:54,640 to screen reader use 298 00:10:52,320 --> 00:10:56,720 and there are quite a few of them 299 00:10:54,640 --> 00:10:58,240 you've got things like incorrect heading 300 00:10:56,720 --> 00:11:00,320 levels because 301 00:10:58,240 --> 00:11:02,480 screen reader users tend to use the 302 00:11:00,320 --> 00:11:04,160 heading level to actually navigate a 303 00:11:02,480 --> 00:11:06,640 website and work out whether they want 304 00:11:04,160 --> 00:11:08,640 to read all of the body text so if you 305 00:11:06,640 --> 00:11:10,399 mess up your heading levels or you've 306 00:11:08,640 --> 00:11:13,040 got you know neatly defined heading 307 00:11:10,399 --> 00:11:14,320 levels visually but not neatly defined 308 00:11:13,040 --> 00:11:15,920 heading levels when you're tabbing 309 00:11:14,320 --> 00:11:18,320 through that the screen reader can read 310 00:11:15,920 --> 00:11:20,079 to you that's going to be a problem in 311 00:11:18,320 --> 00:11:22,399 terms of people being able to find the 312 00:11:20,079 --> 00:11:24,160 text that they want 313 00:11:22,399 --> 00:11:27,519 another concern that you've got there is 314 00:11:24,160 --> 00:11:29,680 around things like poorly labeled tables 315 00:11:27,519 --> 00:11:32,079 poorly labeled graphs or even graphs 316 00:11:29,680 --> 00:11:33,760 where you've just stuck an image up and 317 00:11:32,079 --> 00:11:35,920 there's no way for a screen reader user 318 00:11:33,760 --> 00:11:37,600 to actually see the raw information 319 00:11:35,920 --> 00:11:39,279 there 320 00:11:37,600 --> 00:11:41,440 a lot of these things can be fixed by 321 00:11:39,279 --> 00:11:43,200 just proper formatting but something 322 00:11:41,440 --> 00:11:45,279 that can't necessarily be fixed by 323 00:11:43,200 --> 00:11:47,680 proper formatting is things like drop 324 00:11:45,279 --> 00:11:50,000 downs buttons and other widgets that you 325 00:11:47,680 --> 00:11:52,000 would commonly see in html and there are 326 00:11:50,000 --> 00:11:54,160 two ways to make those accessible the 327 00:11:52,000 --> 00:11:55,920 older way of doing it is with aria tags 328 00:11:54,160 --> 00:11:57,440 which are basically just tags that tell 329 00:11:55,920 --> 00:11:59,200 the screen reader what to read out and 330 00:11:57,440 --> 00:12:01,440 how to navigate 331 00:11:59,200 --> 00:12:03,279 but in modern html we have a concept of 332 00:12:01,440 --> 00:12:05,040 semantic html 333 00:12:03,279 --> 00:12:07,360 which is where a lot of these things 334 00:12:05,040 --> 00:12:09,279 have already been done 335 00:12:07,360 --> 00:12:11,440 and so all you need to do then is make 336 00:12:09,279 --> 00:12:13,440 sure that you use the semantic html 337 00:12:11,440 --> 00:12:15,040 element which is fully accessible to a 338 00:12:13,440 --> 00:12:17,360 screen reader 339 00:12:15,040 --> 00:12:19,279 and finally one other thing that tends 340 00:12:17,360 --> 00:12:21,760 to be a fairly big issue is not just 341 00:12:19,279 --> 00:12:23,440 images of graphs but images in general 342 00:12:21,760 --> 00:12:25,440 because obviously 343 00:12:23,440 --> 00:12:28,399 blind or visually impaired people can't 344 00:12:25,440 --> 00:12:30,320 necessarily see images and so what we 345 00:12:28,399 --> 00:12:32,560 need to do then 346 00:12:30,320 --> 00:12:35,120 is to basically allow the screen reader 347 00:12:32,560 --> 00:12:37,279 to see the image for its user and the 348 00:12:35,120 --> 00:12:39,600 way that you do that is by writing alt 349 00:12:37,279 --> 00:12:41,839 text which is basically a fairly short 350 00:12:39,600 --> 00:12:43,360 description of the image you generally 351 00:12:41,839 --> 00:12:45,680 don't want it to be longer than about a 352 00:12:43,360 --> 00:12:48,240 paragraph that gets across all of the 353 00:12:45,680 --> 00:12:50,160 critical information in it 354 00:12:48,240 --> 00:12:51,600 and you know you attach the alt text to 355 00:12:50,160 --> 00:12:53,519 the image and then when the screen 356 00:12:51,600 --> 00:12:55,519 reader actually comes to focus on the 357 00:12:53,519 --> 00:12:57,920 image what it will read out is not just 358 00:12:55,519 --> 00:12:59,920 oh there's an image here but here is the 359 00:12:57,920 --> 00:13:02,240 alt text that the person you know that a 360 00:12:59,920 --> 00:13:04,399 sighted person has used to describe this 361 00:13:02,240 --> 00:13:06,079 image 362 00:13:04,399 --> 00:13:08,320 and you might look at a lot of those 363 00:13:06,079 --> 00:13:09,920 fairly common issues and go 364 00:13:08,320 --> 00:13:13,200 this is something that should probably 365 00:13:09,920 --> 00:13:14,800 be solvable using modern ai and machine 366 00:13:13,200 --> 00:13:15,600 learning 367 00:13:14,800 --> 00:13:17,760 well 368 00:13:15,600 --> 00:13:21,519 about that 369 00:13:17,760 --> 00:13:24,079 i did a talk at linda's conf au 2021 370 00:13:21,519 --> 00:13:26,480 earlier this year called the privacy tax 371 00:13:24,079 --> 00:13:28,480 it was generally focused on the topic of 372 00:13:26,480 --> 00:13:30,720 disability and security particularly 373 00:13:28,480 --> 00:13:33,279 around things like tracking and storage 374 00:13:30,720 --> 00:13:35,360 and misuse of personal data 375 00:13:33,279 --> 00:13:37,279 but one thing that i actually did during 376 00:13:35,360 --> 00:13:38,880 the process of this talk was 377 00:13:37,279 --> 00:13:40,959 rather than introducing myself in the 378 00:13:38,880 --> 00:13:43,360 typical way i decided that i was going 379 00:13:40,959 --> 00:13:46,800 to get an ai to introduce me to the 380 00:13:43,360 --> 00:13:48,399 audience for everyone 381 00:13:46,800 --> 00:13:50,639 and i learned some very interesting 382 00:13:48,399 --> 00:13:52,959 things from that um this is one of the 383 00:13:50,639 --> 00:13:55,120 images that i used to introduce myself 384 00:13:52,959 --> 00:13:57,120 this is a picture of me with one of the 385 00:13:55,120 --> 00:13:59,199 cows at the moving art installation in 386 00:13:57,120 --> 00:14:00,959 shepparton which was taken in november 387 00:13:59,199 --> 00:14:03,199 2018. 388 00:14:00,959 --> 00:14:06,000 now i had actually trained an ml 389 00:14:03,199 --> 00:14:07,600 classifier to describe images for me and 390 00:14:06,000 --> 00:14:09,839 specifically what i was looking at was 391 00:14:07,600 --> 00:14:12,000 the way that it described people 392 00:14:09,839 --> 00:14:14,160 to see could it pick up on signs of 393 00:14:12,000 --> 00:14:17,440 visible disabilities and you notice 394 00:14:14,160 --> 00:14:19,360 obviously the walking stick there 395 00:14:17,440 --> 00:14:21,120 but if i was going to go and describe 396 00:14:19,360 --> 00:14:23,360 this image i would describe it as 397 00:14:21,120 --> 00:14:25,600 something like you know this is dawn 398 00:14:23,360 --> 00:14:27,360 wearing a boston red sox baseball cap 399 00:14:25,600 --> 00:14:29,519 black shirt with right print and pink 400 00:14:27,360 --> 00:14:31,120 trousers holding a blue walking stick 401 00:14:29,519 --> 00:14:33,600 and sitting on a cow that's painted 402 00:14:31,120 --> 00:14:35,199 green and blue like a mermaid 403 00:14:33,600 --> 00:14:37,440 and that would give you a fairly good 404 00:14:35,199 --> 00:14:39,440 description if you were reading that of 405 00:14:37,440 --> 00:14:42,320 what the image might look like without 406 00:14:39,440 --> 00:14:44,800 any superfluous information 407 00:14:42,320 --> 00:14:46,959 but the absolute best that i could get 408 00:14:44,800 --> 00:14:48,639 out of the ml model that i trained and 409 00:14:46,959 --> 00:14:51,360 do bear in mind that this was only to 410 00:14:48,639 --> 00:14:53,519 describe people was that i was a man in 411 00:14:51,360 --> 00:14:55,360 black and white t-shirt and pink pants 412 00:14:53,519 --> 00:14:56,880 sitting on green object with blue and 413 00:14:55,360 --> 00:14:58,160 red stick 414 00:14:56,880 --> 00:15:00,320 now that gives you a pretty good 415 00:14:58,160 --> 00:15:01,760 description of me but it doesn't really 416 00:15:00,320 --> 00:15:04,240 give you a good description of what's 417 00:15:01,760 --> 00:15:06,639 going on around me 418 00:15:04,240 --> 00:15:09,760 and bear in mind this was an ml model 419 00:15:06,639 --> 00:15:11,279 that i had trained for this purpose 420 00:15:09,760 --> 00:15:13,839 you know you look at companies like 421 00:15:11,279 --> 00:15:15,760 microsoft they have massive training 422 00:15:13,839 --> 00:15:18,240 data sets they have massive amounts of 423 00:15:15,760 --> 00:15:20,720 information that they can use 424 00:15:18,240 --> 00:15:23,120 and even they have not really been able 425 00:15:20,720 --> 00:15:25,279 to solve the problem of having images 426 00:15:23,120 --> 00:15:28,560 described via machine learning to pick 427 00:15:25,279 --> 00:15:29,600 up on all of the important points 428 00:15:28,560 --> 00:15:32,320 so 429 00:15:29,600 --> 00:15:34,399 that might give you some idea when we 430 00:15:32,320 --> 00:15:36,639 start having a look at the claims that 431 00:15:34,399 --> 00:15:37,680 these accessibility overlay companies 432 00:15:36,639 --> 00:15:39,920 make 433 00:15:37,680 --> 00:15:42,240 about how easy it really is to bridge 434 00:15:39,920 --> 00:15:44,959 the gap using entirely automated 435 00:15:42,240 --> 00:15:44,959 solutions 436 00:15:45,519 --> 00:15:50,000 and these accessibility overlay 437 00:15:47,279 --> 00:15:53,440 companies started sprouting up you know 438 00:15:50,000 --> 00:15:55,199 in the late 2000s early 2010s 439 00:15:53,440 --> 00:15:57,440 and 440 00:15:55,199 --> 00:15:59,839 what they were trying to do was to solve 441 00:15:57,440 --> 00:16:02,480 the problem of automating solutions to 442 00:15:59,839 --> 00:16:04,959 web accessibility and they make a lot of 443 00:16:02,480 --> 00:16:07,120 really bold claims um some that i've 444 00:16:04,959 --> 00:16:09,440 pulled from their websites things like 445 00:16:07,120 --> 00:16:12,560 uh keep safe from lawsuits comply with 446 00:16:09,440 --> 00:16:15,040 legislation 24 7. uh one particular 447 00:16:12,560 --> 00:16:17,120 overlay company bills itself as the only 448 00:16:15,040 --> 00:16:20,160 solution that meets ada that's the 449 00:16:17,120 --> 00:16:21,759 americans with disabilities act and wcag 450 00:16:20,160 --> 00:16:24,320 or the web content accessibility 451 00:16:21,759 --> 00:16:26,160 guidelines 2.1 compliance through a 452 00:16:24,320 --> 00:16:28,560 combination of advanced automation 453 00:16:26,160 --> 00:16:31,519 technology and human touch advanced 454 00:16:28,560 --> 00:16:33,920 automation technology i like it 455 00:16:31,519 --> 00:16:35,360 alternatively another company suggests 456 00:16:33,920 --> 00:16:37,920 that you can deploy this company's 457 00:16:35,360 --> 00:16:39,839 advanced website accessibility solutions 458 00:16:37,920 --> 00:16:41,839 without refactoring your website's 459 00:16:39,839 --> 00:16:44,079 existing code 460 00:16:41,839 --> 00:16:45,519 and this is a really bold claim because 461 00:16:44,079 --> 00:16:48,000 what they're saying is that you have to 462 00:16:45,519 --> 00:16:50,240 make no changes whatsoever in order to 463 00:16:48,000 --> 00:16:52,880 make your website accessible you just go 464 00:16:50,240 --> 00:16:54,959 away you deploy their code and then it 465 00:16:52,880 --> 00:16:56,880 works 466 00:16:54,959 --> 00:16:58,560 but in practice 467 00:16:56,880 --> 00:17:00,720 if you look at the ways that people have 468 00:16:58,560 --> 00:17:03,120 tended to traditionally remediate a lot 469 00:17:00,720 --> 00:17:06,079 of these accessibility issues 470 00:17:03,120 --> 00:17:07,839 even the best compliance checkers and 471 00:17:06,079 --> 00:17:09,679 that's just checking to see whether your 472 00:17:07,839 --> 00:17:11,760 website meets the web content 473 00:17:09,679 --> 00:17:13,439 accessibility guidelines not actually 474 00:17:11,760 --> 00:17:16,160 remediating it 475 00:17:13,439 --> 00:17:19,679 can only sort of pick up on about 50 to 476 00:17:16,160 --> 00:17:22,000 60 percent of the criteria 477 00:17:19,679 --> 00:17:24,319 and i sort of understand why a lot of 478 00:17:22,000 --> 00:17:26,240 companies have looked to accessibility 479 00:17:24,319 --> 00:17:28,000 overlays for solutions and why they've 480 00:17:26,240 --> 00:17:30,400 proliferated as much as they have 481 00:17:28,000 --> 00:17:32,240 because if you consider the amount of 482 00:17:30,400 --> 00:17:34,160 money that it takes you know 483 00:17:32,240 --> 00:17:35,919 particularly if you're a small business 484 00:17:34,160 --> 00:17:37,840 places like kohl's the canadian 485 00:17:35,919 --> 00:17:39,520 government domino's pizza you expect 486 00:17:37,840 --> 00:17:41,039 them to have the money to fix these 487 00:17:39,520 --> 00:17:42,720 sorts of things but 488 00:17:41,039 --> 00:17:44,480 a small business that might not have had 489 00:17:42,720 --> 00:17:46,480 anyone work on their website for a few 490 00:17:44,480 --> 00:17:48,480 years or might only have one or two 491 00:17:46,480 --> 00:17:50,960 people developing it or might be you 492 00:17:48,480 --> 00:17:53,039 know outsourcing it to someone 493 00:17:50,960 --> 00:17:55,520 some external consultancy they're not 494 00:17:53,039 --> 00:17:57,280 necessarily going to have the money 495 00:17:55,520 --> 00:18:00,320 to be able to remediate a lot of these 496 00:17:57,280 --> 00:18:03,200 accessibility issues 497 00:18:00,320 --> 00:18:06,000 so the accessibility overlays sound like 498 00:18:03,200 --> 00:18:07,600 a really appealing solution 499 00:18:06,000 --> 00:18:10,080 but in practice 500 00:18:07,600 --> 00:18:12,080 when i heard that little um that little 501 00:18:10,080 --> 00:18:14,400 sound bite of you know press alt plus 502 00:18:12,080 --> 00:18:16,320 one to enter screen reader mode and 503 00:18:14,400 --> 00:18:18,240 having realized what was actually going 504 00:18:16,320 --> 00:18:20,320 on here through the work of a whole lot 505 00:18:18,240 --> 00:18:22,640 of excellent people who post about 506 00:18:20,320 --> 00:18:25,679 accessibility on linkedin many of whom 507 00:18:22,640 --> 00:18:27,200 are linked in the sources i thought okay 508 00:18:25,679 --> 00:18:28,960 let's actually take this for a bit of a 509 00:18:27,200 --> 00:18:32,960 test drive 510 00:18:28,960 --> 00:18:36,000 and what i found was a bit of a mess 511 00:18:32,960 --> 00:18:39,120 i you know i found things like 512 00:18:36,000 --> 00:18:40,559 headers being inaccurate um predictably 513 00:18:39,120 --> 00:18:42,720 as you would see from my little 514 00:18:40,559 --> 00:18:45,200 experiment with machine learning earlier 515 00:18:42,720 --> 00:18:47,520 the ml descriptions that it provided for 516 00:18:45,200 --> 00:18:50,400 images where a human hadn't written them 517 00:18:47,520 --> 00:18:53,280 were pretty putrid and often didn't 518 00:18:50,400 --> 00:18:57,440 actually get across critical information 519 00:18:53,280 --> 00:18:59,440 um graphs were just a cluttered mess 520 00:18:57,440 --> 00:19:01,440 but one thing that's really interesting 521 00:18:59,440 --> 00:19:03,760 here before we even look at how well 522 00:19:01,440 --> 00:19:06,240 they actually work 523 00:19:03,760 --> 00:19:10,080 is that that little sound bite press alt 524 00:19:06,240 --> 00:19:12,240 plus one to enter screen reader mode 525 00:19:10,080 --> 00:19:14,320 i gave the privacy tax i talked about 526 00:19:12,240 --> 00:19:15,600 the concept of detecting screen readers 527 00:19:14,320 --> 00:19:17,840 um 528 00:19:15,600 --> 00:19:18,880 i said that a lot of people really want 529 00:19:17,840 --> 00:19:21,039 to do it 530 00:19:18,880 --> 00:19:23,360 i said that it's very difficult to do i 531 00:19:21,039 --> 00:19:24,960 also said that it's a terrible idea for 532 00:19:23,360 --> 00:19:26,559 a number of reasons 533 00:19:24,960 --> 00:19:28,400 it's a terrible idea because you don't 534 00:19:26,559 --> 00:19:30,480 know whether there are people sitting 535 00:19:28,400 --> 00:19:32,000 with your screen reader user trying to 536 00:19:30,480 --> 00:19:34,240 actually work out what's going on while 537 00:19:32,000 --> 00:19:36,160 you're serving different content 538 00:19:34,240 --> 00:19:39,440 it's also a terrible idea because you're 539 00:19:36,160 --> 00:19:41,679 actually detecting a disability 540 00:19:39,440 --> 00:19:44,080 so at least for this particular overlay 541 00:19:41,679 --> 00:19:46,559 that i had encountered 542 00:19:44,080 --> 00:19:48,720 it started with an anti-pattern 543 00:19:46,559 --> 00:19:50,640 everything that it was doing was based 544 00:19:48,720 --> 00:19:53,840 on an anti-pattern and that was the 545 00:19:50,640 --> 00:19:57,600 anti-pattern of detecting a disability 546 00:19:53,840 --> 00:19:57,600 and that's just for screen reader users 547 00:19:57,679 --> 00:20:02,480 so in short what we really have here if 548 00:20:00,320 --> 00:20:05,600 you look at these accessibility overlays 549 00:20:02,480 --> 00:20:07,840 is a good old-fashioned case of snake 550 00:20:05,600 --> 00:20:07,840 oil 551 00:20:08,159 --> 00:20:11,360 always good particularly good when 552 00:20:10,159 --> 00:20:13,039 you're talking about things that 553 00:20:11,360 --> 00:20:14,720 actually affect people's access to 554 00:20:13,039 --> 00:20:17,520 websites that they would be using day to 555 00:20:14,720 --> 00:20:19,679 day in fact in many cases if you go and 556 00:20:17,520 --> 00:20:21,440 talk to people who are much more learned 557 00:20:19,679 --> 00:20:23,200 on the topic of accessibility and screen 558 00:20:21,440 --> 00:20:24,720 readers than i 559 00:20:23,200 --> 00:20:26,640 you know people who use these screen 560 00:20:24,720 --> 00:20:28,159 readers day to day they will actually 561 00:20:26,640 --> 00:20:30,400 tell you that in many cases these 562 00:20:28,159 --> 00:20:32,000 accessibility overlays make websites 563 00:20:30,400 --> 00:20:33,760 worse 564 00:20:32,000 --> 00:20:36,000 in fact a gentleman by the name of 565 00:20:33,760 --> 00:20:37,919 adrian roselli 566 00:20:36,000 --> 00:20:39,600 really good accessibility guy i 567 00:20:37,919 --> 00:20:41,600 absolutely recommend you follow him if 568 00:20:39,600 --> 00:20:43,600 you're into this kind of thing 569 00:20:41,600 --> 00:20:45,039 had produced a blog post when these 570 00:20:43,600 --> 00:20:47,039 accessibility overlays have been 571 00:20:45,039 --> 00:20:50,000 proliferating for a while 572 00:20:47,039 --> 00:20:52,240 uh and it was titled uh accessory will 573 00:20:50,000 --> 00:20:54,640 get you sued excessively being the name 574 00:20:52,240 --> 00:20:56,320 of you know one very common one of these 575 00:20:54,640 --> 00:20:58,080 sort of more popular accessibility 576 00:20:56,320 --> 00:21:00,640 overlay companies 577 00:20:58,080 --> 00:21:02,400 and he wasn't wrong because the lawsuit 578 00:21:00,640 --> 00:21:04,480 started 579 00:21:02,400 --> 00:21:07,120 and they kept coming 580 00:21:04,480 --> 00:21:08,799 and they kept coming 581 00:21:07,120 --> 00:21:11,360 and they kept on coming and it wasn't 582 00:21:08,799 --> 00:21:13,840 just accessory that was being sued it 583 00:21:11,360 --> 00:21:17,840 was websites that used all kinds of 584 00:21:13,840 --> 00:21:17,840 accessibility overlay products 585 00:21:19,760 --> 00:21:23,919 and that kind of gets to the core of the 586 00:21:22,080 --> 00:21:25,600 critical promise that was made here 587 00:21:23,919 --> 00:21:27,200 which was you know 588 00:21:25,600 --> 00:21:29,520 this is going to be an automated 589 00:21:27,200 --> 00:21:31,440 solution to all of your problems 590 00:21:29,520 --> 00:21:34,720 the thing is though that the reality of 591 00:21:31,440 --> 00:21:37,440 this is is if i were to go in somewhere 592 00:21:34,720 --> 00:21:40,000 and i were to say to you you know i have 593 00:21:37,440 --> 00:21:42,559 a one-line solution to all of your 594 00:21:40,000 --> 00:21:44,400 security problems you can deploy this 595 00:21:42,559 --> 00:21:46,080 one line of code to your website 596 00:21:44,400 --> 00:21:48,559 and it will solve all of your security 597 00:21:46,080 --> 00:21:50,480 issues you would either laugh me out of 598 00:21:48,559 --> 00:21:53,200 the room or you would conclude that i 599 00:21:50,480 --> 00:21:55,919 was a salesperson for a cloud provider 600 00:21:53,200 --> 00:21:58,400 which very often you know do sell you 601 00:21:55,919 --> 00:22:00,080 online security solutions 602 00:21:58,400 --> 00:22:02,720 with the small side effect that they 603 00:22:00,080 --> 00:22:05,440 tend to cost you absolutely exorbitant 604 00:22:02,720 --> 00:22:07,200 amounts of money 605 00:22:05,440 --> 00:22:09,520 so the lesson that i want to take from 606 00:22:07,200 --> 00:22:12,080 this is not that 607 00:22:09,520 --> 00:22:14,720 accessibility companies are bad it's not 608 00:22:12,080 --> 00:22:17,440 that accessibility is even necessarily 609 00:22:14,720 --> 00:22:20,240 hugely difficult to do 610 00:22:17,440 --> 00:22:22,159 but it's that these products are built 611 00:22:20,240 --> 00:22:24,159 on an anti-pattern 612 00:22:22,159 --> 00:22:26,960 they're built on an anti-pattern they 613 00:22:24,159 --> 00:22:28,559 follow anti-patterns and very often if 614 00:22:26,960 --> 00:22:30,640 you talk to the people that they claim 615 00:22:28,559 --> 00:22:32,640 to serve they will tell you that their 616 00:22:30,640 --> 00:22:34,720 lives are actually worse with the 617 00:22:32,640 --> 00:22:36,240 accessibility overlay than they were 618 00:22:34,720 --> 00:22:38,480 without it 619 00:22:36,240 --> 00:22:40,559 that's true to the point where there are 620 00:22:38,480 --> 00:22:42,720 instructions which i promptly used on my 621 00:22:40,559 --> 00:22:45,200 new machine to make accessibility 622 00:22:42,720 --> 00:22:47,120 overlays go away on your machine once 623 00:22:45,200 --> 00:22:48,640 and for all those are also linked in the 624 00:22:47,120 --> 00:22:51,600 sources 625 00:22:48,640 --> 00:22:54,080 but the real lesson here i think comes 626 00:22:51,600 --> 00:22:55,679 back to not a discussion about 627 00:22:54,080 --> 00:22:58,960 accessibility 628 00:22:55,679 --> 00:23:02,000 but a discussion about design patterns 629 00:22:58,960 --> 00:23:05,280 so in order to look at how we improve it 630 00:23:02,000 --> 00:23:06,640 we need to discuss the idea of one issue 631 00:23:05,280 --> 00:23:09,440 system design 632 00:23:06,640 --> 00:23:11,360 um which is basically 633 00:23:09,440 --> 00:23:13,360 when people design systems very often 634 00:23:11,360 --> 00:23:15,280 they're focused on one two or three 635 00:23:13,360 --> 00:23:18,159 different things that they're trying to 636 00:23:15,280 --> 00:23:19,840 actually solve by designing this system 637 00:23:18,159 --> 00:23:21,600 and that might be that you want it to be 638 00:23:19,840 --> 00:23:23,679 really cheap it might be that you want 639 00:23:21,600 --> 00:23:25,280 it to be really easy to navigate it 640 00:23:23,679 --> 00:23:28,000 might be that you want it to be really 641 00:23:25,280 --> 00:23:29,440 small code wise it might be you know 642 00:23:28,000 --> 00:23:31,440 that you want it to have all of these 643 00:23:29,440 --> 00:23:33,360 features it might even be that you want 644 00:23:31,440 --> 00:23:35,200 it to be accessible or you want it to be 645 00:23:33,360 --> 00:23:37,919 secure 646 00:23:35,200 --> 00:23:40,080 but if you only take one or two or three 647 00:23:37,919 --> 00:23:41,840 things from the list of all of the 648 00:23:40,080 --> 00:23:44,799 different considerations that need to 649 00:23:41,840 --> 00:23:45,600 come into play when you design a system 650 00:23:44,799 --> 00:23:48,720 um 651 00:23:45,600 --> 00:23:52,799 that ends up basically being the path to 652 00:23:48,720 --> 00:23:56,559 crushing technical debt in practice 653 00:23:52,799 --> 00:23:59,600 and so part of what we can learn from 654 00:23:56,559 --> 00:24:01,520 this sort of issue of accessibility 655 00:23:59,600 --> 00:24:04,480 overlays is 656 00:24:01,520 --> 00:24:06,400 about the comprehensive design processes 657 00:24:04,480 --> 00:24:08,320 that would reduce or eliminate the need 658 00:24:06,400 --> 00:24:11,200 for these quick fix solutions to begin 659 00:24:08,320 --> 00:24:13,520 with because as i and basically everyone 660 00:24:11,200 --> 00:24:15,279 else in the tech world will tell you 661 00:24:13,520 --> 00:24:17,360 it's much cheaper to solve a problem 662 00:24:15,279 --> 00:24:21,279 from the beginning than it is to go back 663 00:24:17,360 --> 00:24:22,720 and try and retrofit a solution later 664 00:24:21,279 --> 00:24:24,320 so part of comprehensive design 665 00:24:22,720 --> 00:24:26,640 processes is that you don't just pick 666 00:24:24,320 --> 00:24:28,880 one or two or three things off that list 667 00:24:26,640 --> 00:24:30,000 you actually sit down at the beginning 668 00:24:28,880 --> 00:24:31,120 and you go 669 00:24:30,000 --> 00:24:32,720 let's look at all of these 670 00:24:31,120 --> 00:24:35,760 considerations that we might need to 671 00:24:32,720 --> 00:24:38,159 look at things like cost ease of use 672 00:24:35,760 --> 00:24:40,880 accessibility security 673 00:24:38,159 --> 00:24:42,640 size of the actual code itself 674 00:24:40,880 --> 00:24:45,200 and build yourself a comprehensive 675 00:24:42,640 --> 00:24:47,360 design plan that addresses all of those 676 00:24:45,200 --> 00:24:49,360 from the beginning it's much easier to 677 00:24:47,360 --> 00:24:51,600 do those things from the start than it 678 00:24:49,360 --> 00:24:52,960 is to have to go in later and remediate 679 00:24:51,600 --> 00:24:56,159 it because you'll inevitably find 680 00:24:52,960 --> 00:24:56,159 yourself cutting corners 681 00:24:56,640 --> 00:25:00,880 but in terms of specifically 682 00:24:58,400 --> 00:25:02,559 accessibility there are a few lessons 683 00:25:00,880 --> 00:25:04,640 that would reduce or eliminate the need 684 00:25:02,559 --> 00:25:06,400 for these overlays well the perceived 685 00:25:04,640 --> 00:25:09,600 need for these overlays that probably 686 00:25:06,400 --> 00:25:11,200 doesn't actually exist as well 687 00:25:09,600 --> 00:25:13,039 and the first one is that when you talk 688 00:25:11,200 --> 00:25:15,360 about a lot of modern front-end 689 00:25:13,039 --> 00:25:17,760 frameworks things like react-view 690 00:25:15,360 --> 00:25:20,240 angular rails 691 00:25:17,760 --> 00:25:21,679 these are all you know even cms systems 692 00:25:20,240 --> 00:25:23,760 content management systems like 693 00:25:21,679 --> 00:25:25,760 wordpress these are all accessible to 694 00:25:23,760 --> 00:25:27,360 greater or lesser degrees and so the 695 00:25:25,760 --> 00:25:28,799 first thing you can actually do if 696 00:25:27,360 --> 00:25:31,440 you're using a framework and you're not 697 00:25:28,799 --> 00:25:32,799 building it from scratch is check 698 00:25:31,440 --> 00:25:34,320 is the framework that you're using 699 00:25:32,799 --> 00:25:36,000 accessible 700 00:25:34,320 --> 00:25:38,080 and if it's not 701 00:25:36,000 --> 00:25:39,919 or if you find yourself having to do you 702 00:25:38,080 --> 00:25:41,919 know they have the basic 703 00:25:39,919 --> 00:25:43,840 the basics but you find yourself having 704 00:25:41,919 --> 00:25:45,039 to do a significant amount of manual 705 00:25:43,840 --> 00:25:47,440 work 706 00:25:45,039 --> 00:25:49,520 then look at how do you remediate that 707 00:25:47,440 --> 00:25:52,480 can you remediate it once and not have 708 00:25:49,520 --> 00:25:54,880 to do it all over your system other 709 00:25:52,480 --> 00:25:57,679 pre-existing plug-ins there are actually 710 00:25:54,880 --> 00:25:59,600 a lot for things like wordpress that do 711 00:25:57,679 --> 00:26:01,600 resolve a lot of those accessibility 712 00:25:59,600 --> 00:26:04,640 issues and actually build accessible 713 00:26:01,600 --> 00:26:06,400 components for you to build on 714 00:26:04,640 --> 00:26:08,880 and if you go out and do those fixes 715 00:26:06,400 --> 00:26:11,039 yourself can you either release them as 716 00:26:08,880 --> 00:26:13,360 a plug-in or go back to the people who 717 00:26:11,039 --> 00:26:15,279 maintain the framework 718 00:26:13,360 --> 00:26:17,200 and say to them you know this needs to 719 00:26:15,279 --> 00:26:19,520 be something you that you can address 720 00:26:17,200 --> 00:26:21,279 here's a pull request that addresses 721 00:26:19,520 --> 00:26:23,600 some of the common issues that we have 722 00:26:21,279 --> 00:26:25,760 accessibility-wise 723 00:26:23,600 --> 00:26:27,760 and the more that we do things like that 724 00:26:25,760 --> 00:26:30,080 the easier accessibility really becomes 725 00:26:27,760 --> 00:26:32,480 for everyone because if you start 726 00:26:30,080 --> 00:26:33,840 building with accessible building blocks 727 00:26:32,480 --> 00:26:35,679 the amount of work that you're going to 728 00:26:33,840 --> 00:26:37,760 have to do to remediate those issues 729 00:26:35,679 --> 00:26:39,840 later down the line is not something 730 00:26:37,760 --> 00:26:41,919 that you're going to feel whereas if you 731 00:26:39,840 --> 00:26:43,919 start with a sort of framework that's 732 00:26:41,919 --> 00:26:46,960 inaccessible you're really going to feel 733 00:26:43,919 --> 00:26:49,039 having to resolve it 734 00:26:46,960 --> 00:26:50,640 and even then you know if you've got a 735 00:26:49,039 --> 00:26:52,400 website where it's completely 736 00:26:50,640 --> 00:26:54,640 inaccessible and you've got to solve a 737 00:26:52,400 --> 00:26:56,799 lot of these issues accessibility 738 00:26:54,640 --> 00:26:59,279 overlays are not necessarily the way to 739 00:26:56,799 --> 00:27:01,919 go the best way to go is to look for 740 00:26:59,279 --> 00:27:04,159 some kind of sticking plaster a 741 00:27:01,919 --> 00:27:06,960 temporary solution that only automates 742 00:27:04,159 --> 00:27:08,799 the things that really can be automated 743 00:27:06,960 --> 00:27:11,039 while you take the time to do that 744 00:27:08,799 --> 00:27:12,480 remediation work 745 00:27:11,039 --> 00:27:14,880 the other time where those sorts of 746 00:27:12,480 --> 00:27:17,279 sticking classes can be really useful is 747 00:27:14,880 --> 00:27:19,279 in the sense of plugins that fix basic 748 00:27:17,279 --> 00:27:21,440 issues with an inaccessible framework 749 00:27:19,279 --> 00:27:23,520 but even then you may find it takes a 750 00:27:21,440 --> 00:27:25,440 little bit of work to actually get it 751 00:27:23,520 --> 00:27:27,200 all sorted and you are going to have to 752 00:27:25,440 --> 00:27:30,480 do some manual work on top of that to 753 00:27:27,200 --> 00:27:30,480 make your sites accessible 754 00:27:30,960 --> 00:27:35,360 the really sad thing and the heavily 755 00:27:33,840 --> 00:27:38,320 ironic thing 756 00:27:35,360 --> 00:27:40,480 about this cautionary tale 757 00:27:38,320 --> 00:27:42,559 is that these accessibility overlays 758 00:27:40,480 --> 00:27:44,960 came with one promise and you heard it 759 00:27:42,559 --> 00:27:47,200 with the excerpts that i read out to you 760 00:27:44,960 --> 00:27:48,960 we are going to avoid you getting sued 761 00:27:47,200 --> 00:27:51,360 you will not get sued if you use this 762 00:27:48,960 --> 00:27:53,520 framework but as you can see from the 763 00:27:51,360 --> 00:27:55,520 list of lawsuits that adrian roselli has 764 00:27:53,520 --> 00:27:57,600 curated 765 00:27:55,520 --> 00:28:00,720 unfortunately these accessibility quick 766 00:27:57,600 --> 00:28:02,720 fixes have resulted in a paradox of more 767 00:28:00,720 --> 00:28:03,840 and more lawsuits and more and more 768 00:28:02,720 --> 00:28:05,200 complaints 769 00:28:03,840 --> 00:28:07,279 many of them from reputable 770 00:28:05,200 --> 00:28:09,600 organizations like the san francisco 771 00:28:07,279 --> 00:28:11,440 lighthouse for the blind whose real aim 772 00:28:09,600 --> 00:28:13,679 is to ensure 773 00:28:11,440 --> 00:28:15,520 that in the spirit and not just the 774 00:28:13,679 --> 00:28:16,720 letter of that disability access 775 00:28:15,520 --> 00:28:20,320 legislation 776 00:28:16,720 --> 00:28:22,159 that the web is accessible to everyone 777 00:28:20,320 --> 00:28:24,720 we may or may not now have some time for 778 00:28:22,159 --> 00:28:27,440 questions um if we don't i will be 779 00:28:24,720 --> 00:28:29,120 around otherwise my website and email 780 00:28:27,440 --> 00:28:30,399 address are up there so feel free to get 781 00:28:29,120 --> 00:28:32,320 in contact with me 782 00:28:30,399 --> 00:28:33,840 it's been lovely to talk to you and i do 783 00:28:32,320 --> 00:28:36,000 hope that you've learned something not 784 00:28:33,840 --> 00:28:37,600 just about accessibility but about some 785 00:28:36,000 --> 00:28:41,200 of the broader failures in design 786 00:28:37,600 --> 00:28:41,200 thinking that lead us to this point 787 00:28:42,399 --> 00:28:47,200 well thank you dawn that was a great 788 00:28:44,320 --> 00:28:49,760 talk uh really interesting 789 00:28:47,200 --> 00:28:52,000 nuances in there about how how people 790 00:28:49,760 --> 00:28:54,320 are trying to solve this and ultimately 791 00:28:52,000 --> 00:28:56,480 failing um but also some great advice 792 00:28:54,320 --> 00:28:59,520 for what we can actually do which which 793 00:28:56,480 --> 00:29:01,919 i think is tremendous um now we we 794 00:28:59,520 --> 00:29:03,760 actually have a question or two um so 795 00:29:01,919 --> 00:29:04,960 thank you for for coming around to the 796 00:29:03,760 --> 00:29:08,000 end of the talk where you can answer 797 00:29:04,960 --> 00:29:09,760 them um so i'll feed them to you um to 798 00:29:08,000 --> 00:29:11,520 everyone else if you have questions do 799 00:29:09,760 --> 00:29:13,200 drop them into the chat 800 00:29:11,520 --> 00:29:15,520 and then i'll see them usually on a 801 00:29:13,200 --> 00:29:17,919 slight delay after that happens 802 00:29:15,520 --> 00:29:19,840 and then so put it in there and then by 803 00:29:17,919 --> 00:29:21,919 the time you ask the question um we'll 804 00:29:19,840 --> 00:29:24,559 be so dawn um when you're working with 805 00:29:21,919 --> 00:29:27,279 an existing non-accessible system have 806 00:29:24,559 --> 00:29:29,600 you seen drivers other than compliance 807 00:29:27,279 --> 00:29:31,440 that motivate companies to implement any 808 00:29:29,600 --> 00:29:34,799 fixes 809 00:29:31,440 --> 00:29:34,799 oh so i have a whole 810 00:29:34,960 --> 00:29:40,799 half talk half rant on this 811 00:29:37,200 --> 00:29:42,640 because often it will come down to so so 812 00:29:40,799 --> 00:29:45,360 companies kind of fall into three 813 00:29:42,640 --> 00:29:47,360 buckets you've got companies that don't 814 00:29:45,360 --> 00:29:48,399 really think about it 815 00:29:47,360 --> 00:29:50,000 you've got 816 00:29:48,399 --> 00:29:51,919 companies where the primary driver for 817 00:29:50,000 --> 00:29:53,520 it is compliance and they tend to be the 818 00:29:51,919 --> 00:29:56,080 types of companies that will actually 819 00:29:53,520 --> 00:29:58,799 use these you know accessibility 820 00:29:56,080 --> 00:29:59,679 overlays which are effectively snake oil 821 00:29:58,799 --> 00:30:01,279 and 822 00:29:59,679 --> 00:30:03,039 i'm sometimes amazed by what those 823 00:30:01,279 --> 00:30:04,880 companies are like i discovered last 824 00:30:03,039 --> 00:30:07,600 week that there's a disability charity 825 00:30:04,880 --> 00:30:09,520 fairly fairly you know a sizable 826 00:30:07,600 --> 00:30:11,360 disability charity charity based out of 827 00:30:09,520 --> 00:30:13,120 victoria that uses one of these products 828 00:30:11,360 --> 00:30:14,320 on their website which is mildly 829 00:30:13,120 --> 00:30:17,520 horrifying 830 00:30:14,320 --> 00:30:19,840 the third bucket is 831 00:30:17,520 --> 00:30:22,000 companies where there's a 832 00:30:19,840 --> 00:30:23,919 fairly significant internal culture 833 00:30:22,000 --> 00:30:25,760 around accessibility 834 00:30:23,919 --> 00:30:27,360 and that there you tend to be looking at 835 00:30:25,760 --> 00:30:30,000 companies with very diverse hiring 836 00:30:27,360 --> 00:30:32,399 practices because you know it's about 837 00:30:30,000 --> 00:30:33,840 one in five people worldwide and so the 838 00:30:32,399 --> 00:30:35,600 chances are if you have a company that 839 00:30:33,840 --> 00:30:37,039 hires well 840 00:30:35,600 --> 00:30:39,279 a significant proportion of their 841 00:30:37,039 --> 00:30:40,799 workforce will be disabled and there'll 842 00:30:39,279 --> 00:30:43,120 be another significant proportion of 843 00:30:40,799 --> 00:30:44,880 their workforce that is close to or 844 00:30:43,120 --> 00:30:46,480 deals on a regular basis with other 845 00:30:44,880 --> 00:30:48,080 disabled people 846 00:30:46,480 --> 00:30:49,480 and so they're the ones that tend to 847 00:30:48,080 --> 00:30:52,080 have that 848 00:30:49,480 --> 00:30:53,760 non-compliance-based lens of let's 849 00:30:52,080 --> 00:30:55,360 actually look at this in terms of what's 850 00:30:53,760 --> 00:30:56,960 the right thing to do 851 00:30:55,360 --> 00:30:58,960 what's going to get people using our 852 00:30:56,960 --> 00:31:00,720 website rather than what do we have to 853 00:30:58,960 --> 00:31:02,880 you know what do we have to do to comply 854 00:31:00,720 --> 00:31:05,840 with lawsuits 24 7 or whatever that bit 855 00:31:02,880 --> 00:31:07,200 of marketing copy copy once 856 00:31:05,840 --> 00:31:09,840 right yeah 857 00:31:07,200 --> 00:31:12,159 um so related to that and it sort of 858 00:31:09,840 --> 00:31:14,159 relates to security in some ways um in 859 00:31:12,159 --> 00:31:16,320 into like you sort of alluded to this of 860 00:31:14,159 --> 00:31:18,320 making it easier for ourselves to do 861 00:31:16,320 --> 00:31:20,399 this well and having those fundamental 862 00:31:18,320 --> 00:31:21,840 building blocks that we can we can build 863 00:31:20,399 --> 00:31:24,320 on top of 864 00:31:21,840 --> 00:31:26,640 are there are there particular areas or 865 00:31:24,320 --> 00:31:28,720 like i'm thinking web frameworks or 866 00:31:26,640 --> 00:31:29,440 technologies that lots of people build 867 00:31:28,720 --> 00:31:30,799 on 868 00:31:29,440 --> 00:31:33,679 that we should 869 00:31:30,799 --> 00:31:36,320 kind of all address and maybe use our 870 00:31:33,679 --> 00:31:37,760 leverage and power to get at those 871 00:31:36,320 --> 00:31:39,440 because that will have the greatest 872 00:31:37,760 --> 00:31:42,000 impact are they are there places that we 873 00:31:39,440 --> 00:31:44,399 should be focusing yeah 874 00:31:42,000 --> 00:31:46,159 it's primarily by web frameworks as you 875 00:31:44,399 --> 00:31:48,799 said so you're looking at things like 876 00:31:46,159 --> 00:31:51,120 the reacts angular's views of the world 877 00:31:48,799 --> 00:31:53,120 ruby on rails but also content 878 00:31:51,120 --> 00:31:55,919 management systems so things like 879 00:31:53,120 --> 00:31:58,320 wordpress if you're using um static site 880 00:31:55,919 --> 00:32:02,799 templating so hugo is one that comes to 881 00:31:58,320 --> 00:32:05,120 mind um things like django drupal 882 00:32:02,799 --> 00:32:07,440 basically anything where the 883 00:32:05,120 --> 00:32:08,880 components themselves are already built 884 00:32:07,440 --> 00:32:10,159 into 885 00:32:08,880 --> 00:32:11,600 you know where it's not that you're 886 00:32:10,159 --> 00:32:14,720 building components yourselves out of 887 00:32:11,600 --> 00:32:16,720 raw html where there is some level of 888 00:32:14,720 --> 00:32:18,320 styling or configuration that has gone 889 00:32:16,720 --> 00:32:19,840 into the components 890 00:32:18,320 --> 00:32:21,360 that's where you go if they're open 891 00:32:19,840 --> 00:32:24,240 source you go to their maintainers and 892 00:32:21,360 --> 00:32:25,840 you go here is a pull request or if 893 00:32:24,240 --> 00:32:29,519 they're not open source you release your 894 00:32:25,840 --> 00:32:31,840 plugin as open source um that's where 895 00:32:29,519 --> 00:32:32,880 that's where the bank feel back is 896 00:32:31,840 --> 00:32:33,840 right 897 00:32:32,880 --> 00:32:35,919 um 898 00:32:33,840 --> 00:32:37,440 so one last question uh 899 00:32:35,919 --> 00:32:39,120 it's sort of the end of the day 900 00:32:37,440 --> 00:32:40,960 hopefully this is an easy one for people 901 00:32:39,120 --> 00:32:43,440 to take away but what 902 00:32:40,960 --> 00:32:45,600 what is one thing that we could all do 903 00:32:43,440 --> 00:32:46,799 that would improve the situation but 904 00:32:45,600 --> 00:32:49,039 something that 905 00:32:46,799 --> 00:32:50,720 super simple that we can just do as we 906 00:32:49,039 --> 00:32:52,559 go about our every day that will make 907 00:32:50,720 --> 00:32:53,840 life better for everyone else who comes 908 00:32:52,559 --> 00:32:55,279 after us 909 00:32:53,840 --> 00:32:57,760 okay so i'm actually going to give you 910 00:32:55,279 --> 00:33:00,080 two things here one bonus related to the 911 00:32:57,760 --> 00:33:01,120 topic of the talk and one which is not 912 00:33:00,080 --> 00:33:03,519 okay 913 00:33:01,120 --> 00:33:05,519 tell everyone that you know who does web 914 00:33:03,519 --> 00:33:06,799 development do not use accessibility 915 00:33:05,519 --> 00:33:09,600 overlays 916 00:33:06,799 --> 00:33:11,679 because as it stands there is not a 917 00:33:09,600 --> 00:33:14,240 single product that i feel actually 918 00:33:11,679 --> 00:33:16,799 meets the specifications and in the 919 00:33:14,240 --> 00:33:18,960 sources i have linked a number of videos 920 00:33:16,799 --> 00:33:20,559 breaking down a number of products and 921 00:33:18,960 --> 00:33:22,399 spoilers none of them actually do what 922 00:33:20,559 --> 00:33:24,159 they claim to do 923 00:33:22,399 --> 00:33:27,919 but in the broader sense of 924 00:33:24,159 --> 00:33:30,559 accessibility what i would say is 925 00:33:27,919 --> 00:33:32,159 keep pushing and make sure that you have 926 00:33:30,559 --> 00:33:34,000 a way for 927 00:33:32,159 --> 00:33:36,000 an accessible way for people to actually 928 00:33:34,000 --> 00:33:38,399 get accessibility feedback to you about 929 00:33:36,000 --> 00:33:40,320 your product so whether that be 930 00:33:38,399 --> 00:33:42,480 you know that your forums need to be 931 00:33:40,320 --> 00:33:44,320 accessible or whether that be that you 932 00:33:42,480 --> 00:33:46,080 need to not be printing your you know 933 00:33:44,320 --> 00:33:47,760 your phone number on your website needs 934 00:33:46,080 --> 00:33:50,240 to not be in an image and it needs to be 935 00:33:47,760 --> 00:33:52,559 somewhere that screen readers can read 936 00:33:50,240 --> 00:33:54,159 if you give disabled people a way to 937 00:33:52,559 --> 00:33:55,519 actually say hey there are problems 938 00:33:54,159 --> 00:33:57,360 usually they'll be pretty good about it 939 00:33:55,519 --> 00:34:00,000 because they want to access stuff and 940 00:33:57,360 --> 00:34:02,159 then take that feedback and action 941 00:34:00,000 --> 00:34:05,360 excellent excellent advice oh we do have 942 00:34:02,159 --> 00:34:07,200 one last bonus question um which is i 943 00:34:05,360 --> 00:34:08,639 won't get you to i i won't get you to 944 00:34:07,200 --> 00:34:10,639 answer all of it because it's to do with 945 00:34:08,639 --> 00:34:12,639 references uh basically is there any 946 00:34:10,639 --> 00:34:14,000 recommended reading to better understand 947 00:34:12,639 --> 00:34:15,200 how we can make our systems more 948 00:34:14,000 --> 00:34:17,200 accessible 949 00:34:15,200 --> 00:34:18,720 do you have some resources uh that you 950 00:34:17,200 --> 00:34:20,639 could link people to where they can go 951 00:34:18,720 --> 00:34:22,240 and learn some more about this 952 00:34:20,639 --> 00:34:23,520 yeah the sources 953 00:34:22,240 --> 00:34:24,560 if you go right to the bottom of the 954 00:34:23,520 --> 00:34:26,000 sources 955 00:34:24,560 --> 00:34:28,079 there's a section about background 956 00:34:26,000 --> 00:34:29,440 reading which has 957 00:34:28,079 --> 00:34:31,440 some sources that i've recommended 958 00:34:29,440 --> 00:34:33,599 previously and also a previous talk that 959 00:34:31,440 --> 00:34:35,359 i've done which covers many of the 960 00:34:33,599 --> 00:34:36,960 basics of many different types of 961 00:34:35,359 --> 00:34:38,079 accessibility not just for screen 962 00:34:36,960 --> 00:34:40,480 readers 963 00:34:38,079 --> 00:34:41,760 wonderful all right thank you dawn and 964 00:34:40,480 --> 00:34:44,079 and thank you for putting all that 965 00:34:41,760 --> 00:34:46,000 effort into a great talk and and like 966 00:34:44,079 --> 00:34:49,119 the captioning and everything was was 967 00:34:46,000 --> 00:34:50,639 tremendous so thank you so much 968 00:34:49,119 --> 00:34:51,760 it's a pleasure 969 00:34:50,639 --> 00:34:54,760 um 970 00:34:51,760 --> 00:34:54,760 right