1
00:00:01,340 --> 00:00:04,000
Joe: Hello and welcome to episode 72 of Linux After Dark.
2
00:00:04,580 --> 00:00:04,900
Joe: I'm Joe.
3
00:00:05,480 --> 00:00:05,920
Chris: I'm Chris.
4
00:00:06,400 --> 00:00:06,720
Gary: I'm Gary.
5
00:00:07,200 --> 00:00:07,700
Dalton: I'm Dalton.
6
00:00:08,200 --> 00:00:08,700
Florian: I'm Florian.
7
00:00:09,280 --> 00:00:11,360
Joe: Welcome back chaps and welcome to the show Florian.
8
00:00:11,740 --> 00:00:12,400
Florian: Thank you for having me.
9
00:00:13,140 --> 00:00:19,940
Joe: So we've been wanting to talk about accessibility in Linux and how it compares with the other operating systems for quite a while.
10
00:00:20,400 --> 00:00:23,520
Joe: But we didn't really want to do that ourselves.
11
00:00:23,580 --> 00:00:26,760
Joe: We wanted to talk to someone who is an expert on accessibility.
12
00:00:27,620 --> 00:00:30,420
Joe: I think it's fair to say you have a fair amount of experience with accessibility.
13
00:00:30,820 --> 00:00:32,560
Florian: Yeah, I've been doing this for quite some time, yes.
14
00:00:33,160 --> 00:00:35,380
Joe: So you are a blind user, is that the right term?
15
00:00:35,780 --> 00:00:37,100
Florian: Yeah, that's what I tend to use.
16
00:00:37,180 --> 00:00:43,240
Florian: I'm a blind, what they usually call a native screen reader user now, so I actually use this to get stuff done, basically.
17
00:00:43,720 --> 00:00:45,520
Joe: So you just don't have a screen at all?
18
00:00:46,140 --> 00:00:53,020
Florian: I have one, but it's off in a corner of the room somewhere on the floor for when I need it once a year, and that's really all to be said about that.
19
00:00:53,360 --> 00:00:54,080
Joe: Right, okay.
20
00:00:54,220 --> 00:00:56,620
Joe: So you completely rely on screen readers then?
21
00:00:56,980 --> 00:00:57,540
Florian: Yes, yes I do.
22
00:00:58,360 --> 00:01:03,580
Joe: So what is the best operating system and setup for a screen reader user like you?
23
00:01:04,239 --> 00:01:07,380
Florian: So I myself do quite a bit of different things.
24
00:01:07,520 --> 00:01:23,040
Florian: I'm a streamer, I'm a coder, a hacker, a gamer, and for all that, I have unfortunately found that Windows is currently the best stack with the open source NVIDIA screen reader and a handful of programs like the right browser.
25
00:01:23,780 --> 00:01:29,880
Florian: I tend to use Firefox and Chrome, VS Code for my code editing needs, and a handful of other things, really.
26
00:01:30,560 --> 00:01:33,800
Joe: So why is Windows better than, for example, desktop Linux?
27
00:01:34,560 --> 00:01:44,540
Florian: So what I think is the main deciding factor is the maturity of the APIs that, essentially, screen readers and other assistive technology pull from.
28
00:01:45,300 --> 00:01:58,000
Florian: Basically, what screen readers and other assistive tech tends to do is it will query various APIs on the operating system level to make sure that it can, for example, indicate what button a user has just landed on or focused on.
29
00:01:58,860 --> 00:02:00,680
Florian: And it needs to do that in various different ways.
30
00:02:00,740 --> 00:02:01,700
Florian: It needs to do it on the web.
31
00:02:01,760 --> 00:02:02,980
Florian: It needs to do it on a desktop.
32
00:02:03,040 --> 00:02:08,680
Florian: It needs to do that in hybrid applications that are really web applications, but they're wrapped in a desktop shell.
33
00:02:08,840 --> 00:02:12,840
Florian: And there's all sorts of little ifs, buts, and gotchas to that process.
34
00:02:12,960 --> 00:02:17,300
Florian: And what I'm noticing is that particularly on Windows with NVDA, that's been handled pretty well.
35
00:02:18,140 --> 00:02:27,640
Florian: Whereas if I'm looking at Mac or a desktop Linux, there can be quite a few missed edge cases that can completely ruin someone's day.
36
00:02:28,640 --> 00:02:37,900
Florian: So in Linux land there is the installer called Calamares, which is like this installer framework to make installers for, well, various images, various live Linux systems.
37
00:02:38,480 --> 00:02:49,980
Florian: An issue was opened on 2015, infamous issue 470, that basically indicates, hey, screen readers can read the installer because it runs as a privileged user.
38
00:02:50,960 --> 00:02:55,160
Florian: and all sorts of interesting D-Bus problems and ATSPI problems.
39
00:02:55,260 --> 00:02:59,220
Florian: And we are now nine years later, and they still haven't quite figured it out.
40
00:02:59,280 --> 00:03:06,780
Florian: There is one distro that, through some hack, managed to make Orca, the Linux screen reader, speak on the installer screens.
41
00:03:07,380 --> 00:03:14,700
Florian: But anything else that uses that installer, a user will open it, and the screen reader will just say, Orca unavailable, or screen reader unavailable.
42
00:03:14,760 --> 00:03:15,140
Florian: And that's it.
43
00:03:15,660 --> 00:03:16,180
Florian: End of the line.
44
00:03:16,260 --> 00:03:19,080
Florian: They can't install that OS by themselves.
45
00:03:19,540 --> 00:03:23,240
Joe: Right, how does that compare with the Ubuntu installer then, the old one at least?
46
00:03:23,840 --> 00:03:24,180
Florian: It's better.
47
00:03:25,020 --> 00:03:31,580
Florian: Ubuntu is one of those screen reader, I wouldn't say centric, but they're closely aligned with Gnome.
48
00:03:32,800 --> 00:03:43,560
Florian: Gnome has a track record of doing this relatively well, and I believe Orca is actually made by the same group as Gnome is, so everybody else sort of uses what they made.
49
00:03:44,160 --> 00:04:02,580
Florian: And as a result of that, basically it tends to work relatively well on Ubuntu, but the further you go off the beaten path, I myself use Kali Linux for example sometimes, the more likely you're opening yourself up to, oh, there may not be a voice installed, or Orca may not know how to use the speech engine that's been installed, or permission issues, like I just indicated.
50
00:04:02,780 --> 00:04:16,060
Florian: So it's one of those things that If you do everything you're meant to be doing, like if you're a proper mainstream Linux user that uses Ubuntu and Gnome and only the most stable versions, you're generally OK-ish.
51
00:04:17,019 --> 00:04:26,860
Florian: But the further away you get from that path, so if you start using less supported distributions or distributions that rely on security a bunch more, that's when stuff starts falling over.
52
00:04:27,500 --> 00:04:34,400
Joe: Yeah, I've heard that GNOME is very good, and I've heard very mixed things about KDE Plasma, so can you please set the record straight?
53
00:04:35,100 --> 00:04:42,280
Joe: It sounds like installing it isn't necessarily easy if it uses calamaris, but once it's installed, how is it with KDE Plasma desktop?
54
00:04:42,820 --> 00:04:47,800
Florian: So KDE Plasma uses Qt under the hood, and Qt generally tends to work pretty well.
55
00:04:47,860 --> 00:04:55,520
Florian: The problems that I have seen are that sometimes there is a flag you need to set, like Qt, Accessibility equals one.
56
00:04:55,860 --> 00:04:58,360
Florian: I think it's like an environment variable somewhere, maybe a checkbox.
57
00:04:58,480 --> 00:05:00,000
Florian: And at that point, things start working.
58
00:05:00,520 --> 00:05:01,620
Florian: That's also a bit of a theme.
59
00:05:01,680 --> 00:05:04,240
Florian: The Fedora distro is very famous for that.
60
00:05:04,520 --> 00:05:11,080
Florian: You have to go into an accessibility thing to turn on the enable assistive technologies checkbox.
61
00:05:11,120 --> 00:05:14,460
Florian: Because if you don't do that, then things like your browser won't work and other sorts of other things.
62
00:05:14,740 --> 00:05:18,180
Joe: But how are you supposed to do that if you can't use assistive technologies to do it?
63
00:05:18,560 --> 00:05:18,900
Florian: You don't.
64
00:05:19,100 --> 00:05:19,740
Florian: That's the problem.
65
00:05:20,420 --> 00:05:21,500
Joe: So you need someone to help you.
66
00:05:21,940 --> 00:05:25,940
Florian: Yeah, and what I know of KDE Plasma is that very recently it's actually gotten quite a bit better.
67
00:05:26,080 --> 00:05:27,980
Florian: I have not yet had a chance to play with it.
68
00:05:28,620 --> 00:05:32,580
Florian: I have a half-disassembled Kali Linux version that I'm going to put it on.
69
00:05:33,360 --> 00:05:36,280
Florian: And yeah, I'm going to see how bad or how good it is.
70
00:05:36,920 --> 00:05:52,320
Chris: So have you ever had a period of attempting, because I notice you said regretfully it's Windows that you run, have you had a concerted period with either desktop Linux or macOS where you tried to daily drive it and just couldn't, and how long did that last?
71
00:05:52,780 --> 00:05:53,520
Florian: Various times.
72
00:05:53,600 --> 00:06:12,160
Florian: honestly like I've done Mac OS several times because I would need it for work I'm a coder or accessibility tester depending on the day of the week and Some companies don't like you to bring your own device So they'll give you a MacBook and at that point I am sort of forced to use Mac OS which honestly is fine like it's not quite up to my standards of.
73
00:06:13,040 --> 00:06:18,820
Florian: I know where everything is, and I know exactly what buttons to press at every given situation to make sure that things do what I want them to do.
74
00:06:19,320 --> 00:06:22,860
Florian: Which, to be fair, Windows isn't doing any more either, but it used to be.
75
00:06:23,680 --> 00:06:25,840
Florian: As for Linux, I have tried it several times, actually.
76
00:06:25,900 --> 00:06:28,320
Florian: I've tried it the first time in the Vista days.
77
00:06:29,280 --> 00:06:40,300
Florian: I decided that nothing could be worse than what I was going through at that particular time, so I put, I think it was Ubuntu 9.04-based Vinux on my computer.
78
00:06:40,860 --> 00:06:47,320
Florian: that was a blind-specific distro at the time, and that worked relatively okay, honestly.
79
00:06:47,420 --> 00:06:56,220
Florian: Everything pre-GNOME 3 was relatively doable, and then things changed, and now it's a bit of a minefield, honestly.
80
00:06:56,900 --> 00:07:00,920
Dalton: Is the minefield in any way related to switching between X or Wayland?
81
00:07:01,180 --> 00:07:03,100
Dalton: Are there some security things in the way?
82
00:07:03,440 --> 00:07:07,340
Dalton: Do you know exactly what's kind of the sticking point there?
83
00:07:07,780 --> 00:07:08,620
Florian: Honestly, all of the above.
84
00:07:09,360 --> 00:07:16,520
Florian: Wayland was a thing that happened that wasn't really... in concert with the accessibility stuff changing.
85
00:07:17,200 --> 00:07:24,640
Florian: So I saw that I think a month or two ago, we saw, hey, we now sort of have Wayland working with Orca, and it's still being worked on.
86
00:07:25,280 --> 00:07:39,040
Florian: But if we look at how long Wayland's been under general, let's call it like a sort of a general release for people to find, I'd say I think I can safely say it's been out for at least a year and a half for people to sort of play around with.
87
00:07:39,160 --> 00:07:41,140
Florian: And it's just not been a great experience.
88
00:07:41,980 --> 00:07:43,840
Florian: for people yet.
89
00:07:44,100 --> 00:07:50,200
Florian: And then security, I mean, obviously, I just gave that Calamari's example where you have that getting in the way.
90
00:07:50,260 --> 00:07:58,920
Florian: And sometimes there's just other things where we had a period of time where audio was a big problem because Orca runs as a particular user.
91
00:07:59,840 --> 00:08:10,120
Florian: And if you're going into the terminal only, if you're going into TTY only mode and you just don't use the GUI, there is a different screen reader you turn on called leader speak up or the more modern equivalent fan rear.
92
00:08:10,880 --> 00:08:12,820
Florian: which also needs audio.
93
00:08:13,140 --> 00:08:24,920
Florian: And what we noticed is that you couldn't have both of those working, because Pulse Audio wouldn't really know how to handle the fact that one user was trying to get audio from two TTYs, and that was a whole entire thing.
94
00:08:26,920 --> 00:08:34,440
Florian: Really what I would say for Linux accessibility is that it works once you have it working up to a point that may or may not be good enough for you.
95
00:08:35,220 --> 00:08:40,100
Florian: But I don't think it's just, I think the main issue currently with it is that it's just not very user-friendly.
96
00:08:40,240 --> 00:08:41,659
Florian: There's a lot of tinkering involved.
97
00:08:41,720 --> 00:08:43,460
Florian: Sometimes things just fall over for no reason.
98
00:08:44,280 --> 00:08:49,500
Florian: And you need to have a little bit of background for, well, like a techie background to get some of the things fixed as well.
99
00:08:49,580 --> 00:08:57,320
Florian: For example, Java applications that require a particular setting to be on in order to expose their accessibility things properly.
100
00:08:58,240 --> 00:08:59,680
Florian: QT applications, same deal.
101
00:09:00,600 --> 00:09:10,300
Florian: And generally the idea is that screen readers sort of flick these settings on automatically when an app gains focus, but that very often falls over and it doesn't work right.
102
00:09:11,060 --> 00:09:18,260
Florian: So then the user gets a screen that doesn't read or a field that has no label or anything of the sort.
103
00:09:18,320 --> 00:09:21,180
Florian: where I'm like, this is fine if you're used to this kind of thing.
104
00:09:21,220 --> 00:09:22,780
Florian: Like, I don't terribly mind.
105
00:09:22,840 --> 00:09:25,500
Florian: If I have to use a Linux GUI, I will.
106
00:09:25,700 --> 00:09:26,700
Florian: Like, I love Cherry Tree.
107
00:09:26,760 --> 00:09:28,320
Florian: That's a fantastic note-taking application.
108
00:09:28,400 --> 00:09:29,420
Florian: I wish I had it on Windows.
109
00:09:29,520 --> 00:09:42,660
Florian: But sometimes, like, I remember last year when I was doing the OSCP stuff for Ofsec in the Kali Linux machine, and there was this Start Machine button on their page, which is a graphic that you have to click.
110
00:09:42,860 --> 00:09:45,480
Florian: And on Windows, I can just press Enter on that, and it'll work.
111
00:09:46,300 --> 00:09:52,160
Florian: And on Linux, I have to know that Orca has a particular cursor that I can use to click that physically with the mouse.
112
00:09:53,100 --> 00:09:54,360
Florian: And like I said, it's all fine.
113
00:09:54,620 --> 00:09:55,340
Florian: It all works.
114
00:09:55,460 --> 00:09:58,180
Florian: It's all perfectly doable once you know the trick to it.
115
00:09:58,860 --> 00:10:04,220
Florian: But at some point, the tricks just pile up and up and up, and you just lose productivity for the extra keystroke that you have to press.
116
00:10:04,960 --> 00:10:09,520
Florian: And that is annoying power users because it doesn't go as fast as they'd like.
117
00:10:10,140 --> 00:10:14,380
Florian: And it's blocking non-power users because they have no idea how to do all this stuff.
118
00:10:14,460 --> 00:10:20,700
Florian: So it's in this weird place of not quite good enough for either group, if that makes sense.
119
00:10:22,340 --> 00:10:27,560
Gary: So it sounds like being familiar with the UI to some extent actually is a really important thing for you.
120
00:10:27,800 --> 00:10:32,880
Gary: So how do you cope when the UI of an application just changes in a version upgrade?
121
00:10:33,080 --> 00:10:33,320
Florian: Whiskey.
122
00:10:34,800 --> 00:10:35,200
Chris: Slack.
123
00:10:35,760 --> 00:10:40,620
Gary: Well yeah I'm thinking Slack or Firefox changed the UI quite considerably a few years ago.
124
00:10:40,920 --> 00:10:48,720
Gary: That must have really been some getting used to because you can't just click around I guess and find where the options are quite as easily as someone with VisionKit.
125
00:10:49,320 --> 00:10:55,700
Florian: No, and sometimes it can cause some problems actually because the UI may not actually have changed that much for screen reader users.
126
00:10:56,220 --> 00:11:08,360
Florian: Like, do keep in mind, we sort of work with the underpinnings of the UI, so if it's really just iconography that's changed or just a bunch of different colors, or like various other things that just really only affect the visual.
127
00:11:08,440 --> 00:11:10,160
Florian: And we may not even realize that something has changed.
128
00:11:10,200 --> 00:11:13,380
Florian: For example, take the new Zoom for work UI.
129
00:11:13,440 --> 00:11:16,000
Florian: That's really barely changed for me at all.
130
00:11:16,120 --> 00:11:18,080
Florian: But I'm told that it's quite different visually.
131
00:11:18,840 --> 00:11:26,200
Florian: But sometimes, yeah, the menu bar disappearing and becoming the hamburger menu, that can be a bit much sometimes.
132
00:11:26,280 --> 00:11:27,960
Florian: I remember some applications doing that.
133
00:11:28,080 --> 00:11:29,560
Florian: A lot of people still despise the ribbon.
134
00:11:30,400 --> 00:11:34,400
Florian: for various applications because they thought the menu bar was faster.
135
00:11:34,500 --> 00:11:35,980
Florian: And to be fair, it probably was.
136
00:11:36,760 --> 00:11:40,400
Florian: So yes, the UI changing can actually be really annoying.
137
00:11:40,460 --> 00:11:53,000
Florian: And actually, what happens a lot of the time is when we see the words new design in an app or an interface, we are all like, uh-oh, because that usually means they forgot that we exist, and it's completely broken with screen readers.
138
00:11:53,360 --> 00:11:59,080
Gary: So do you find that a lot of applications aren't tested particularly well with screen readers and that that causes a lot of issues?
139
00:11:59,500 --> 00:12:00,960
Florian: Yeah, generally they're not tested at all.
140
00:12:01,540 --> 00:12:11,420
Florian: If I do a test for an application or a website, I can usually immediately tell, because one of the first things you would do is, for example, tab through the UI, just as a keyboard user.
141
00:12:11,540 --> 00:12:14,260
Florian: Keyboard users are not necessarily the same as screen reader users.
142
00:12:14,860 --> 00:12:20,580
Florian: Screen reader users have a few more cheat codes that they can use to get to places quickly, and particularly on the web.
143
00:12:21,540 --> 00:12:24,400
Florian: And keyboard-only users generally don't have those cheat codes.
144
00:12:24,460 --> 00:12:28,340
Florian: So what we tend to do as testers is we first just use a tab key.
145
00:12:28,860 --> 00:12:30,720
Florian: The arrow keys, the space key, and the enter key.
146
00:12:30,760 --> 00:12:32,080
Florian: You're going to see how far we get with that.
147
00:12:32,860 --> 00:12:38,580
Florian: If you try that in various applications, you're going to get nowhere, because the concept of a tab focus just doesn't exist.
148
00:12:38,980 --> 00:12:42,280
Gary: Yeah, or all of the buttons are in weird orders when you tap through them and things like that.
149
00:12:42,660 --> 00:12:43,540
Florian: See, also OBS.
150
00:12:43,760 --> 00:12:46,140
Florian: Yes, that can absolutely happen.
151
00:12:46,960 --> 00:12:53,800
Florian: Sometimes it can also be the opposite, where it works fine with the keyboard and it doesn't work great for a screen reader user.
152
00:12:53,880 --> 00:12:57,540
Florian: This happens, for example, when you have an autocomplete field that you type into.
153
00:12:58,620 --> 00:13:05,480
Florian: And screen readers and other assistive technologies have this limit of generally only being able to see one thing at a time clearly or at all.
154
00:13:05,560 --> 00:13:06,940
Florian: Screen readers only see one thing at all.
155
00:13:07,700 --> 00:13:13,920
Florian: So if you're typing in an edit field that opens an autocomplete list, what's going to happen is the screen reader needs to make a choice.
156
00:13:13,980 --> 00:13:16,520
Florian: Am I going to read what you're typing in the edit field?
157
00:13:17,280 --> 00:13:22,500
Florian: Or am I going to tell you the autocomplete results that just popped down, and how am I going to switch you between the two?
158
00:13:23,860 --> 00:13:26,100
Florian: For a lot of things, there's not really a good answer for that.
159
00:13:26,180 --> 00:13:30,520
Florian: Generally, you want the list to be focused, because otherwise you won't see what the list is doing.
160
00:13:31,360 --> 00:13:38,600
Florian: And if that's not the case, then you can use the arrow keys to navigate through the list's items, but your screen reader is just going to say blank.
161
00:13:39,360 --> 00:13:44,980
Florian: because it's telling you what the contents of the edit field that you're typing into is, which is, very correctly, blank.
162
00:13:45,660 --> 00:13:49,280
Florian: This was a problem in CyberChef, for example, which is a tool that a lot of hackers use.
163
00:13:50,040 --> 00:13:53,060
Florian: And I flagged this and it's being fixed, so that's good.
164
00:13:53,160 --> 00:13:54,620
Florian: But yeah, it can be tricky.
165
00:13:55,900 --> 00:13:58,680
Joe: Okay, this episode is sponsored by 1Password.
166
00:13:59,480 --> 00:14:04,700
Joe: In a perfect world, end users would only work on managed devices with IT-approved apps.
167
00:14:05,520 --> 00:14:13,300
Joe: But every day, employees use personal devices and unapproved apps that aren't protected by MDM, IAM or any other security tool.
168
00:14:14,140 --> 00:14:17,980
Joe: There's a giant gap between the security tools we have and the way we actually work.
169
00:14:18,840 --> 00:14:23,900
Joe: 1Password calls it the Access Trust Gap and they've also created the first ever solution to fill it.
170
00:14:24,740 --> 00:14:29,940
Joe: 1Password Extended Access Management secures every sign-in for every app on every device.
171
00:14:30,580 --> 00:14:37,740
Joe: It includes the password manager you know and love and the device trust solution you've probably heard of on this podcast back when it was called Collide.
172
00:14:38,640 --> 00:14:47,440
Joe: 1Password Extended Access Management cares about user experience and privacy, which means it can go places other tools can't, like personal and contractor devices.
173
00:14:48,060 --> 00:14:52,140
Joe: It ensures that every device is known and healthy and every login is protected.
174
00:14:52,720 --> 00:14:59,300
Joe: So stop trying to ban BYOD or shadow IT and start protecting them with 1Password Extended Access Management.
175
00:15:00,040 --> 00:15:02,940
Joe: Support the show and check it out at 1Password.com.
176
00:15:03,240 --> 00:15:04,520
Joe: slash Linux after dark.
177
00:15:05,520 --> 00:15:06,340
Joe: Quick bit of admin then.
178
00:15:06,740 --> 00:15:09,160
Joe: First of all, thank you everyone who supports us with PayPal and Patreon.
179
00:15:09,420 --> 00:15:10,400
Joe: We really do appreciate that.
180
00:15:11,100 --> 00:15:13,600
Joe: If you want to join those people you can go to linuxafterdark.net.
181
00:15:13,740 --> 00:15:14,360
Joe: slash support.
182
00:15:14,980 --> 00:15:22,540
Joe: And remember that for various amounts on Patreon you can get an advert free RSS feed of either just this show or all the shows in the Late Night Linux family.
183
00:15:23,000 --> 00:15:26,520
Joe: And if you want to get in contact with us you can email show at linuxafterdark.net.
184
00:15:27,700 --> 00:15:31,700
Joe: It seems like you do care about open source and ideas of freedom and stuff.
185
00:15:32,440 --> 00:15:39,240
Joe: So with that in mind, what message do you have to the free and open source software community in terms of accessibility?
186
00:15:39,360 --> 00:15:40,720
Joe: Like, what would you like them to do?
187
00:15:41,400 --> 00:15:42,340
Florian: That's a good question.
188
00:15:42,980 --> 00:15:47,060
Florian: I think really what I'd like to convey is that it's not as hard as you think it is.
189
00:15:47,360 --> 00:15:48,000
Florian: And also it is.
190
00:15:50,340 --> 00:15:53,600
Florian: It's not hard to do it well enough.
191
00:15:53,840 --> 00:15:56,300
Florian: It is just really difficult to do it really well.
192
00:15:56,660 --> 00:15:58,860
Florian: I think that's the divide I'd like to make.
193
00:15:59,320 --> 00:16:03,900
Florian: Things like just tabbing around your UI, like running a screen reader and just seeing what it says.
194
00:16:05,160 --> 00:16:11,060
Florian: when you do that or when you just don't use a mouse and try to use the keyboard, that is stuff that you can easily test yourself.
195
00:16:11,140 --> 00:16:13,360
Florian: That only takes literally 15 minutes.
196
00:16:13,920 --> 00:16:20,020
Florian: So I don't want to hear, we don't have capacity, we don't have the team, we're a small team, we'll get to it next year, September, maybe.
197
00:16:20,680 --> 00:16:26,860
Florian: I just want you to go open your app right now, turn on whatever screen reader you have, you have one built in on the Mac.
198
00:16:27,020 --> 00:16:28,860
Florian: if you want to use that, it's called VoiceOver.
199
00:16:29,800 --> 00:16:35,020
Florian: There is a free option, NVDA and Narrator on Windows, and if you can get it to work, there is a screen reader on Linux called Orca.
200
00:16:37,320 --> 00:16:40,240
Florian: Turn that on go play go have a play with your application right now.
201
00:16:40,320 --> 00:16:40,680
Florian: I'll wait.
202
00:16:40,920 --> 00:16:41,300
Florian: It's fine.
203
00:16:41,360 --> 00:16:42,320
Florian: It'll only take five minutes.
204
00:16:42,420 --> 00:16:43,160
Florian: See how it does.
205
00:16:43,320 --> 00:16:50,760
Florian: See what it says if it says My dot awesome dot button dot label slash slash class name equals equals.
206
00:16:50,820 --> 00:16:53,120
Florian: you did something wrong and it's easy to fix.
207
00:16:53,540 --> 00:16:54,220
Florian: go fix.
208
00:16:55,080 --> 00:16:55,880
Florian: That's really one of those.
209
00:16:56,160 --> 00:17:00,500
Florian: get the low-hanging fruit at least because what we're seeing a lot right now is that people don't even do that.
210
00:17:01,540 --> 00:17:11,420
Florian: they will not consider accessibility when picking, for example, their UI kit, which means that we get a lot of Rust-inspired UIs that did not also think about accessibility, so they're not accessible.
211
00:17:12,000 --> 00:17:23,960
Florian: And there's just so much stuff you could do, so much better you could do to make this open source movement more inclusive and have people actually be able to use the tools that come out of it a lot better.
212
00:17:24,540 --> 00:17:31,380
Florian: And I personally would be very happy if that happened, because it's always a bit of a struggle to find tools that work well enough for my needs.
213
00:17:31,440 --> 00:17:34,060
Florian: And I'm an efficiency nut, so I am picky.
214
00:17:34,240 --> 00:17:39,560
Florian: But I'm also a power user, which means I'll deal with a lot more stuff than most people will.
215
00:17:39,900 --> 00:17:43,900
Florian: If you tab around and nothing happens, people are going to quit your application and not going to use it.
216
00:17:44,020 --> 00:17:44,800
Florian: And they're going to complain.
217
00:17:45,420 --> 00:17:47,800
Florian: And then you have one more issue to be burned out about.
218
00:17:47,880 --> 00:17:49,440
Florian: So just preempt it.
219
00:17:49,660 --> 00:17:51,080
Florian: Just check it beforehand.
220
00:17:51,340 --> 00:17:53,060
Florian: Make sure you just give it a look.
221
00:17:53,960 --> 00:17:56,240
Florian: Catch the low-hanging fruit, and if you don't know, just ask.
222
00:17:56,520 --> 00:17:58,640
Florian: There's also blind people in the open source community.
223
00:17:59,640 --> 00:18:03,280
Florian: You can do a looking for help, looking for feedback.
224
00:18:03,340 --> 00:18:04,560
Florian: That is not poison.
225
00:18:04,660 --> 00:18:05,120
Florian: You can do that.
226
00:18:05,720 --> 00:18:09,840
Joe: It sounds like some effort made is a lot better than no effort made.
227
00:18:10,180 --> 00:18:10,660
Florian: Absolutely.
228
00:18:10,880 --> 00:18:11,320
Florian: Yeah, yeah, yeah.
229
00:18:11,500 --> 00:18:11,840
Florian: For sure.
230
00:18:12,400 --> 00:18:28,040
Chris: It's interesting because this conversation kind of comes about because we sometimes have challenges on this podcast and somebody wrote in and said you should try using a screen reader and instead of doing it we had an on-air discussion and that's why we wanted to talk to someone.
231
00:18:28,780 --> 00:18:36,860
Chris: I guess what we were scared about was kind of cosplaying someone who had visual impairment or blindness or not respecting that.
232
00:18:37,520 --> 00:18:46,220
Chris: Do you think it's better that developers should try to get into the mind frame or find more testers that actually have genuine accessibility needs?
233
00:18:46,780 --> 00:18:47,820
Florian: That's always a tricky one.
234
00:18:47,900 --> 00:18:55,940
Florian: For the one hand, I would definitely say always, if you can find someone who has native experience to test your applications, absolutely go for that.
235
00:18:56,440 --> 00:19:09,340
Florian: And if you can, obviously this is a bit harder in open source where a lot of things are voluntary, but if you work... let's say a big company and you have to do the next release for your company, obviously that company should be paying these people.
236
00:19:09,560 --> 00:19:12,680
Florian: That's just fair because you're essentially asking for a consult.
237
00:19:13,260 --> 00:19:18,460
Florian: For open source, obviously that's a different story and sometimes people just do it voluntarily and that's fine too.
238
00:19:19,060 --> 00:19:26,880
Florian: But if you can get a person who uses a particular assistive technology and you want to know if it works with your game or your application, have them test it.
239
00:19:27,540 --> 00:19:30,940
Florian: But you can do basic testing yourself first.
240
00:19:31,140 --> 00:19:35,860
Florian: You can make sure that the screen reader, when it comes on, even sees your application.
241
00:19:35,920 --> 00:19:45,280
Florian: A lot of times when you use a certain UI toolkit and it's just not speaking at all, then there's no point having a screen reader person come in and test it because they're not going to have anything to test.
242
00:19:45,320 --> 00:19:46,040
Florian: There's just nothing there.
243
00:19:46,680 --> 00:19:53,440
Florian: There is a point where you probably want to get other people involved that do use these assistive technologies just so you're not making decisions for people that aren't you.
244
00:19:54,400 --> 00:19:58,760
Florian: But you can do some of the easy, sort of low-hanging fruit.
245
00:19:58,900 --> 00:20:00,600
Florian: You can do the easy things as well.
246
00:20:00,760 --> 00:20:03,760
Florian: There is an ORCA manual that's not super long.
247
00:20:03,920 --> 00:20:06,980
Florian: You can quickly read through the main keys and use it.
248
00:20:07,040 --> 00:20:10,080
Florian: Again, people think this takes hours or even days of time.
249
00:20:10,120 --> 00:20:11,620
Florian: This takes half an hour at most.
250
00:20:12,480 --> 00:20:13,840
Florian: And then just see how that goes.
251
00:20:13,880 --> 00:20:23,460
Florian: And if you find a lot of problems, that's when you start making issues and prioritization recommendations to the rest of the team, stuff like that.
252
00:20:23,520 --> 00:20:26,740
Florian: But yeah, definitely have someone come in if you can.
253
00:20:26,960 --> 00:20:31,200
Florian: But if you can't, I don't think it's necessarily a problem for you to do the basics either.
254
00:20:31,740 --> 00:20:38,560
Dalton: I think that is a really important thing to talk about with different toolkits and application libraries that are out now.
255
00:20:38,600 --> 00:20:47,260
Dalton: A lot of the new age ones don't think about accessibility or iBus or whatever it is on each platform much at all.
256
00:20:48,000 --> 00:20:53,360
Dalton: What toolkits and things are people developing in today that do have really good support for this?
257
00:20:53,500 --> 00:20:56,040
Dalton: that usually just works at least on Windows?
258
00:20:56,580 --> 00:21:03,340
Florian: I mean, I'd honestly say on either platform that's going to be the web, because it is hard but not impossible to screw up the web.
259
00:21:04,460 --> 00:21:06,280
Florian: It is a lot easier when you start using React.
260
00:21:07,400 --> 00:21:07,900
Florian: Oh, name drop!
261
00:21:08,260 --> 00:21:23,800
Florian: No, basically, if you use semantic HTML on the web, and here we go again, that's an old standard a lot of people are sort of just ignoring, but if you do do that, Then there's a lot of smart people who figure out how those widgets should work, and then they generally tend to work.
262
00:21:23,860 --> 00:21:26,420
Florian: If you start doing your own thing, it becomes harder.
263
00:21:26,500 --> 00:21:28,280
Florian: And that's really what a lot of these toolkits are.
264
00:21:28,360 --> 00:21:34,120
Florian: Like if you use the C-sharp .NET components that Microsoft provides, you're generally fine.
265
00:21:34,160 --> 00:21:40,020
Florian: If you start customizing them, doing your own thing with them, and not properly inheriting from what's already there, you may break it.
266
00:21:40,660 --> 00:21:48,220
Florian: Particularly in things like Go and Rust, I've seen UI libraries pop up that just don't give anything to the APIs.
267
00:21:49,460 --> 00:21:52,140
Florian: Yeah, at that point, there's just not much I can say.
268
00:21:52,360 --> 00:21:53,140
Florian: You did it wrong.
269
00:21:53,280 --> 00:21:53,900
Florian: Go fix it.
270
00:21:54,020 --> 00:21:54,940
Florian: That's really all I can do.
271
00:21:56,220 --> 00:21:59,440
Florian: I can't think of any examples right now, but I've seen a couple of applications.
272
00:21:59,600 --> 00:22:04,460
Florian: Like, yeah, I did this thing in Rust, and I opened it, and it's like, yeah, I can't even read the window title.
273
00:22:04,700 --> 00:22:05,120
Florian: Good job.
274
00:22:05,600 --> 00:22:08,380
Florian: I don't see developers who are making tools like this.
275
00:22:08,420 --> 00:22:09,380
Florian: This is always a problem.
276
00:22:10,460 --> 00:22:11,360
Florian: Whose fault is this?
277
00:22:12,380 --> 00:22:13,480
Florian: Who do we hold responsible?
278
00:22:13,560 --> 00:22:16,840
Florian: Is it the developer for picking that UI toolkit thoughtlessly?
279
00:22:16,940 --> 00:22:20,620
Florian: Is it the UI kit developer who decided to not care about this?
280
00:22:22,220 --> 00:22:24,940
Florian: the education that this developer probably received?
281
00:22:24,980 --> 00:22:26,200
Florian: that didn't cover accessibility.
282
00:22:26,260 --> 00:22:29,420
Florian: There is a whole chain of responsibility here, and no one's really at fault.
283
00:22:29,980 --> 00:22:31,240
Florian: And also, everyone's at fault.
284
00:22:31,800 --> 00:22:36,980
Florian: So as a user of open source technology, you come into the application you're trying to use.
285
00:22:37,020 --> 00:22:41,300
Florian: You make an issue that says, hey, this is broken, and I'd like you to fix it.
286
00:22:41,380 --> 00:22:49,940
Florian: And then this developer is sort of seeing that and going, well, yeah, but this is broken because of a UI library that I chose three years ago that I've built my whole entire thing around.
287
00:22:50,900 --> 00:22:52,560
Florian: What am I supposed to do with this point?
288
00:22:52,640 --> 00:22:53,980
Florian: And I don't have an answer for you.
289
00:22:54,440 --> 00:22:55,880
Florian: At that point, you're so far in.
290
00:22:57,100 --> 00:23:03,840
Florian: As accessibility testers, we often say it's better to do the accessibility as early as you possibly can in the design stage.
291
00:23:03,920 --> 00:23:08,460
Florian: Otherwise, what you're trying to do is add a blueberry to a blueberry muffin after the blueberry muffins already come out of the oven.
292
00:23:08,500 --> 00:23:09,100
Florian: It's not going to work.
293
00:23:10,100 --> 00:23:13,980
Florian: You can shove it in there, and it's going to hang out in there, and it will work at some point.
294
00:23:14,040 --> 00:23:17,540
Florian: But it's never going to be as good as if you just put them in the stupid batter to begin with.
295
00:23:18,360 --> 00:23:20,460
Chris: I have one quick question before we wrap up.
296
00:23:21,000 --> 00:23:24,820
Chris: You mentioned right at the beginning you have a screen in the corner and you use it once a year.
297
00:23:25,300 --> 00:23:26,140
Chris: What is that for?
298
00:23:26,540 --> 00:23:31,840
Florian: I use that when I accidentally hit the CMOS button on my computer and resets it and I have to use the BIOS to get back into my system.
299
00:23:33,720 --> 00:23:34,880
Florian: It doesn't talk at that point.
300
00:23:35,220 --> 00:23:37,100
Chris: At that point you need to call someone else in?
301
00:23:37,260 --> 00:23:38,520
Chris: How do you navigate the CMOS?
302
00:23:38,920 --> 00:23:52,400
Florian: When that happens, basically what I have to do is this whole entire song and dance where I take my phone and I make pictures of the screen, OCR those pictures to see what the text says and then hopefully I see the hotkeys and then press those buttons and hopefully it works.
303
00:23:52,440 --> 00:23:53,940
Florian: And if that doesn't work, yes, I call a person.
304
00:23:55,560 --> 00:24:02,480
Joe: Well, it's been absolutely brilliant talking to you, and I feel like we could talk to you for another two hours about this stuff, but we should wrap it up.
305
00:24:03,240 --> 00:24:06,080
Joe: Anything you want to plug in terms of your streaming and stuff like that?
306
00:24:06,660 --> 00:24:12,900
Florian: So I have two Twitch channels because I am a sadist, basically, but I have two Twitch channels and a YouTube channel.
307
00:24:14,040 --> 00:24:24,920
Florian: And basically that happened because I started out as a gaming gaming streamer on Twitch and I do like accessible gaming stuff links in the video description.
308
00:24:26,920 --> 00:24:30,600
Florian: Basically I do accessible gaming for people who use a screen reader.
309
00:24:30,720 --> 00:24:33,260
Florian: so I pick up a game and I go see if it's playable.
310
00:24:33,960 --> 00:24:36,440
Florian: I go see if I can Get anywhere with it.
311
00:24:36,540 --> 00:24:38,980
Florian: And sometimes I know I will be able to and sometimes I don't.
312
00:24:39,140 --> 00:24:40,680
Florian: so it's very like varied.
313
00:24:41,280 --> 00:24:47,460
Florian: And then at some point in my gaming stream, I said out loud like I wish I could do more like techie hacking coding stuff.
314
00:24:48,400 --> 00:24:50,080
Florian: And um just right there.
315
00:24:50,120 --> 00:24:55,380
Florian: and then I came up with the username ic null which I found funny because hacking And blind.
316
00:24:55,660 --> 00:24:59,380
Florian: so ic null then became my second channel, which is where I do try hack me.
317
00:25:00,280 --> 00:25:02,120
Florian: I've been bashing Burp Suite a bit this week.
318
00:25:02,600 --> 00:25:06,840
Florian: I do programming, accessibility testing, all sorts of things that are very much not gaming.
319
00:25:07,460 --> 00:25:08,780
Florian: So yeah, that's the big divide.
320
00:25:08,920 --> 00:25:14,360
Florian: And then to keep it consistent, I also have a YouTube channel called Blindly Coding, which basically archives both of those things.
321
00:25:15,020 --> 00:25:18,360
Florian: I always keep a very open policy where my streams are concerned.
322
00:25:18,400 --> 00:25:22,320
Florian: People can ask questions, people will not get yelled at if they offend people much.
323
00:25:23,320 --> 00:25:27,700
Florian: And generally we'll try to make it a safe and educational environment.
324
00:25:27,740 --> 00:25:31,420
Florian: So if you have questions or if you just want to see me ace Diablo 4, come see.
325
00:25:31,940 --> 00:25:34,100
Joe: Well yeah, I'll put links to all your stuff in the show notes.
326
00:25:34,780 --> 00:25:36,260
Joe: But we'd better get out of here.
327
00:25:36,500 --> 00:25:37,660
Joe: We'll be back in a couple of weeks.
328
00:25:37,820 --> 00:25:39,240
Joe: But until then, I've been Joe.
329
00:25:39,280 --> 00:25:40,320
Chris: I've been Chris.
330
00:25:40,840 --> 00:25:41,240
Gary: I've been Gary.
331
00:25:41,840 --> 00:25:42,380
Dalton: I've been Dalton.
332
00:25:42,740 --> 00:25:43,420
Florian: And I've been Florian.
333
00:25:43,980 --> 00:26:07,800
Joe: See you later.
00:00:01,340 --> 00:00:04,000
Joe: Hello and welcome to episode 72 of Linux After Dark.
2
00:00:04,580 --> 00:00:04,900
Joe: I'm Joe.
3
00:00:05,480 --> 00:00:05,920
Chris: I'm Chris.
4
00:00:06,400 --> 00:00:06,720
Gary: I'm Gary.
5
00:00:07,200 --> 00:00:07,700
Dalton: I'm Dalton.
6
00:00:08,200 --> 00:00:08,700
Florian: I'm Florian.
7
00:00:09,280 --> 00:00:11,360
Joe: Welcome back chaps and welcome to the show Florian.
8
00:00:11,740 --> 00:00:12,400
Florian: Thank you for having me.
9
00:00:13,140 --> 00:00:19,940
Joe: So we've been wanting to talk about accessibility in Linux and how it compares with the other operating systems for quite a while.
10
00:00:20,400 --> 00:00:23,520
Joe: But we didn't really want to do that ourselves.
11
00:00:23,580 --> 00:00:26,760
Joe: We wanted to talk to someone who is an expert on accessibility.
12
00:00:27,620 --> 00:00:30,420
Joe: I think it's fair to say you have a fair amount of experience with accessibility.
13
00:00:30,820 --> 00:00:32,560
Florian: Yeah, I've been doing this for quite some time, yes.
14
00:00:33,160 --> 00:00:35,380
Joe: So you are a blind user, is that the right term?
15
00:00:35,780 --> 00:00:37,100
Florian: Yeah, that's what I tend to use.
16
00:00:37,180 --> 00:00:43,240
Florian: I'm a blind, what they usually call a native screen reader user now, so I actually use this to get stuff done, basically.
17
00:00:43,720 --> 00:00:45,520
Joe: So you just don't have a screen at all?
18
00:00:46,140 --> 00:00:53,020
Florian: I have one, but it's off in a corner of the room somewhere on the floor for when I need it once a year, and that's really all to be said about that.
19
00:00:53,360 --> 00:00:54,080
Joe: Right, okay.
20
00:00:54,220 --> 00:00:56,620
Joe: So you completely rely on screen readers then?
21
00:00:56,980 --> 00:00:57,540
Florian: Yes, yes I do.
22
00:00:58,360 --> 00:01:03,580
Joe: So what is the best operating system and setup for a screen reader user like you?
23
00:01:04,239 --> 00:01:07,380
Florian: So I myself do quite a bit of different things.
24
00:01:07,520 --> 00:01:23,040
Florian: I'm a streamer, I'm a coder, a hacker, a gamer, and for all that, I have unfortunately found that Windows is currently the best stack with the open source NVIDIA screen reader and a handful of programs like the right browser.
25
00:01:23,780 --> 00:01:29,880
Florian: I tend to use Firefox and Chrome, VS Code for my code editing needs, and a handful of other things, really.
26
00:01:30,560 --> 00:01:33,800
Joe: So why is Windows better than, for example, desktop Linux?
27
00:01:34,560 --> 00:01:44,540
Florian: So what I think is the main deciding factor is the maturity of the APIs that, essentially, screen readers and other assistive technology pull from.
28
00:01:45,300 --> 00:01:58,000
Florian: Basically, what screen readers and other assistive tech tends to do is it will query various APIs on the operating system level to make sure that it can, for example, indicate what button a user has just landed on or focused on.
29
00:01:58,860 --> 00:02:00,680
Florian: And it needs to do that in various different ways.
30
00:02:00,740 --> 00:02:01,700
Florian: It needs to do it on the web.
31
00:02:01,760 --> 00:02:02,980
Florian: It needs to do it on a desktop.
32
00:02:03,040 --> 00:02:08,680
Florian: It needs to do that in hybrid applications that are really web applications, but they're wrapped in a desktop shell.
33
00:02:08,840 --> 00:02:12,840
Florian: And there's all sorts of little ifs, buts, and gotchas to that process.
34
00:02:12,960 --> 00:02:17,300
Florian: And what I'm noticing is that particularly on Windows with NVDA, that's been handled pretty well.
35
00:02:18,140 --> 00:02:27,640
Florian: Whereas if I'm looking at Mac or a desktop Linux, there can be quite a few missed edge cases that can completely ruin someone's day.
36
00:02:28,640 --> 00:02:37,900
Florian: So in Linux land there is the installer called Calamares, which is like this installer framework to make installers for, well, various images, various live Linux systems.
37
00:02:38,480 --> 00:02:49,980
Florian: An issue was opened on 2015, infamous issue 470, that basically indicates, hey, screen readers can read the installer because it runs as a privileged user.
38
00:02:50,960 --> 00:02:55,160
Florian: and all sorts of interesting D-Bus problems and ATSPI problems.
39
00:02:55,260 --> 00:02:59,220
Florian: And we are now nine years later, and they still haven't quite figured it out.
40
00:02:59,280 --> 00:03:06,780
Florian: There is one distro that, through some hack, managed to make Orca, the Linux screen reader, speak on the installer screens.
41
00:03:07,380 --> 00:03:14,700
Florian: But anything else that uses that installer, a user will open it, and the screen reader will just say, Orca unavailable, or screen reader unavailable.
42
00:03:14,760 --> 00:03:15,140
Florian: And that's it.
43
00:03:15,660 --> 00:03:16,180
Florian: End of the line.
44
00:03:16,260 --> 00:03:19,080
Florian: They can't install that OS by themselves.
45
00:03:19,540 --> 00:03:23,240
Joe: Right, how does that compare with the Ubuntu installer then, the old one at least?
46
00:03:23,840 --> 00:03:24,180
Florian: It's better.
47
00:03:25,020 --> 00:03:31,580
Florian: Ubuntu is one of those screen reader, I wouldn't say centric, but they're closely aligned with Gnome.
48
00:03:32,800 --> 00:03:43,560
Florian: Gnome has a track record of doing this relatively well, and I believe Orca is actually made by the same group as Gnome is, so everybody else sort of uses what they made.
49
00:03:44,160 --> 00:04:02,580
Florian: And as a result of that, basically it tends to work relatively well on Ubuntu, but the further you go off the beaten path, I myself use Kali Linux for example sometimes, the more likely you're opening yourself up to, oh, there may not be a voice installed, or Orca may not know how to use the speech engine that's been installed, or permission issues, like I just indicated.
50
00:04:02,780 --> 00:04:16,060
Florian: So it's one of those things that If you do everything you're meant to be doing, like if you're a proper mainstream Linux user that uses Ubuntu and Gnome and only the most stable versions, you're generally OK-ish.
51
00:04:17,019 --> 00:04:26,860
Florian: But the further away you get from that path, so if you start using less supported distributions or distributions that rely on security a bunch more, that's when stuff starts falling over.
52
00:04:27,500 --> 00:04:34,400
Joe: Yeah, I've heard that GNOME is very good, and I've heard very mixed things about KDE Plasma, so can you please set the record straight?
53
00:04:35,100 --> 00:04:42,280
Joe: It sounds like installing it isn't necessarily easy if it uses calamaris, but once it's installed, how is it with KDE Plasma desktop?
54
00:04:42,820 --> 00:04:47,800
Florian: So KDE Plasma uses Qt under the hood, and Qt generally tends to work pretty well.
55
00:04:47,860 --> 00:04:55,520
Florian: The problems that I have seen are that sometimes there is a flag you need to set, like Qt, Accessibility equals one.
56
00:04:55,860 --> 00:04:58,360
Florian: I think it's like an environment variable somewhere, maybe a checkbox.
57
00:04:58,480 --> 00:05:00,000
Florian: And at that point, things start working.
58
00:05:00,520 --> 00:05:01,620
Florian: That's also a bit of a theme.
59
00:05:01,680 --> 00:05:04,240
Florian: The Fedora distro is very famous for that.
60
00:05:04,520 --> 00:05:11,080
Florian: You have to go into an accessibility thing to turn on the enable assistive technologies checkbox.
61
00:05:11,120 --> 00:05:14,460
Florian: Because if you don't do that, then things like your browser won't work and other sorts of other things.
62
00:05:14,740 --> 00:05:18,180
Joe: But how are you supposed to do that if you can't use assistive technologies to do it?
63
00:05:18,560 --> 00:05:18,900
Florian: You don't.
64
00:05:19,100 --> 00:05:19,740
Florian: That's the problem.
65
00:05:20,420 --> 00:05:21,500
Joe: So you need someone to help you.
66
00:05:21,940 --> 00:05:25,940
Florian: Yeah, and what I know of KDE Plasma is that very recently it's actually gotten quite a bit better.
67
00:05:26,080 --> 00:05:27,980
Florian: I have not yet had a chance to play with it.
68
00:05:28,620 --> 00:05:32,580
Florian: I have a half-disassembled Kali Linux version that I'm going to put it on.
69
00:05:33,360 --> 00:05:36,280
Florian: And yeah, I'm going to see how bad or how good it is.
70
00:05:36,920 --> 00:05:52,320
Chris: So have you ever had a period of attempting, because I notice you said regretfully it's Windows that you run, have you had a concerted period with either desktop Linux or macOS where you tried to daily drive it and just couldn't, and how long did that last?
71
00:05:52,780 --> 00:05:53,520
Florian: Various times.
72
00:05:53,600 --> 00:06:12,160
Florian: honestly like I've done Mac OS several times because I would need it for work I'm a coder or accessibility tester depending on the day of the week and Some companies don't like you to bring your own device So they'll give you a MacBook and at that point I am sort of forced to use Mac OS which honestly is fine like it's not quite up to my standards of.
73
00:06:13,040 --> 00:06:18,820
Florian: I know where everything is, and I know exactly what buttons to press at every given situation to make sure that things do what I want them to do.
74
00:06:19,320 --> 00:06:22,860
Florian: Which, to be fair, Windows isn't doing any more either, but it used to be.
75
00:06:23,680 --> 00:06:25,840
Florian: As for Linux, I have tried it several times, actually.
76
00:06:25,900 --> 00:06:28,320
Florian: I've tried it the first time in the Vista days.
77
00:06:29,280 --> 00:06:40,300
Florian: I decided that nothing could be worse than what I was going through at that particular time, so I put, I think it was Ubuntu 9.04-based Vinux on my computer.
78
00:06:40,860 --> 00:06:47,320
Florian: that was a blind-specific distro at the time, and that worked relatively okay, honestly.
79
00:06:47,420 --> 00:06:56,220
Florian: Everything pre-GNOME 3 was relatively doable, and then things changed, and now it's a bit of a minefield, honestly.
80
00:06:56,900 --> 00:07:00,920
Dalton: Is the minefield in any way related to switching between X or Wayland?
81
00:07:01,180 --> 00:07:03,100
Dalton: Are there some security things in the way?
82
00:07:03,440 --> 00:07:07,340
Dalton: Do you know exactly what's kind of the sticking point there?
83
00:07:07,780 --> 00:07:08,620
Florian: Honestly, all of the above.
84
00:07:09,360 --> 00:07:16,520
Florian: Wayland was a thing that happened that wasn't really... in concert with the accessibility stuff changing.
85
00:07:17,200 --> 00:07:24,640
Florian: So I saw that I think a month or two ago, we saw, hey, we now sort of have Wayland working with Orca, and it's still being worked on.
86
00:07:25,280 --> 00:07:39,040
Florian: But if we look at how long Wayland's been under general, let's call it like a sort of a general release for people to find, I'd say I think I can safely say it's been out for at least a year and a half for people to sort of play around with.
87
00:07:39,160 --> 00:07:41,140
Florian: And it's just not been a great experience.
88
00:07:41,980 --> 00:07:43,840
Florian: for people yet.
89
00:07:44,100 --> 00:07:50,200
Florian: And then security, I mean, obviously, I just gave that Calamari's example where you have that getting in the way.
90
00:07:50,260 --> 00:07:58,920
Florian: And sometimes there's just other things where we had a period of time where audio was a big problem because Orca runs as a particular user.
91
00:07:59,840 --> 00:08:10,120
Florian: And if you're going into the terminal only, if you're going into TTY only mode and you just don't use the GUI, there is a different screen reader you turn on called leader speak up or the more modern equivalent fan rear.
92
00:08:10,880 --> 00:08:12,820
Florian: which also needs audio.
93
00:08:13,140 --> 00:08:24,920
Florian: And what we noticed is that you couldn't have both of those working, because Pulse Audio wouldn't really know how to handle the fact that one user was trying to get audio from two TTYs, and that was a whole entire thing.
94
00:08:26,920 --> 00:08:34,440
Florian: Really what I would say for Linux accessibility is that it works once you have it working up to a point that may or may not be good enough for you.
95
00:08:35,220 --> 00:08:40,100
Florian: But I don't think it's just, I think the main issue currently with it is that it's just not very user-friendly.
96
00:08:40,240 --> 00:08:41,659
Florian: There's a lot of tinkering involved.
97
00:08:41,720 --> 00:08:43,460
Florian: Sometimes things just fall over for no reason.
98
00:08:44,280 --> 00:08:49,500
Florian: And you need to have a little bit of background for, well, like a techie background to get some of the things fixed as well.
99
00:08:49,580 --> 00:08:57,320
Florian: For example, Java applications that require a particular setting to be on in order to expose their accessibility things properly.
100
00:08:58,240 --> 00:08:59,680
Florian: QT applications, same deal.
101
00:09:00,600 --> 00:09:10,300
Florian: And generally the idea is that screen readers sort of flick these settings on automatically when an app gains focus, but that very often falls over and it doesn't work right.
102
00:09:11,060 --> 00:09:18,260
Florian: So then the user gets a screen that doesn't read or a field that has no label or anything of the sort.
103
00:09:18,320 --> 00:09:21,180
Florian: where I'm like, this is fine if you're used to this kind of thing.
104
00:09:21,220 --> 00:09:22,780
Florian: Like, I don't terribly mind.
105
00:09:22,840 --> 00:09:25,500
Florian: If I have to use a Linux GUI, I will.
106
00:09:25,700 --> 00:09:26,700
Florian: Like, I love Cherry Tree.
107
00:09:26,760 --> 00:09:28,320
Florian: That's a fantastic note-taking application.
108
00:09:28,400 --> 00:09:29,420
Florian: I wish I had it on Windows.
109
00:09:29,520 --> 00:09:42,660
Florian: But sometimes, like, I remember last year when I was doing the OSCP stuff for Ofsec in the Kali Linux machine, and there was this Start Machine button on their page, which is a graphic that you have to click.
110
00:09:42,860 --> 00:09:45,480
Florian: And on Windows, I can just press Enter on that, and it'll work.
111
00:09:46,300 --> 00:09:52,160
Florian: And on Linux, I have to know that Orca has a particular cursor that I can use to click that physically with the mouse.
112
00:09:53,100 --> 00:09:54,360
Florian: And like I said, it's all fine.
113
00:09:54,620 --> 00:09:55,340
Florian: It all works.
114
00:09:55,460 --> 00:09:58,180
Florian: It's all perfectly doable once you know the trick to it.
115
00:09:58,860 --> 00:10:04,220
Florian: But at some point, the tricks just pile up and up and up, and you just lose productivity for the extra keystroke that you have to press.
116
00:10:04,960 --> 00:10:09,520
Florian: And that is annoying power users because it doesn't go as fast as they'd like.
117
00:10:10,140 --> 00:10:14,380
Florian: And it's blocking non-power users because they have no idea how to do all this stuff.
118
00:10:14,460 --> 00:10:20,700
Florian: So it's in this weird place of not quite good enough for either group, if that makes sense.
119
00:10:22,340 --> 00:10:27,560
Gary: So it sounds like being familiar with the UI to some extent actually is a really important thing for you.
120
00:10:27,800 --> 00:10:32,880
Gary: So how do you cope when the UI of an application just changes in a version upgrade?
121
00:10:33,080 --> 00:10:33,320
Florian: Whiskey.
122
00:10:34,800 --> 00:10:35,200
Chris: Slack.
123
00:10:35,760 --> 00:10:40,620
Gary: Well yeah I'm thinking Slack or Firefox changed the UI quite considerably a few years ago.
124
00:10:40,920 --> 00:10:48,720
Gary: That must have really been some getting used to because you can't just click around I guess and find where the options are quite as easily as someone with VisionKit.
125
00:10:49,320 --> 00:10:55,700
Florian: No, and sometimes it can cause some problems actually because the UI may not actually have changed that much for screen reader users.
126
00:10:56,220 --> 00:11:08,360
Florian: Like, do keep in mind, we sort of work with the underpinnings of the UI, so if it's really just iconography that's changed or just a bunch of different colors, or like various other things that just really only affect the visual.
127
00:11:08,440 --> 00:11:10,160
Florian: And we may not even realize that something has changed.
128
00:11:10,200 --> 00:11:13,380
Florian: For example, take the new Zoom for work UI.
129
00:11:13,440 --> 00:11:16,000
Florian: That's really barely changed for me at all.
130
00:11:16,120 --> 00:11:18,080
Florian: But I'm told that it's quite different visually.
131
00:11:18,840 --> 00:11:26,200
Florian: But sometimes, yeah, the menu bar disappearing and becoming the hamburger menu, that can be a bit much sometimes.
132
00:11:26,280 --> 00:11:27,960
Florian: I remember some applications doing that.
133
00:11:28,080 --> 00:11:29,560
Florian: A lot of people still despise the ribbon.
134
00:11:30,400 --> 00:11:34,400
Florian: for various applications because they thought the menu bar was faster.
135
00:11:34,500 --> 00:11:35,980
Florian: And to be fair, it probably was.
136
00:11:36,760 --> 00:11:40,400
Florian: So yes, the UI changing can actually be really annoying.
137
00:11:40,460 --> 00:11:53,000
Florian: And actually, what happens a lot of the time is when we see the words new design in an app or an interface, we are all like, uh-oh, because that usually means they forgot that we exist, and it's completely broken with screen readers.
138
00:11:53,360 --> 00:11:59,080
Gary: So do you find that a lot of applications aren't tested particularly well with screen readers and that that causes a lot of issues?
139
00:11:59,500 --> 00:12:00,960
Florian: Yeah, generally they're not tested at all.
140
00:12:01,540 --> 00:12:11,420
Florian: If I do a test for an application or a website, I can usually immediately tell, because one of the first things you would do is, for example, tab through the UI, just as a keyboard user.
141
00:12:11,540 --> 00:12:14,260
Florian: Keyboard users are not necessarily the same as screen reader users.
142
00:12:14,860 --> 00:12:20,580
Florian: Screen reader users have a few more cheat codes that they can use to get to places quickly, and particularly on the web.
143
00:12:21,540 --> 00:12:24,400
Florian: And keyboard-only users generally don't have those cheat codes.
144
00:12:24,460 --> 00:12:28,340
Florian: So what we tend to do as testers is we first just use a tab key.
145
00:12:28,860 --> 00:12:30,720
Florian: The arrow keys, the space key, and the enter key.
146
00:12:30,760 --> 00:12:32,080
Florian: You're going to see how far we get with that.
147
00:12:32,860 --> 00:12:38,580
Florian: If you try that in various applications, you're going to get nowhere, because the concept of a tab focus just doesn't exist.
148
00:12:38,980 --> 00:12:42,280
Gary: Yeah, or all of the buttons are in weird orders when you tap through them and things like that.
149
00:12:42,660 --> 00:12:43,540
Florian: See, also OBS.
150
00:12:43,760 --> 00:12:46,140
Florian: Yes, that can absolutely happen.
151
00:12:46,960 --> 00:12:53,800
Florian: Sometimes it can also be the opposite, where it works fine with the keyboard and it doesn't work great for a screen reader user.
152
00:12:53,880 --> 00:12:57,540
Florian: This happens, for example, when you have an autocomplete field that you type into.
153
00:12:58,620 --> 00:13:05,480
Florian: And screen readers and other assistive technologies have this limit of generally only being able to see one thing at a time clearly or at all.
154
00:13:05,560 --> 00:13:06,940
Florian: Screen readers only see one thing at all.
155
00:13:07,700 --> 00:13:13,920
Florian: So if you're typing in an edit field that opens an autocomplete list, what's going to happen is the screen reader needs to make a choice.
156
00:13:13,980 --> 00:13:16,520
Florian: Am I going to read what you're typing in the edit field?
157
00:13:17,280 --> 00:13:22,500
Florian: Or am I going to tell you the autocomplete results that just popped down, and how am I going to switch you between the two?
158
00:13:23,860 --> 00:13:26,100
Florian: For a lot of things, there's not really a good answer for that.
159
00:13:26,180 --> 00:13:30,520
Florian: Generally, you want the list to be focused, because otherwise you won't see what the list is doing.
160
00:13:31,360 --> 00:13:38,600
Florian: And if that's not the case, then you can use the arrow keys to navigate through the list's items, but your screen reader is just going to say blank.
161
00:13:39,360 --> 00:13:44,980
Florian: because it's telling you what the contents of the edit field that you're typing into is, which is, very correctly, blank.
162
00:13:45,660 --> 00:13:49,280
Florian: This was a problem in CyberChef, for example, which is a tool that a lot of hackers use.
163
00:13:50,040 --> 00:13:53,060
Florian: And I flagged this and it's being fixed, so that's good.
164
00:13:53,160 --> 00:13:54,620
Florian: But yeah, it can be tricky.
165
00:13:55,900 --> 00:13:58,680
Joe: Okay, this episode is sponsored by 1Password.
166
00:13:59,480 --> 00:14:04,700
Joe: In a perfect world, end users would only work on managed devices with IT-approved apps.
167
00:14:05,520 --> 00:14:13,300
Joe: But every day, employees use personal devices and unapproved apps that aren't protected by MDM, IAM or any other security tool.
168
00:14:14,140 --> 00:14:17,980
Joe: There's a giant gap between the security tools we have and the way we actually work.
169
00:14:18,840 --> 00:14:23,900
Joe: 1Password calls it the Access Trust Gap and they've also created the first ever solution to fill it.
170
00:14:24,740 --> 00:14:29,940
Joe: 1Password Extended Access Management secures every sign-in for every app on every device.
171
00:14:30,580 --> 00:14:37,740
Joe: It includes the password manager you know and love and the device trust solution you've probably heard of on this podcast back when it was called Collide.
172
00:14:38,640 --> 00:14:47,440
Joe: 1Password Extended Access Management cares about user experience and privacy, which means it can go places other tools can't, like personal and contractor devices.
173
00:14:48,060 --> 00:14:52,140
Joe: It ensures that every device is known and healthy and every login is protected.
174
00:14:52,720 --> 00:14:59,300
Joe: So stop trying to ban BYOD or shadow IT and start protecting them with 1Password Extended Access Management.
175
00:15:00,040 --> 00:15:02,940
Joe: Support the show and check it out at 1Password.com.
176
00:15:03,240 --> 00:15:04,520
Joe: slash Linux after dark.
177
00:15:05,520 --> 00:15:06,340
Joe: Quick bit of admin then.
178
00:15:06,740 --> 00:15:09,160
Joe: First of all, thank you everyone who supports us with PayPal and Patreon.
179
00:15:09,420 --> 00:15:10,400
Joe: We really do appreciate that.
180
00:15:11,100 --> 00:15:13,600
Joe: If you want to join those people you can go to linuxafterdark.net.
181
00:15:13,740 --> 00:15:14,360
Joe: slash support.
182
00:15:14,980 --> 00:15:22,540
Joe: And remember that for various amounts on Patreon you can get an advert free RSS feed of either just this show or all the shows in the Late Night Linux family.
183
00:15:23,000 --> 00:15:26,520
Joe: And if you want to get in contact with us you can email show at linuxafterdark.net.
184
00:15:27,700 --> 00:15:31,700
Joe: It seems like you do care about open source and ideas of freedom and stuff.
185
00:15:32,440 --> 00:15:39,240
Joe: So with that in mind, what message do you have to the free and open source software community in terms of accessibility?
186
00:15:39,360 --> 00:15:40,720
Joe: Like, what would you like them to do?
187
00:15:41,400 --> 00:15:42,340
Florian: That's a good question.
188
00:15:42,980 --> 00:15:47,060
Florian: I think really what I'd like to convey is that it's not as hard as you think it is.
189
00:15:47,360 --> 00:15:48,000
Florian: And also it is.
190
00:15:50,340 --> 00:15:53,600
Florian: It's not hard to do it well enough.
191
00:15:53,840 --> 00:15:56,300
Florian: It is just really difficult to do it really well.
192
00:15:56,660 --> 00:15:58,860
Florian: I think that's the divide I'd like to make.
193
00:15:59,320 --> 00:16:03,900
Florian: Things like just tabbing around your UI, like running a screen reader and just seeing what it says.
194
00:16:05,160 --> 00:16:11,060
Florian: when you do that or when you just don't use a mouse and try to use the keyboard, that is stuff that you can easily test yourself.
195
00:16:11,140 --> 00:16:13,360
Florian: That only takes literally 15 minutes.
196
00:16:13,920 --> 00:16:20,020
Florian: So I don't want to hear, we don't have capacity, we don't have the team, we're a small team, we'll get to it next year, September, maybe.
197
00:16:20,680 --> 00:16:26,860
Florian: I just want you to go open your app right now, turn on whatever screen reader you have, you have one built in on the Mac.
198
00:16:27,020 --> 00:16:28,860
Florian: if you want to use that, it's called VoiceOver.
199
00:16:29,800 --> 00:16:35,020
Florian: There is a free option, NVDA and Narrator on Windows, and if you can get it to work, there is a screen reader on Linux called Orca.
200
00:16:37,320 --> 00:16:40,240
Florian: Turn that on go play go have a play with your application right now.
201
00:16:40,320 --> 00:16:40,680
Florian: I'll wait.
202
00:16:40,920 --> 00:16:41,300
Florian: It's fine.
203
00:16:41,360 --> 00:16:42,320
Florian: It'll only take five minutes.
204
00:16:42,420 --> 00:16:43,160
Florian: See how it does.
205
00:16:43,320 --> 00:16:50,760
Florian: See what it says if it says My dot awesome dot button dot label slash slash class name equals equals.
206
00:16:50,820 --> 00:16:53,120
Florian: you did something wrong and it's easy to fix.
207
00:16:53,540 --> 00:16:54,220
Florian: go fix.
208
00:16:55,080 --> 00:16:55,880
Florian: That's really one of those.
209
00:16:56,160 --> 00:17:00,500
Florian: get the low-hanging fruit at least because what we're seeing a lot right now is that people don't even do that.
210
00:17:01,540 --> 00:17:11,420
Florian: they will not consider accessibility when picking, for example, their UI kit, which means that we get a lot of Rust-inspired UIs that did not also think about accessibility, so they're not accessible.
211
00:17:12,000 --> 00:17:23,960
Florian: And there's just so much stuff you could do, so much better you could do to make this open source movement more inclusive and have people actually be able to use the tools that come out of it a lot better.
212
00:17:24,540 --> 00:17:31,380
Florian: And I personally would be very happy if that happened, because it's always a bit of a struggle to find tools that work well enough for my needs.
213
00:17:31,440 --> 00:17:34,060
Florian: And I'm an efficiency nut, so I am picky.
214
00:17:34,240 --> 00:17:39,560
Florian: But I'm also a power user, which means I'll deal with a lot more stuff than most people will.
215
00:17:39,900 --> 00:17:43,900
Florian: If you tab around and nothing happens, people are going to quit your application and not going to use it.
216
00:17:44,020 --> 00:17:44,800
Florian: And they're going to complain.
217
00:17:45,420 --> 00:17:47,800
Florian: And then you have one more issue to be burned out about.
218
00:17:47,880 --> 00:17:49,440
Florian: So just preempt it.
219
00:17:49,660 --> 00:17:51,080
Florian: Just check it beforehand.
220
00:17:51,340 --> 00:17:53,060
Florian: Make sure you just give it a look.
221
00:17:53,960 --> 00:17:56,240
Florian: Catch the low-hanging fruit, and if you don't know, just ask.
222
00:17:56,520 --> 00:17:58,640
Florian: There's also blind people in the open source community.
223
00:17:59,640 --> 00:18:03,280
Florian: You can do a looking for help, looking for feedback.
224
00:18:03,340 --> 00:18:04,560
Florian: That is not poison.
225
00:18:04,660 --> 00:18:05,120
Florian: You can do that.
226
00:18:05,720 --> 00:18:09,840
Joe: It sounds like some effort made is a lot better than no effort made.
227
00:18:10,180 --> 00:18:10,660
Florian: Absolutely.
228
00:18:10,880 --> 00:18:11,320
Florian: Yeah, yeah, yeah.
229
00:18:11,500 --> 00:18:11,840
Florian: For sure.
230
00:18:12,400 --> 00:18:28,040
Chris: It's interesting because this conversation kind of comes about because we sometimes have challenges on this podcast and somebody wrote in and said you should try using a screen reader and instead of doing it we had an on-air discussion and that's why we wanted to talk to someone.
231
00:18:28,780 --> 00:18:36,860
Chris: I guess what we were scared about was kind of cosplaying someone who had visual impairment or blindness or not respecting that.
232
00:18:37,520 --> 00:18:46,220
Chris: Do you think it's better that developers should try to get into the mind frame or find more testers that actually have genuine accessibility needs?
233
00:18:46,780 --> 00:18:47,820
Florian: That's always a tricky one.
234
00:18:47,900 --> 00:18:55,940
Florian: For the one hand, I would definitely say always, if you can find someone who has native experience to test your applications, absolutely go for that.
235
00:18:56,440 --> 00:19:09,340
Florian: And if you can, obviously this is a bit harder in open source where a lot of things are voluntary, but if you work... let's say a big company and you have to do the next release for your company, obviously that company should be paying these people.
236
00:19:09,560 --> 00:19:12,680
Florian: That's just fair because you're essentially asking for a consult.
237
00:19:13,260 --> 00:19:18,460
Florian: For open source, obviously that's a different story and sometimes people just do it voluntarily and that's fine too.
238
00:19:19,060 --> 00:19:26,880
Florian: But if you can get a person who uses a particular assistive technology and you want to know if it works with your game or your application, have them test it.
239
00:19:27,540 --> 00:19:30,940
Florian: But you can do basic testing yourself first.
240
00:19:31,140 --> 00:19:35,860
Florian: You can make sure that the screen reader, when it comes on, even sees your application.
241
00:19:35,920 --> 00:19:45,280
Florian: A lot of times when you use a certain UI toolkit and it's just not speaking at all, then there's no point having a screen reader person come in and test it because they're not going to have anything to test.
242
00:19:45,320 --> 00:19:46,040
Florian: There's just nothing there.
243
00:19:46,680 --> 00:19:53,440
Florian: There is a point where you probably want to get other people involved that do use these assistive technologies just so you're not making decisions for people that aren't you.
244
00:19:54,400 --> 00:19:58,760
Florian: But you can do some of the easy, sort of low-hanging fruit.
245
00:19:58,900 --> 00:20:00,600
Florian: You can do the easy things as well.
246
00:20:00,760 --> 00:20:03,760
Florian: There is an ORCA manual that's not super long.
247
00:20:03,920 --> 00:20:06,980
Florian: You can quickly read through the main keys and use it.
248
00:20:07,040 --> 00:20:10,080
Florian: Again, people think this takes hours or even days of time.
249
00:20:10,120 --> 00:20:11,620
Florian: This takes half an hour at most.
250
00:20:12,480 --> 00:20:13,840
Florian: And then just see how that goes.
251
00:20:13,880 --> 00:20:23,460
Florian: And if you find a lot of problems, that's when you start making issues and prioritization recommendations to the rest of the team, stuff like that.
252
00:20:23,520 --> 00:20:26,740
Florian: But yeah, definitely have someone come in if you can.
253
00:20:26,960 --> 00:20:31,200
Florian: But if you can't, I don't think it's necessarily a problem for you to do the basics either.
254
00:20:31,740 --> 00:20:38,560
Dalton: I think that is a really important thing to talk about with different toolkits and application libraries that are out now.
255
00:20:38,600 --> 00:20:47,260
Dalton: A lot of the new age ones don't think about accessibility or iBus or whatever it is on each platform much at all.
256
00:20:48,000 --> 00:20:53,360
Dalton: What toolkits and things are people developing in today that do have really good support for this?
257
00:20:53,500 --> 00:20:56,040
Dalton: that usually just works at least on Windows?
258
00:20:56,580 --> 00:21:03,340
Florian: I mean, I'd honestly say on either platform that's going to be the web, because it is hard but not impossible to screw up the web.
259
00:21:04,460 --> 00:21:06,280
Florian: It is a lot easier when you start using React.
260
00:21:07,400 --> 00:21:07,900
Florian: Oh, name drop!
261
00:21:08,260 --> 00:21:23,800
Florian: No, basically, if you use semantic HTML on the web, and here we go again, that's an old standard a lot of people are sort of just ignoring, but if you do do that, Then there's a lot of smart people who figure out how those widgets should work, and then they generally tend to work.
262
00:21:23,860 --> 00:21:26,420
Florian: If you start doing your own thing, it becomes harder.
263
00:21:26,500 --> 00:21:28,280
Florian: And that's really what a lot of these toolkits are.
264
00:21:28,360 --> 00:21:34,120
Florian: Like if you use the C-sharp .NET components that Microsoft provides, you're generally fine.
265
00:21:34,160 --> 00:21:40,020
Florian: If you start customizing them, doing your own thing with them, and not properly inheriting from what's already there, you may break it.
266
00:21:40,660 --> 00:21:48,220
Florian: Particularly in things like Go and Rust, I've seen UI libraries pop up that just don't give anything to the APIs.
267
00:21:49,460 --> 00:21:52,140
Florian: Yeah, at that point, there's just not much I can say.
268
00:21:52,360 --> 00:21:53,140
Florian: You did it wrong.
269
00:21:53,280 --> 00:21:53,900
Florian: Go fix it.
270
00:21:54,020 --> 00:21:54,940
Florian: That's really all I can do.
271
00:21:56,220 --> 00:21:59,440
Florian: I can't think of any examples right now, but I've seen a couple of applications.
272
00:21:59,600 --> 00:22:04,460
Florian: Like, yeah, I did this thing in Rust, and I opened it, and it's like, yeah, I can't even read the window title.
273
00:22:04,700 --> 00:22:05,120
Florian: Good job.
274
00:22:05,600 --> 00:22:08,380
Florian: I don't see developers who are making tools like this.
275
00:22:08,420 --> 00:22:09,380
Florian: This is always a problem.
276
00:22:10,460 --> 00:22:11,360
Florian: Whose fault is this?
277
00:22:12,380 --> 00:22:13,480
Florian: Who do we hold responsible?
278
00:22:13,560 --> 00:22:16,840
Florian: Is it the developer for picking that UI toolkit thoughtlessly?
279
00:22:16,940 --> 00:22:20,620
Florian: Is it the UI kit developer who decided to not care about this?
280
00:22:22,220 --> 00:22:24,940
Florian: the education that this developer probably received?
281
00:22:24,980 --> 00:22:26,200
Florian: that didn't cover accessibility.
282
00:22:26,260 --> 00:22:29,420
Florian: There is a whole chain of responsibility here, and no one's really at fault.
283
00:22:29,980 --> 00:22:31,240
Florian: And also, everyone's at fault.
284
00:22:31,800 --> 00:22:36,980
Florian: So as a user of open source technology, you come into the application you're trying to use.
285
00:22:37,020 --> 00:22:41,300
Florian: You make an issue that says, hey, this is broken, and I'd like you to fix it.
286
00:22:41,380 --> 00:22:49,940
Florian: And then this developer is sort of seeing that and going, well, yeah, but this is broken because of a UI library that I chose three years ago that I've built my whole entire thing around.
287
00:22:50,900 --> 00:22:52,560
Florian: What am I supposed to do with this point?
288
00:22:52,640 --> 00:22:53,980
Florian: And I don't have an answer for you.
289
00:22:54,440 --> 00:22:55,880
Florian: At that point, you're so far in.
290
00:22:57,100 --> 00:23:03,840
Florian: As accessibility testers, we often say it's better to do the accessibility as early as you possibly can in the design stage.
291
00:23:03,920 --> 00:23:08,460
Florian: Otherwise, what you're trying to do is add a blueberry to a blueberry muffin after the blueberry muffins already come out of the oven.
292
00:23:08,500 --> 00:23:09,100
Florian: It's not going to work.
293
00:23:10,100 --> 00:23:13,980
Florian: You can shove it in there, and it's going to hang out in there, and it will work at some point.
294
00:23:14,040 --> 00:23:17,540
Florian: But it's never going to be as good as if you just put them in the stupid batter to begin with.
295
00:23:18,360 --> 00:23:20,460
Chris: I have one quick question before we wrap up.
296
00:23:21,000 --> 00:23:24,820
Chris: You mentioned right at the beginning you have a screen in the corner and you use it once a year.
297
00:23:25,300 --> 00:23:26,140
Chris: What is that for?
298
00:23:26,540 --> 00:23:31,840
Florian: I use that when I accidentally hit the CMOS button on my computer and resets it and I have to use the BIOS to get back into my system.
299
00:23:33,720 --> 00:23:34,880
Florian: It doesn't talk at that point.
300
00:23:35,220 --> 00:23:37,100
Chris: At that point you need to call someone else in?
301
00:23:37,260 --> 00:23:38,520
Chris: How do you navigate the CMOS?
302
00:23:38,920 --> 00:23:52,400
Florian: When that happens, basically what I have to do is this whole entire song and dance where I take my phone and I make pictures of the screen, OCR those pictures to see what the text says and then hopefully I see the hotkeys and then press those buttons and hopefully it works.
303
00:23:52,440 --> 00:23:53,940
Florian: And if that doesn't work, yes, I call a person.
304
00:23:55,560 --> 00:24:02,480
Joe: Well, it's been absolutely brilliant talking to you, and I feel like we could talk to you for another two hours about this stuff, but we should wrap it up.
305
00:24:03,240 --> 00:24:06,080
Joe: Anything you want to plug in terms of your streaming and stuff like that?
306
00:24:06,660 --> 00:24:12,900
Florian: So I have two Twitch channels because I am a sadist, basically, but I have two Twitch channels and a YouTube channel.
307
00:24:14,040 --> 00:24:24,920
Florian: And basically that happened because I started out as a gaming gaming streamer on Twitch and I do like accessible gaming stuff links in the video description.
308
00:24:26,920 --> 00:24:30,600
Florian: Basically I do accessible gaming for people who use a screen reader.
309
00:24:30,720 --> 00:24:33,260
Florian: so I pick up a game and I go see if it's playable.
310
00:24:33,960 --> 00:24:36,440
Florian: I go see if I can Get anywhere with it.
311
00:24:36,540 --> 00:24:38,980
Florian: And sometimes I know I will be able to and sometimes I don't.
312
00:24:39,140 --> 00:24:40,680
Florian: so it's very like varied.
313
00:24:41,280 --> 00:24:47,460
Florian: And then at some point in my gaming stream, I said out loud like I wish I could do more like techie hacking coding stuff.
314
00:24:48,400 --> 00:24:50,080
Florian: And um just right there.
315
00:24:50,120 --> 00:24:55,380
Florian: and then I came up with the username ic null which I found funny because hacking And blind.
316
00:24:55,660 --> 00:24:59,380
Florian: so ic null then became my second channel, which is where I do try hack me.
317
00:25:00,280 --> 00:25:02,120
Florian: I've been bashing Burp Suite a bit this week.
318
00:25:02,600 --> 00:25:06,840
Florian: I do programming, accessibility testing, all sorts of things that are very much not gaming.
319
00:25:07,460 --> 00:25:08,780
Florian: So yeah, that's the big divide.
320
00:25:08,920 --> 00:25:14,360
Florian: And then to keep it consistent, I also have a YouTube channel called Blindly Coding, which basically archives both of those things.
321
00:25:15,020 --> 00:25:18,360
Florian: I always keep a very open policy where my streams are concerned.
322
00:25:18,400 --> 00:25:22,320
Florian: People can ask questions, people will not get yelled at if they offend people much.
323
00:25:23,320 --> 00:25:27,700
Florian: And generally we'll try to make it a safe and educational environment.
324
00:25:27,740 --> 00:25:31,420
Florian: So if you have questions or if you just want to see me ace Diablo 4, come see.
325
00:25:31,940 --> 00:25:34,100
Joe: Well yeah, I'll put links to all your stuff in the show notes.
326
00:25:34,780 --> 00:25:36,260
Joe: But we'd better get out of here.
327
00:25:36,500 --> 00:25:37,660
Joe: We'll be back in a couple of weeks.
328
00:25:37,820 --> 00:25:39,240
Joe: But until then, I've been Joe.
329
00:25:39,280 --> 00:25:40,320
Chris: I've been Chris.
330
00:25:40,840 --> 00:25:41,240
Gary: I've been Gary.
331
00:25:41,840 --> 00:25:42,380
Dalton: I've been Dalton.
332
00:25:42,740 --> 00:25:43,420
Florian: And I've been Florian.
333
00:25:43,980 --> 00:26:07,800
Joe: See you later.