Live Session (2024)

Back to Overview
00:00,001 --> 00:21,480
Hello and welcome back to this second tutoring session. This is, as always, open for everyone. If you're looking at this in the future, I hope it's better there than it is here. That's how progress should work.

00:23,279 --> 00:32,839
And if you have any questions, feel free to put them into Slack so we can reply to them and give you, like, your help if you need it.

00:33,219 --> 00:41,159
But, you know, maybe we also answer stuff in this meeting, in this tutoring session right now.

00:42,099 --> 00:54,939
Yeah, so I think I want to just do the quick open, like open the floodgates and say any questions, any specifics you want to know.

00:56,219 --> 01:05,439
And just as a general overview, what I'm going to do in the videos, I talked about what you should do.

01:05,439 --> 01:13,039
And now in this live sessions, I will talk a little bit about how you figure out if it's done correctly.

01:13,759 --> 01:16,499
So the testing aspect of stuff.

01:16,579 --> 01:18,779
And I think I showed a little bit in the videos as well.

01:19,279 --> 01:22,019
But it's always good to see that in a live thing.

01:22,119 --> 01:24,059
And then you can also have questions in between.

01:24,919 --> 01:32,539
So any questions, and feel free to put your hand up or put a note into chat or just speak up.

01:34,539 --> 01:36,839
Soma and Misael?

01:37,359 --> 01:37,679
Is that?

01:38,899 --> 01:39,099
Yeah.

01:39,539 --> 01:40,499
Now it's me.

01:42,799 --> 01:45,499
Yeah, I actually had like four different questions.

01:46,859 --> 01:48,059
Okay, start with one.

01:50,539 --> 01:50,779
Yeah.

01:53,039 --> 01:55,899
Let's see if the camera.

01:57,259 --> 02:00,699
The thing is that, for example, on the first example,

02:00,699 --> 02:03,999
when we went through, you went through X-Labs,

02:03,999 --> 02:05,499
I can't really see it anyway.

02:07,719 --> 02:16,499
You had two H1s, and I think his name was Claudio when we had a meeting.

02:17,579 --> 02:24,299
He also said that it's okay to have two H1s or multiples.

02:25,599 --> 02:27,259
And how should you think?

02:27,339 --> 02:29,459
And we were looking at Google.com.

02:29,559 --> 02:31,279
They don't have any H1, for example.

02:32,279 --> 02:40,259
is there like a standard you should follow or yeah so this is a great question um because

02:40,259 --> 02:48,379
there's basically uh there's basically multiple things that are going on so the first one is like

02:48,379 --> 02:56,519
you know some people uh look at like purity in like what they teach or what they tell people to

02:56,519 --> 03:04,159
do um and then there's just practicality uh and you know if you if you look at it from a pure

03:04,159 --> 03:12,719
purity type of thing uh you technically only want to have like one h1 uh and and stuff like that

03:12,719 --> 03:20,199
people and some people are very strict about that um which i don't think is like um the most useful

03:20,199 --> 03:29,879
thing honestly to be so on the access lab side I have one h1 and then we have an h2 here I don't

03:29,879 --> 03:35,199
know if there are other h1s because when I recorded the video that is a long time ago

03:35,199 --> 03:42,659
I can show the headings here oh yeah there's a heading here h1 here and h1 there the most

03:42,659 --> 03:48,119
important thing is that you have headings everything that looks like a heading is also a

03:48,119 --> 03:53,479
heading so you can explore the page and find different sections on the page.

03:53,679 --> 03:57,559
And then the second, like,

03:57,759 --> 04:03,999
lower, much lower ranked issue is like, does this make sense in the page structure?

04:04,199 --> 04:10,759
So, you know, here we have H1, H1 and then H2, H3,

04:11,239 --> 04:14,599
and then H2 back again, which that makes all sense.

04:14,799 --> 04:16,959
Like these are different, different things.

04:17,159 --> 04:23,899
So this is equivalent for someone who is using a screen reader, for example, with someone seeing the page.

04:23,899 --> 04:32,639
And it doesn't really matter if there are two H1s here at the top because they are basically very similar from what you want to do.

04:33,779 --> 04:40,339
So I think the most important thing is that there are headings, that everything that looks like a heading is a heading.

04:41,419 --> 04:47,119
And then, like, if you have headings, just make sure that the structure is good.

04:47,379 --> 04:50,599
And that's also mostly for, like, the main content.

04:50,799 --> 05:08,339
Like, if you had, like, you know, if there was an H2 here that said, like, navigation, and then you also have an H2 here at the bottom that says footer, you could do that, even though, like, you know, the other headings here wouldn't then make a lot of sense.

05:09,419 --> 05:27,079
But like, you can be like a little bit like, you know, there's not, it's, let's say, let's say it's not worth like being super strict about it, because most screen reader users will just jump to the next heading.

05:27,079 --> 05:29,719
So they would go access lab, services, accessibility.

05:31,019 --> 05:34,539
And that would be like the first, the first three headings.

05:34,819 --> 05:38,519
And like, the levels are more like additional information.

05:38,519 --> 05:53,479
And what about when you open, like, modals? Should you think about it, like, a completely new separate page? Like, since you aren't able to go to anything in the background, should you have a new H1?

05:54,519 --> 06:09,199
That's usually what I do. So I have here a model on my own page, and I think this is an H1. If it's not, that's super embarrassing, I guess. It's not. But it doesn't really matter because you're in such a constrained way.

06:09,199 --> 06:20,019
If this was a very in-detail complicated model, then I would say, oh, having a really rigid structure might be more important.

06:20,399 --> 06:23,799
But for this, yeah, just start with another H1.

06:24,159 --> 06:28,939
Because basically what a screen reader will do is they will hide everything in the back.

06:29,059 --> 06:33,359
So this is basically a new page for them if it's implemented correctly.

06:33,359 --> 06:39,599
So I would generally try to start with an H1, and that makes it easy to handle.

06:41,359 --> 06:43,479
Okay, and then continuing.

06:44,679 --> 06:51,299
You mentioned there are different content, what's it called?

06:52,259 --> 06:56,399
You had side nav and main and footer.

06:58,139 --> 07:02,739
But then I was thinking about, you mentioned that in the X-Labs blog,

07:02,819 --> 07:04,919
You had different sections and they were together.

07:05,359 --> 07:12,219
But you also have the section or article HTML element.

07:12,459 --> 07:17,919
Do they do anything for accessibility or is it most for other stuff?

07:18,079 --> 07:18,779
Good question.

07:19,659 --> 07:20,799
So, yeah.

07:20,979 --> 07:27,479
So there is a difference between landmarks and then general like region type of containers.

07:27,919 --> 07:30,959
So section and article are just general containers.

07:31,639 --> 07:34,039
And they are usually not announced.

07:34,299 --> 07:41,019
And this is all individual for the screen reader user.

07:41,179 --> 07:47,059
They can make those be announced if they want to.

07:47,879 --> 08:00,719
So if I, as a screen reader user, say, oh, it's super important for me on this specific page even to have sections and articles announced, then I can set my settings like that.

08:00,819 --> 08:11,719
So there's a lot of customization in it, but by default, screen readers do not announce sections or articles unless they have an accessible name.

08:11,719 --> 08:28,599
So if you put ARIA label on it or use ARIA labeled by, those are the common ways to label sections and articles, then they would be announced as a container.

08:30,219 --> 08:33,539
And that can be useful in a couple of instances.

08:34,819 --> 08:42,539
If you don't do that, then they will be basically treated like a div, like a presentational element.

08:42,679 --> 08:49,219
And the reason is that a lot of people are overusing sections because they have heard that like, oh, divs are bad.

08:49,779 --> 08:52,779
And then they look at like, oh, what's like a div, but not a div.

08:52,899 --> 08:54,799
And they go like, oh, I could use a section.

08:54,939 --> 08:56,339
And then they have overused it.

08:56,419 --> 08:59,219
And now it's like, it's basically burned for all of us.

08:59,219 --> 09:09,139
So, only if there's an ARIA label, ARIA labeled by, then the section and article gets announced for sure.

09:11,559 --> 09:16,359
Oh, and then they also can show up in the landmark overview.

09:16,599 --> 09:23,339
Like if you have a screen reader and you say show all landmarks, but that depends on the screen reader.

09:26,339 --> 09:27,739
Okay. Thank you.

09:27,859 --> 09:29,939
But that was all the questions I had.

09:30,259 --> 09:31,999
I know some have some questions also,

09:32,079 --> 09:34,639
but I don't know if you want to go with someone else first.

09:36,099 --> 09:36,539
Sure.

09:36,539 --> 09:42,859
Does anyone else have a question, hands up, or chat?

09:43,479 --> 09:44,119
Going, going.

09:44,239 --> 09:45,259
I have a question.

09:45,439 --> 09:46,079
Yeah, go ahead.

09:46,219 --> 09:48,239
I'm not seeing who wants to go first.

09:49,299 --> 09:55,519
I was a little bit curious about the resources or information about this,

09:55,659 --> 10:01,379
if it differs when you are creating a single page app or a mobile app and not the web page.

10:01,799 --> 10:07,599
So in terms of navigation and the structure of an app.

10:08,319 --> 10:09,159
It's a good question.

10:10,159 --> 10:15,339
Generally, you try to use the same basic concepts.

10:16,119 --> 10:19,539
But of course, if you only change part of the site,

10:19,539 --> 10:28,899
you have to do all the information yourself that the browser usually does give you for free. If you

10:28,899 --> 10:35,779
reload a page in a browser, screen readers will just announce, "Oh, there's pages loading," and

10:35,779 --> 10:44,179
also tells you once the page is loaded, and then you are automatically with your focus at the top

10:44,179 --> 10:49,939
of the page. So you get all of that for free with a classical multi-page application.

10:50,899 --> 10:55,939
If you change stuff, like let's say the Access Lab site would be a single page application,

10:56,739 --> 11:02,899
and let's say we click on Accessibility Review, and instead of loading a new page,

11:02,899 --> 11:09,219
it would just replace this pinkish main content. That would be like a single page application

11:09,219 --> 11:16,619
would do it then you would say so first uh you would you would need to like manage the focus

11:16,619 --> 11:25,399
yourself so you want to like put the focus at the top um and uh or on the main uh container uh that

11:25,399 --> 11:31,699
depends on like you know what what ui you want to have uh but that's that's usually what you want

11:31,699 --> 11:42,119
to do like you know maybe only like put it on top where stuff has changed um and then like the rest

11:42,119 --> 11:48,379
is basically the same like you want to have like every section you want to have like your headings

11:48,379 --> 11:53,759
you want to make sure that you have like a good way uh in terms of landmarks to navigate between

11:53,759 --> 12:00,239
sections especially important uh with applications like if you have multiple sections like a dashboard

12:00,239 --> 12:05,919
or something like that, going from one to the other is super useful.

12:06,799 --> 12:09,219
So, yeah, I think the same stuff applies.

12:09,219 --> 12:12,019
You just have to make sure that you are reacting to, like,

12:12,599 --> 12:18,519
or that you are fulfilling the role of the browser as well to a certain degree.

12:18,679 --> 12:19,979
So you have to manage focus.

12:20,119 --> 12:24,099
You have to be sure, like, let's say I'm here and I press the back button.

12:24,259 --> 12:25,779
You should, like, support that.

12:25,859 --> 12:29,959
And then, like, the focus should be on the button where you left maybe.

12:29,959 --> 12:39,999
you know, there are like different UI things that you should be thinking about. But for like putting structure in, I think it's pretty much the same.

12:41,699 --> 12:42,439
Thank you.

12:43,999 --> 12:45,079
Awesome. Karin.

12:47,419 --> 12:59,279
Yeah, hello. I wonder, because you said in the video that you need to be consequent in the way you're going down between H2.

12:59,279 --> 13:15,859
You gave an example, H2, you cannot jump from H2 to H5. When you go up, you said you're allowed to go up two levels. Can you clarify that a little bit?

13:16,339 --> 13:35,799
Yeah, sure. It's a good question because I think this is also a bit hard, difficult to understand concept. Let's take this as an example. So we have here a heading one, and then we have a heading two, and then we have a heading three here.

13:36,459 --> 13:42,559
And then here, because we are getting like back a level, we're going to a level two again.

13:42,939 --> 13:46,679
Let's say there was more content under related activities.

13:46,879 --> 13:53,339
Like let's say it says like live activities or like in-person meetings or remote meetings.

13:53,339 --> 13:56,279
So you have a couple of headings, level four underneath it.

13:57,019 --> 14:06,319
Then you can go back to level H2 because you don't need to like basically cancel out of this related activities header.

14:06,319 --> 14:12,999
so you know if you go if you go down and that's just where you end up you don't need to like

14:12,999 --> 14:19,659
to then have another heading there that you know that that would not provide any any information

14:19,659 --> 14:27,939
so it's just like it's just so so basically you'd always try to nest your content if if it fits

14:27,939 --> 14:34,099
you try to nest your content underneath like the previous heading and then for the next heading

14:34,099 --> 14:40,919
you try to figure out like on what level does this fit instead of like do I need to get back

14:40,919 --> 14:49,219
a level or not so in this case monitor websites and engage with stakeholders they are levels

14:49,219 --> 14:57,139
that are like on this they are on the same level so whatever happens in here doesn't matter for

14:57,139 --> 14:59,299
where you end up at the bottom.

15:00,579 --> 15:02,219
I hope this was a little bit clearer.

15:03,539 --> 15:05,779
And if not, I can try to explain it again.

15:07,059 --> 15:09,299
I think I need to digest it.

15:10,499 --> 15:11,879
I don't know.

15:12,239 --> 15:14,419
It makes sense what you're saying.

15:15,519 --> 15:15,879
Yeah.

15:16,339 --> 15:20,659
Let's say, usually I try to explain it like that.

15:20,659 --> 15:22,419
If you have a book, it has a title,

15:22,619 --> 15:25,239
and then every chapter has a heading.

15:26,419 --> 15:29,199
And inside of those chapters, you might have subchapters.

15:29,399 --> 15:31,899
So you might have subchapter one, subchapter two.

15:32,279 --> 15:35,899
And then in subchapter two, you might have subchapter three.

15:36,999 --> 15:40,019
But then the next chapter starts.

15:40,359 --> 15:44,259
You don't need to go back up to subchapters.

15:44,399 --> 15:45,079
No, no, no.

15:45,779 --> 15:48,259
You go to the next chapter directly.

15:48,659 --> 15:49,879
And this is the same thing.

15:50,059 --> 15:50,459
All right.

15:50,619 --> 15:52,779
So those chapters are on one level,

15:52,939 --> 15:56,819
and then you can go as deep as you want inside of the individual chapters.

15:57,379 --> 15:58,679
Okay. Thank you.

15:59,719 --> 16:01,939
Books. I never think of books.

16:05,419 --> 16:07,939
Okay. Any other questions?

16:09,619 --> 16:11,639
If not, there has been one in chat.

16:13,119 --> 16:13,639
Jakob.

16:15,219 --> 16:16,339
Hello. Yes.

16:17,359 --> 16:18,359
Okay, hear me out.

16:18,439 --> 16:19,759
I might have misunderstood this,

16:19,839 --> 16:23,679
but I just wanted to hear your thoughts on it.

16:23,759 --> 16:27,039
So I come from a design background, and from day to day,

16:27,119 --> 16:28,239
I work with developers.

16:28,919 --> 16:30,819
And I've been thinking, because we had this discussion

16:30,819 --> 16:33,959
on the workshop as well, and I was just thinking,

16:34,219 --> 16:38,619
regarding like when I design, for example, let's say a start page,

16:38,619 --> 16:43,059
and then the developer would say, well, this is H1, this is H2,

16:43,159 --> 16:44,359
this is H3, and so on.

16:44,699 --> 16:47,499
And we're going through now from accessibility standpoint,

16:47,799 --> 16:48,759
like best practice.

16:48,899 --> 16:51,319
And I think for me, it's pretty easy to understand.

16:51,799 --> 16:56,459
But I was just thinking, do you have any ideas on this, like the text styles?

16:56,639 --> 17:00,099
Because usually you end up with pretty descriptive text styles.

17:00,279 --> 17:05,679
And I was just thinking, is there a better way of handling text styles so the developer can match it?

17:06,139 --> 17:07,599
Do you understand what I mean?

17:07,599 --> 17:17,179
Yeah, this is like one of the big, like, this is actually like a bigger problem than you would think it is.

17:18,479 --> 17:28,979
Because usually, so as a design developer who does everything myself, I just go and say, this is my H1, this is my H2, and I style them like that.

17:29,499 --> 17:42,419
If you are a visual designer, you sometimes get into these situations where you have an H3 that should look like an H2 or like an H4 that should look like an H5, stuff like that.

17:43,419 --> 17:45,419
And that's totally okay.

17:45,499 --> 17:46,199
You can do that.

17:46,359 --> 17:51,459
There's nothing that prevents you from doing that as long as the underlying structure is good.

17:52,939 --> 18:00,099
And the easiest way that most people do it is to have classes for the headings.

18:00,099 --> 18:08,499
So you have your H1 style, your H2 style, your H3 style, and then you have looks like H1, looks like H2, looks like H3.

18:08,619 --> 18:14,879
I mean, wording, naming, whatever you want, but that's usually what is done.

18:15,099 --> 18:21,699
So the developer can say, oh, this is in my mind thinking about this structurally.

18:21,699 --> 18:29,239
It's an H3, but visually, my visual layout that I got is an H2.

18:29,379 --> 18:33,499
So I will say H3 looks like H2 and be done with it.

18:35,499 --> 18:37,979
So that's usually what I say.

18:38,999 --> 18:46,279
define the looks and then also be aware that like the looks don't need to match the...

18:48,999 --> 18:55,079
Well, they should, but they don't need to. Exactly, because that's what's not colliding

18:55,079 --> 18:59,479
for me, whatever you call it, but like for example, when we work with color styles,

18:59,479 --> 19:06,039
it's like the background is a background, but then when it comes to working together with

19:06,839 --> 19:13,359
developers the h1 is not necessarily h1 in the style so i just was thinking is there like a

19:13,359 --> 19:19,759
maintainable way of handling this i guess your answer is like well it's going to be in the code

19:19,759 --> 19:25,939
what color and what text style they use for each heading and i can just settle with that i guess

19:25,939 --> 19:34,219
yes that's usually usually how it's done i mean if you if you create like um a styling

19:34,219 --> 19:35,919
from ground up.

19:36,319 --> 19:39,158
And I don't think a lot of people are doing this anymore.

19:39,419 --> 19:45,619
Back when I was a web developer and web designer 10 years ago,

19:46,719 --> 19:51,339
what we did, we designed all the templates from the ground up ourselves.

19:51,339 --> 19:54,599
So what I would do in such situations, instead of saying,

19:55,219 --> 19:59,879
in this case, it's an H2 that looks like an H1,

20:00,439 --> 20:08,658
I would go and would put a class on the body or on the main element and would say, oh, this is this template.

20:09,378 --> 20:10,839
And then I can just use the H1s.

20:10,898 --> 20:19,158
Because if you have a CMS, for example, then you don't want users putting classes on stuff because they are terrible.

20:19,559 --> 20:22,679
Users are terrible at doing content structure.

20:22,878 --> 20:24,158
So you want to restrict that.

20:24,159 --> 20:34,039
So you can say like, oh, in this container, you know, all headings level one looks like headings level two, but that can quickly spiral out of control.

20:34,339 --> 20:42,839
And I guess it's now better with like, you know, new CSS selectors because you can say like, you know, you can group them better.

20:43,479 --> 20:46,439
And so it might not be as big of a thing.

20:46,439 --> 20:52,199
But like, I know that for one of our clients, we had like, every section was color coded.

20:53,999 --> 20:58,339
And they had like very different styles on each color coded section.

20:58,638 --> 21:03,658
And we had these like long CSS selectors that tried to like match all of the different possibilities.

21:03,658 --> 21:05,919
And it wasn't a nightmare, but it worked.

21:06,138 --> 21:07,658
Like, you know, that was the other thing.

21:07,699 --> 21:11,839
And they could just concentrate on like, oh, I direct this page to this section.

21:11,839 --> 21:16,999
and it would just magically change the colors and change the font styles and stuff.

21:17,799 --> 21:19,019
That was pretty neat.

21:19,379 --> 21:21,719
But yeah, it needs planning.

21:22,179 --> 21:23,619
That's the other thing.

21:24,379 --> 21:29,439
If you plan it well, then it's usually doable.

21:31,239 --> 21:32,079
Okay, thank you.

21:32,999 --> 21:33,419
Sure.

21:34,539 --> 21:38,319
Let me quickly use the question from the chat.

21:38,999 --> 21:49,079
Would you mind telling a little bit about hidden headings, like examples, or when it's nice to use them, and the general opinion about them, accessibility-wise?

21:49,819 --> 21:52,279
That's from Soma, I guess.

21:53,419 --> 21:58,859
And so, the first thing is, like, I'm not a big fan.

22:00,299 --> 22:03,979
I don't like them, because you can't see them.

22:03,979 --> 22:07,019
That's the biggest pet peeve.

22:07,139 --> 22:11,779
That means often they get forgotten or get doubled up.

22:13,119 --> 22:23,439
It's just like if you work with people who do not use assistive technologies and you use hidden stuff, it just gets overlooked and you get accessibility issues with that.

22:24,539 --> 22:26,259
And so that's why I'm not a big fan.

22:27,159 --> 22:37,159
But pragmatically, they are useful and you can and should use them if you feel the need for them.

22:37,659 --> 22:43,139
So, for example, on the WAI website, I don't think we have any hidden headings, actually.

22:44,039 --> 22:46,559
Let me go on to one that I know better.

22:50,559 --> 22:58,619
So here at the Nobility website, I think there's a hidden header that says, welcome here.

23:01,079 --> 23:01,799
Headings.

23:02,758 --> 23:03,039
Go.

23:04,878 --> 23:06,919
Oh, is it completely hidden?

23:08,039 --> 23:10,619
I programmed this like four years ago.

23:10,619 --> 23:16,459
So yes, there is the visual hidden heading.

23:16,658 --> 23:17,939
And it just says Nobility.

23:18,159 --> 23:21,319
Okay, that's also totally fine.

23:25,199 --> 23:28,219
Let's delete the link.

23:28,219 --> 23:38,219
And that's a good way to do it, you know, to make sure that your heading levels are good.

23:39,179 --> 23:46,159
And you can use them if it's visually clear what a section or part of your website is.

23:46,518 --> 23:55,258
So let's say you have a page where you have like a carousel of recipes at the bottom and it's a recipe website.

23:55,258 --> 24:01,658
You know, you might not want to put in there like here are more recipes as a heading visually.

24:02,199 --> 24:12,138
But you might want to have that in your structure to make it easier for people who are blind, who are using screen readers to like get an overview.

24:12,138 --> 24:19,198
because that's essentially the goal of having headings,

24:19,398 --> 24:22,198
is that you can skim the site.

24:22,378 --> 24:25,458
Like a visual user, I can skim, oh, this is this heading,

24:25,578 --> 24:28,218
this is that heading, here's a heading, there's a heading.

24:28,978 --> 24:30,158
That's really easy.

24:30,478 --> 24:33,198
And for screen reader users, having that list of headings

24:33,198 --> 24:40,738
and help to navigate similar to landmarks is a good way to get that overview

24:40,738 --> 24:50,418
and just be able to slice the page in its components and get to there.

24:50,658 --> 24:55,538
So yeah, I'm actually not the biggest fan of hidden stuff,

24:56,078 --> 25:00,858
but if you feel you need to use it, then just go ahead and use it.

25:01,118 --> 25:02,398
It's totally fine.

25:03,078 --> 25:04,938
Just be aware that it happens.

25:04,938 --> 25:15,898
and if you make changes, be aware that you need to change it as well. Okay, more questions in chat.

25:15,898 --> 25:21,578
Do you have a good summary of good tools to use when checking accessibility issues? I don't have

25:21,578 --> 25:34,538
a good overview, but I will show some later today. Especially for pages and stuff. That was by Hannah

25:34,538 --> 25:43,178
And Alicia says, how do you solve accessibility content that are rendered conditionally?

25:43,538 --> 25:46,518
You can have a skeleton visually before content is ready.

25:47,078 --> 25:50,378
For example, we render a page with a login feature.

25:50,818 --> 25:52,938
The user visits the site, it has login here.

25:53,298 --> 25:56,038
Once you log in it, it should change to a high name.

25:56,038 --> 26:00,938
But we need to talk to a database and add a skeleton design whilst it is loading.

26:01,458 --> 26:04,478
What should the screen reader say before the high name is rendered?

26:04,478 --> 26:11,338
just generic area label loading or is there a better way um so this is one of the other things

26:11,338 --> 26:25,938
where you have um uh where you decide to not use page reloads so uh again the burden of like oh i

26:25,938 --> 26:34,158
now have to emulate a browser is on you. And how you do that, you know, you can be pretty,

26:34,158 --> 26:45,158
pretty flexible with how you do that. So if you decide to use a skeleton

26:45,158 --> 26:50,698
loading screen, and this is for those who don't know, because that's a bit jargony,

26:50,698 --> 26:55,898
it's basically you have gray boxes where content would be, and then you replace those gray

26:55,898 --> 27:03,398
boxes with the content once it's loaded from the server. If you decide to do that, then you should

27:03,398 --> 27:11,458
look into like making the page busy. So that's ARIA busy. And we get into ARIA stuff in like 10

27:11,458 --> 27:19,538
weeks or so. More like eight weeks. But that's usually a way that you can say like, oh, this

27:19,538 --> 27:28,198
page is doing something and I'm busy and leave me alone. Visual text that says loading is always

27:28,198 --> 27:39,338
good. You can also have a little loading spinner, also not a problem. And then you can load the

27:39,338 --> 27:44,838
content in and then you just have to make sure that the user knows once the content has loaded.

27:44,838 --> 27:55,018
So you want to do that by setting the focus onto the newly loaded content, because then it will be announced automatically in screen readers.

27:55,298 --> 28:01,118
And then, you know, a user who uses screen reader knows like, oh, this has changed and I can now interact with it.

28:02,058 --> 28:11,098
But yeah, there's a lot of steps when you do loading, when you take that on for yourself that you have to think about and make sure that it works.

28:11,918 --> 28:16,298
And as always, testing stuff is important.

28:18,758 --> 28:19,938
Any other questions?

28:21,318 --> 28:23,918
Follow up on that one, unless someone else has something.

28:27,798 --> 28:32,098
Yeah, Jessica asks, do you mean that you have a loader on top of the skeleton?

28:32,098 --> 28:36,918
Yeah, I mean, often you have these skeletons.

28:37,218 --> 28:56,318
I'm not the biggest fan of skeleton things because I think like, try to pretend that something is loaded, which it isn't. But like, if you have it, and there is like an animation on the skeleton, which some people do, you know, it might be a bit distracting.

28:56,318 --> 29:08,118
I like to have a separate loading thing because a lot of people with cognitive disabilities, for example, might not pick up that this is loading, that having a skeleton means it's loading.

29:08,438 --> 29:11,498
They might think like, oh, this is stuck somehow.

29:12,738 --> 29:16,398
So I think it's always good to be very clear in what's happening.

29:16,998 --> 29:24,618
And a little loading spinner or the text loading or fetching data or something like that can really help there.

29:24,618 --> 29:38,918
A follow-up, how does a non-sighted user or a screen reader user get information that we get from the browser?

29:38,918 --> 29:42,918
For example, there is a loading, there's a bar usually under the...

29:44,338 --> 29:46,358
There's information about if something is broken.

29:46,958 --> 29:50,738
So how does that work in terms of screen reader in relation to the content?

29:53,218 --> 30:00,998
Yeah. The screen reader will announce that. It will say, like, 80% loaded, 100% loaded.

30:01,138 --> 30:03,538
Oh, it announces how much it's loaded.

30:03,538 --> 30:04,798
Yeah, and then it will just start from the top.

30:05,758 --> 30:06,178
Okay.

30:06,738 --> 30:13,258
So, yeah. And it will not start from the top. It starts reading from the top. It will put the focus on the top of the page.

30:13,258 --> 30:18,698
So basically-- and usually you also get audio queue.

30:18,698 --> 30:23,158
I think on Mac OS, it's like a little bing that says, oh,

30:23,158 --> 30:25,218
the loading has completed.

30:25,218 --> 30:29,598
Especially if it's close to other announcements,

30:29,598 --> 30:30,738
then it does it that way.

30:30,738 --> 30:31,238
OK.

30:33,598 --> 30:34,858
Yeah.

30:34,858 --> 30:37,638
And there's no way as a website to trigger that,

30:37,638 --> 30:39,478
because people would totally abuse that.

30:39,478 --> 30:41,318
Yeah.

30:41,318 --> 30:49,358
I think on a side note, I think the reasoning behind doing skeleton loading is that there's research shown that it's perceived to be faster.

30:49,618 --> 30:56,918
Like even if it takes the same time as a loading bar, the perception of the human mind is that it's faster.

30:57,878 --> 31:00,698
So it's a business thing.

31:01,418 --> 31:07,898
I know that, like, I think Facebook showed that this was the case.

31:08,078 --> 31:14,258
And then I think there was a lot of other research that showed like, yeah, it works for Facebook, but it doesn't work for like normal pages.

31:14,898 --> 31:21,318
Because people have, because people like, and this is dependent on your use case.

31:21,478 --> 31:32,258
Like if you have more of an application like website, I think they work better than if you have like, you know, and I've seen them on like, oh, this is a restaurant webpage.

31:33,138 --> 31:34,578
Let's have a skeleton loader.

31:34,618 --> 31:36,638
And I'm like, this is not how this should work.

31:37,438 --> 31:46,838
And then, you know, you're in the train and you lose, like, your JavaScript and, like, the whole website is forever in the skeleton until you realize and reload the page.

31:47,138 --> 31:50,778
So, yeah, I think it also depends on the data.

31:51,298 --> 31:54,418
Like, and this is, like, you know, for a normal login page.

31:55,998 --> 31:58,598
Personally, I would advise to just not use a skeleton.

31:58,598 --> 32:01,238
I would say have a little loader.

32:01,978 --> 32:03,578
Just keep them waiting.

32:03,738 --> 32:07,598
Because the expectation is that your web page either reloads

32:08,198 --> 32:09,858
or you get just logged in.

32:09,978 --> 32:10,858
It just happens.

32:11,858 --> 32:15,978
But if you like loading three megabytes of, I don't know,

32:16,058 --> 32:20,478
data into display in a chart, then you have different considerations.

32:21,178 --> 32:21,358
Yeah.

32:21,878 --> 32:23,138
Or work on your loading times.

32:24,338 --> 32:24,958
Yeah.

32:25,318 --> 32:27,398
Performance is an accessibility feature.

32:27,698 --> 32:28,578
Yeah, definitely.

32:28,578 --> 32:37,318
Especially if you have ADHD or something. Oh, yeah. No. And these are like -- this

32:37,318 --> 32:44,478
is also why it's difficult to talk about some of these accessibility issues in the abstract.

32:44,478 --> 32:51,838
Like, you know, I'm happy to do that here because, like, this is more academic than

32:51,838 --> 32:57,378
usual. But, like, it's really hard to, like, say, oh, this is the blanket, like, one way

32:57,378 --> 33:02,038
to do it for you because there are so many different ways and that's actually like one

33:02,038 --> 33:08,718
of the strengths of like especially web accessibility that you have like different ways to fix stuff

33:08,718 --> 33:14,178
yeah and i guess also like in larger organizations there's always the politics and you know the

33:14,178 --> 33:18,838
business side of things and the the pretty like you said the in the beginning that the pragmatics

33:18,838 --> 33:24,398
and the the actual like pure puritan so you always have to be sort of like pragmatic especially if

33:24,398 --> 33:28,338
in a larger organization, I think, navigating everything.

33:29,318 --> 33:30,458
Yeah, for sure.

33:30,638 --> 33:36,698
And I mean, I did show the WeCare quick reference last time.

33:36,898 --> 33:39,298
I'll show it again, because why not?

33:40,518 --> 33:42,158
And I built this.

33:42,318 --> 33:47,078
And technically, if you look at it, it's a single-page application, right?

33:47,138 --> 33:48,938
It has all the trappings of one.

33:49,518 --> 33:51,898
You click on blinking, and it updates.

33:52,718 --> 33:59,718
And it's really a single-page application because it loads like three megabytes of HTML into your browser.

33:59,998 --> 34:04,078
And then you can interact with it, which means it has like a long load time at the front.

34:04,658 --> 34:09,998
Just normal HTTP load times because I did not care about doing anything else.

34:11,378 --> 34:17,558
But then once you have it, like you have it, you know, it doesn't communicate with the backend at all because there is no backend.

34:17,558 --> 34:23,638
It's just an HTML file with JavaScript showing and hiding stuff.

34:23,858 --> 34:26,858
So it's not super complicated.

34:27,258 --> 34:33,218
But it's like, how do you do that?

34:33,298 --> 34:40,758
In this case, once you make a change, that needs obviously to be communicated to screen readers.

34:41,958 --> 34:44,778
And here we're using ARIA Live Region.

34:44,778 --> 34:50,538
This is something we're going to talk about in the future, but this has an ARIA live polite.

34:50,858 --> 34:59,858
So this basically means announce everything that is in the span, in this case, once the screen reader has time for it.

35:00,958 --> 35:07,538
And ARIA atomic true means always read the whole thing, because otherwise it only reads stuff that has changed.

35:07,538 --> 35:13,678
so you know you can communicate and make the screen reader announce certain things and and

35:13,678 --> 35:20,038
use that as like your your thing so when you are using single page application and you load

35:20,038 --> 35:27,698
something you know and you have your loading spinner up or even like the uh the uh skeleton

35:27,698 --> 35:35,898
animation uh you can say oh here's my aria live uh region and i say i put loading in it and then

35:35,898 --> 35:40,678
And once it's loaded, I say, like, you know, you're ready or something like that.

35:42,598 --> 35:45,618
And those are, like, there are always different ways to do it.

35:53,038 --> 35:53,718
All right.

35:53,778 --> 35:55,098
Any other questions?

35:55,658 --> 35:57,438
Those are good questions, by the way.

35:57,438 --> 36:10,598
and yeah i mean the time spent on building skeleton loading could be spent doing

36:10,598 --> 36:16,458
accessibility fixes instead i mean that's that's like it's always easier to say than done i mean

36:16,458 --> 36:24,498
we're currently working with like big online shop on making their stuff accessible and like i think

36:24,498 --> 36:29,598
most of the issues that they have is like really simple fixes but then they have like this

36:29,598 --> 36:38,958
intricate like layers of like deployment and business stuff and we have to like think about

36:38,958 --> 36:45,738
like we have to talk with stakeholders and then they have like a like framework like react stuff

36:45,738 --> 36:53,318
and they're using a ui library and it's like makes it there's often so many layers between like

36:53,318 --> 36:59,698
oh just fix this and the actual fix that's really hard to do um and there are some people

36:59,698 --> 37:06,798
in accessibility who say like oh we come in and we will fix your stuff um you know and i could do

37:06,798 --> 37:14,098
that like i could go to like a company and could say like oh yeah just fix it fix it fix it um but

37:14,098 --> 37:20,318
that only like fixes the symptoms not the reasons why they are there so uh not the biggest fan of

37:20,318 --> 37:28,498
that um but yeah it's a it's it really depends on like what you can do um and sometimes it's just

37:28,498 --> 37:35,938
like you know it's it's baby steps and a lot of baby steps also amount into like uh walking the

37:35,938 --> 37:45,018
way eventually it's just slow and takes time that's the business we're in all right let's

37:45,018 --> 37:53,258
take another five minutes to just show a couple of testing tools. Testing tools was the question,

37:53,258 --> 38:04,938
and I've seen that Hannah has put in the W3C Way testing tools list, which I worked on many,

38:04,938 --> 38:12,058
many moons ago, probably eight years ago or something like that. It did look much,

38:12,058 --> 38:19,018
much worse when i worked on it because i'm not a designer and there are good good things in there

38:19,018 --> 38:28,378
and it's certainly a thing a list where you can find tests that are that are good for you

38:29,258 --> 38:35,178
and i like to point out things here at the type of tool

38:37,018 --> 38:42,298
selection because you can basically say i only want bookmarklets or i want and i will explain

38:42,298 --> 38:48,298
bookmarklets in a second or i only want browser plugins so if you have like restrictions from your

38:48,298 --> 38:56,938
it and stuff like that you can find good things there online tools um would be uh would be

38:56,938 --> 39:04,938
something that you want to to look at um yeah and then you can also sort by like do they support

39:04,938 --> 39:11,738
WCAG 2.2 and stuff like that. So it's a good resource to get an overview and then you just

39:11,738 --> 39:17,018
have to find something that you're comfortable with. And that's always what I tell people when

39:17,018 --> 39:24,618
they ask me about testing tools is figure out what you're comfortable with. It doesn't really matter.

39:26,218 --> 39:33,338
Accessibility rules are so simple that as long as you find what you're searching for,

39:33,338 --> 39:39,737
it doesn't really matter what tools you're using. And that's how I see it.

39:40,777 --> 39:50,458
And I just want to show those two bookmarklets here. And it's actually pages of bookmarklets. So

39:51,418 --> 39:58,217
for those who don't know, bookmarklets are little JavaScript applications that you can drag into

39:58,218 --> 40:04,458
your favorites bar so uh here i have this like wheelchair symbol and then access lab and then

40:04,458 --> 40:10,538
wick hack and this is my favorites bar and it looks a little bit different in in every browser

40:11,178 --> 40:21,418
but you can show it uh like view favorites bar is um you uh show favorites bar is the way to do it

40:21,418 --> 40:28,938
in Safari and like every browser has that. And basically what you can then do is like

40:28,938 --> 40:38,458
scroll to the bottom and let's say here we have check headings because that you know relates to

40:39,418 --> 40:46,618
what this week is about and then you can take this bookmarklet and you drag it up into your

40:46,618 --> 40:52,997
favorites bar and then you add it to here then it doesn't work for some

40:52,997 --> 40:59,517
reason don't even know if you can see that I'm dragging stuff around why

40:59,517 --> 41:12,718
doesn't this work did Safari lose the ability to do this it used to be I used

41:12,718 --> 41:22,398
to be able to do this. Then you have to go into your bookmarks folder and do it that way.

41:24,558 --> 41:31,278
This is weird. So you can also do the right click, copy link, and then you can create a

41:33,598 --> 41:35,438
bookmark, add bookmark.

41:39,438 --> 41:49,198
and then you put it into your favorites where is it bookmarks menu i don't even know how this

41:49,198 --> 41:59,998
works here uh so this is the um thing and then i do check headings i had to copy it

42:00,558 --> 42:04,398
no it doesn't put it there it's just somehow broken

42:04,398 --> 42:20,198
huh interesting so tab group favorites this week check headings there it is

42:20,198 --> 42:28,618
oh i can drag it in here uh that works and now i just have to edit address and put the

42:28,618 --> 42:35,277
address that I copied in there. That's just JavaScript. So this was weird. So you should

42:35,277 --> 42:42,317
be able to drag and drop it. It's probably a problem on my side. And then this check headings

42:42,317 --> 42:47,698
checks the page for WCAG failures and best practices, highlights problems on the area.

42:47,918 --> 42:51,638
It works in your Safari. Yeah, it should also work in my Safari. I'm like,

42:52,637 --> 42:55,397
I have done this hundreds of times.

42:56,137 --> 42:57,837
So that's always fun.

42:58,697 --> 42:59,257
Technology.

43:00,717 --> 43:03,037
And provides an outline in the console.

43:03,317 --> 43:06,597
So if we look at, like, let's take my website.

43:07,497 --> 43:13,397
Because if it's wrong, then it's embarrassing for me.

43:15,437 --> 43:18,397
This does not have...

43:18,397 --> 43:19,617
Yeah, this has headings.

43:19,757 --> 43:22,257
And here we have, like, H2s and H3s.

43:22,337 --> 43:27,857
it's like really nicely organized. And then you can click "Check headings" and you have

43:28,657 --> 43:35,297
"First H1 on the page content not present in the page title". So this is the best practice.

43:37,857 --> 43:47,537
And the reason is because I have four reasons of using like previews on LinkedIn and stuff.

43:47,537 --> 43:54,898
I have WCAG in the page title. I don't have that in the title on the website because it doesn't

43:55,777 --> 44:02,257
make any sense. And there's some styling that I'm not responsible for, like having styling H2.

44:03,217 --> 44:06,338
People don't like it, so this bookmarklet shows that.

44:10,338 --> 44:16,257
This is a long heading, yeah, but that's on purpose. It doesn't show the outline here,

44:16,257 --> 44:18,477
But those are also headings, I hope.

44:19,437 --> 44:23,078
Because if not, that would be super embarrassing.

44:23,397 --> 44:24,657
So I don't know why it's not...

44:24,657 --> 44:25,557
Oh, now it's showing.

44:26,997 --> 44:27,838
Oh no, for this.

44:29,358 --> 44:30,917
This is a great demonstration.

44:31,277 --> 44:34,277
Let's go to the Access Lab website and click it again.

44:37,417 --> 44:39,817
Here it does nothing. That's also fun.

44:41,297 --> 44:43,497
Maybe I have to restart my Safari.

44:43,497 --> 44:45,177
Let me quickly do that.

44:45,177 --> 44:59,037
weird weird in germany we call this uh uh i've forgotten how we call this

44:59,037 --> 45:05,157
for fear effect that's how we call it the effect that you have when you show something

45:05,157 --> 45:10,837
and then it doesn't work so restarted this check headings

45:10,837 --> 45:32,837
Sometimes it's also because of JavaScript not working. It doesn't want to show the... Oh, because it's not wrong. Because this only shows them for... So this is the problem if you're using different tools.

45:32,837 --> 45:43,757
Everyone does it differently and as I said, it doesn't really matter which one you use, but you have to know how they work and sometimes they do not work how you would expect that.

45:43,757 --> 46:11,037
So, this check heading actually only shows issues. And also, if I go into the inspector, here in the console, which is over here, console, it shows the outline of the headings here.

46:11,037 --> 46:35,837
So you have the h1 here, my brief, table of contents, what are in brief sections, what is the goal and so on. So you get these and the little pointers are the errors that are also shown like here inside of the page.

46:35,837 --> 46:56,457
So this basically gives you a nice outline. What this also does, it finds this H1 that is in the dialogue that we talked about, which technically it shouldn't because it's hidden from view and also from assistive technology. But this one does find that.

46:57,537 --> 47:04,957
So this is one of the heading bookmarklets you can use, but you can also use one from here.

47:05,277 --> 47:10,997
This is the Paul J. Adam bookmarklet, and let's see if now it works again.

47:10,997 --> 47:15,877
There we go. Dragging, dropping, done. Oh, so such a relief.

47:19,017 --> 47:22,537
It's a weird thing to be annoyed by, but it's how it is.

47:22,937 --> 47:29,397
So this, I showed this before, like this puts the little tags before and after the heading.

47:29,597 --> 47:34,697
So you can basically just scroll through and say like, oh yeah, this is the heading I would expect.

47:34,697 --> 47:38,517
This is, you know, and then see how that works.

47:39,997 --> 47:44,317
And it gives you nice heading markers.

47:45,037 --> 47:48,097
And there are countless of these bookmarklets.

47:48,537 --> 47:51,477
And you can write them yourself because they're only JavaScript.

47:52,217 --> 47:55,337
If you're a programmer, if you're not a programmer, you cannot do it.

47:56,017 --> 48:01,517
But if you want to, you can get someone to write them for you because they're really, really simple.

48:02,917 --> 48:10,817
And yeah, and it's a good way to get like this overview of different things.

48:11,377 --> 48:14,297
And there are many of those.

48:15,437 --> 48:23,177
And I will show a little bit more in terms of like how do we find landmarks and stuff like that after the break.

48:23,337 --> 48:26,957
Because I think now Safari did restart and had its break.

48:27,157 --> 48:28,677
Now we all need a break.

48:29,197 --> 48:34,957
So let's meet in 10 minutes at 5 past 2.

48:35,277 --> 48:36,697
No, what is that?

48:36,917 --> 48:38,257
5 past 2.

48:38,757 --> 48:40,337
What's my brain doing today?

48:42,077 --> 48:44,277
And yeah, and then we see each other.

48:44,577 --> 48:50,037
And then I will also look into if there's anything new in chat.

48:50,297 --> 48:52,137
So see you around in 10 minutes.

48:52,317 --> 48:52,437
Bye.

49:08,817 --> 49:10,177
And we're back.

49:11,117 --> 49:12,637
Question in the chat.

49:13,337 --> 49:18,117
which tool did you use to get the heading label next to the heading?

49:18,277 --> 49:19,497
It was easy to understand.

49:20,077 --> 49:25,957
That was from Paul J. Adams' JavaScript bookmarklets for accessibility testing.

49:25,957 --> 49:36,537
I will release the link to that in the canvas as well.

49:37,697 --> 49:44,537
And Paul did these multiple bookmarklets a couple of years ago now.

49:45,117 --> 49:46,737
And it's pretty nice.

49:47,257 --> 49:53,957
And for every thing, like tables or headings here, there's a demo page and also an installing.

49:53,957 --> 50:01,917
So you want to take the installing, drag that over into your favorites bar, which always works, especially in Safari.

50:02,137 --> 50:06,057
It's never failing, never happened, especially not for me.

50:06,317 --> 50:12,257
By the way, if you want to get rid of it, you can drag it out and at some point it poofs out of existence.

50:13,137 --> 50:17,257
So that's nice. And you can also put them into a folder.

50:17,477 --> 50:22,017
So that's what I have done here. So this is not a tool, just a list of bookmarks.

50:23,337 --> 50:30,417
But yeah, you can just drag and drop it to the top and then go to, for example, the headings page.

50:30,677 --> 50:37,957
there are all the different headings and it looks like this. And this is actually a nice

50:39,317 --> 50:45,397
way to also double check, like okay, how should this look in different situations? Like here at

50:45,397 --> 50:54,517
the bottom we have an empty H1 and an empty H4. So you can see, oh, this is how, you know, if there's

50:54,517 --> 51:05,157
empty headings. This is how that looks and that can be useful for just verifying, oh this is what

51:05,157 --> 51:11,157
I should see. Same goes for these types of ARIA headings. You usually don't want to see them,

51:11,157 --> 51:18,997
but this is how they get revealed. And this works for a couple of other structure elements as well,

51:18,997 --> 51:25,317
like here we have a landmarks bookmarklet. Again, just dragging it up, putting it on the bookmarks

51:25,317 --> 51:34,117
bar like nobody's business. And then we can here get onto the testing page, clicking on landmarks.

51:34,997 --> 51:44,997
And here we have role navigation, role search, you know, role main, banner. And these, the nice thing

51:44,997 --> 51:51,837
about bookmarklets is that they work in every browser on every operating system. So you can,

51:52,257 --> 51:58,537
if you sync your bookmarks between like the Mac and iOS, for example, or even if you have an

51:58,537 --> 52:03,357
Android phone, you can put them into your bookmarks. It might be a little bit more complicated than

52:03,357 --> 52:08,897
just dragging and dropping them, but it's possible. And then you even can do it on mobile if you want

52:08,897 --> 52:19,617
too. So yeah, they are very versatile because they're just little, sweet little JavaScripts.

52:19,617 --> 52:32,797
And I like those very much and also the ones from Lloyd here. And he has several here,

52:33,877 --> 53:03,857
live region watcher. So this might actually be interesting for the future, putting that on my to-do list. But I think there's also an outliner, isolator, no, none for landmarks. If you want landmarks, I can recommend the Andy.

53:03,877 --> 53:08,077
bookmarklet. So let's reload my page

53:08,077 --> 53:12,877
and start Andy. There it is.

53:14,637 --> 53:16,497
And Andy basically gives you several

53:16,497 --> 53:19,837
different things including focusable elements, graphics images,

53:20,657 --> 53:24,017
links, buttons, but also structures. And that's what we're looking at

53:24,017 --> 53:28,597
today. But Andy is really cool.

53:28,597 --> 53:33,137
So let me

53:33,137 --> 53:55,257
put that link into the chat as well. I think that's the right link. And yeah, so in this case,

53:55,257 --> 54:03,077
I just press structures here at the top and tells me that there are 20 headings. So now I click

54:03,077 --> 54:10,917
the 20 headings, I see the headings here and I can jump through them one by one. And here we have

54:10,917 --> 54:20,937
the accessibility component one in our text, and then also the ND output. So this is basically

54:20,937 --> 54:26,677
where it says like, I'm simulating being a screen reader, which, you know, sometimes better,

54:26,877 --> 54:32,597
sometimes it's different. Also depends on the screen reader. You can look at the headings list

54:32,597 --> 54:42,837
here and it will also helpfully like put like little um purple pinkish uh arrows to the to

54:42,837 --> 54:49,877
the headings uh which i find like super useful so you know table of contents is here um and uh

54:50,617 --> 54:57,737
and so you have the headings and it's also a little bit like indented but only by one space

54:57,737 --> 55:01,237
This could be a little bit more pronounced for my personal taste.

55:02,637 --> 55:09,817
And as you can see, it does not have the heading from the preferences dialog box in there.

55:09,917 --> 55:11,057
So I can click that.

55:11,517 --> 55:16,917
Oh, this is now behind it because new dialogs work that way.

55:17,457 --> 55:18,717
So I can't show it.

55:19,117 --> 55:26,537
But it's really nice to be able to also go through the headings.

55:26,537 --> 55:56,537
So if I start with the first one, I have H2, H2, H2, H2, and then H3 here

55:56,537 --> 56:06,537
the header. It's now underneath this border which is a little bit unfortunate. I don't know, I think you can

56:09,337 --> 56:14,457
click "mini mode" and then it goes like a little bit... oh, no, that's not what I wanted.

56:16,537 --> 56:23,337
And then you can see a little bit more, but here we have the header

56:23,337 --> 56:27,557
And then we go to the navigation and it says, ARIA-label main.

56:27,677 --> 56:30,837
And any output should be main, comma, navigation in here.

56:31,457 --> 56:33,137
That's usually how that works.

56:33,997 --> 56:36,677
So this is not 100%.

56:36,677 --> 56:38,777
Then we have the main element.

56:38,777 --> 56:44,317
Then we have the header of the main element, which technically not a landmark.

56:45,117 --> 56:50,537
So I think I need to have to give feedback on that.

56:50,797 --> 57:03,037
but you can now go through the different navigations and footers and stuff like that. So it's really useful to be able to go through the landmarks as well here.

57:04,897 --> 57:17,817
And this also has a list view, which lists are great as an accessibility person. You always want to use lists because they are nice to structure and group things. It's the,

57:20,197 --> 57:31,197
It's just the element that we have where we can group things together. So we often use that for like anything, not only if it looks like a list like in here.

57:33,197 --> 57:42,197
Brief and then we have a sub list inside of a list item. But even for stuff like here at the...

57:45,197 --> 57:48,197
Jump a little bit more. Where are we?

57:48,197 --> 58:15,677
And this is a normal list item and then we have at the bottom another list. I have a lot of lists. As I said, like as a... Is this now repeating? No. Here are the footnotes. They are in the list. This update is one bullet point list, which you can do.

58:16,697 --> 58:21,037
And then here we have lists for the feeds and for the other pages.

58:21,937 --> 58:24,017
So yeah, you put stuff in lists.

58:24,237 --> 58:26,037
That's usually what you do.

58:26,797 --> 58:28,477
And there's a question, Manfred.

58:30,457 --> 58:33,597
Yes, I was just a little bit curious about your process.

58:33,917 --> 58:40,397
Like when you want to find usability and especially accessibility issues,

58:40,557 --> 58:43,537
in what order do you usually do it?

58:43,537 --> 58:50,017
Do you talk to real users first and then discover the most critical problems and then use tools?

58:50,237 --> 58:53,817
Or do you use the tools and automate the tests first?

58:55,097 --> 58:56,577
It's a good question.

58:57,477 --> 59:04,957
And so my first advice is never do things that I do for the reason is that I'm doing this for a long time.

59:05,437 --> 59:09,637
And I'm doing stuff differently than other people.

59:09,637 --> 59:15,357
I tell you shortly what I'm doing, and then I tell you what I think you should be doing.

59:16,357 --> 59:18,397
Because I think it's interesting.

59:18,717 --> 59:27,697
So for me, when I get to a page that has accessibility issues, because all have, I'm first scanning the page.

59:27,697 --> 59:38,317
And that means visually with the keyboard, with the mouse, I try to get a feeling for all the interactions that are happening on the page.

59:38,877 --> 59:44,617
And then I know because of my experience, what can be problematic for accessibility?

59:45,256 --> 59:47,857
Like what are the big issues?

59:47,857 --> 59:49,417
And then I test them.

59:50,197 --> 59:58,997
And usually I go roughly in WCAG order, but also from like the big picture to the small picture.

59:59,117 --> 01:00:03,516
So I usually look at like, okay, can I get everywhere with the keyboard?

01:00:03,917 --> 01:00:07,317
That's like one of the first things that I do just to like.

01:00:07,317 --> 01:00:13,516
get a feeling for like is this like a terrible website where I can't like even test everything

01:00:13,516 --> 01:00:20,516
because I can't get everywhere or is this like is this like a normal website where I can get

01:00:20,516 --> 01:00:26,157
everywhere with the keyboard and then there are a little bit oddities and that's how I approach it

01:00:26,157 --> 01:00:35,297
and then I use polypane which I will talk about in a bit and basically use that and those are

01:00:35,297 --> 01:00:44,557
basically also like bookmarklets and other testing tools to go through. I use automated testing as a

01:00:44,557 --> 01:00:50,517
thing to verify my findings. So I will go through and have a mental model and then I will do the

01:00:50,517 --> 01:00:54,577
automated test and see if there's anything that I've missed because that sometimes happens.

01:00:56,537 --> 01:01:03,877
And then I will go through and will go through WCAG after I've like written up everything that

01:01:03,877 --> 01:01:09,117
I've just found, I will go through every WCAG success criteria that I haven't looked at,

01:01:09,417 --> 01:01:13,937
and will double check that I haven't missed anything. Because sometimes it's like,

01:01:13,937 --> 01:01:21,137
oh, there is no, let's say video on the page. So I haven't tested that. But one thing that is,

01:01:21,697 --> 01:01:33,276
that always eludes me is language of parts. And I often like skip over that when I do my

01:01:33,277 --> 01:01:37,637
general testing and so having that reminder that oh this is a thing that I should test

01:01:37,637 --> 01:01:42,977
it's a good thing it's just best practice to like make sure you have checked everything um

01:01:42,977 --> 01:01:50,897
for those so that's my my general process it's very brute force it's very like shooting from

01:01:50,897 --> 01:01:58,297
the hips uh don't do this it's terrible um I think if you if you're starting out with web

01:01:58,297 --> 01:02:04,417
accessibility if you're a developer from developer perspective you want to start with the automated

01:02:04,417 --> 01:02:10,077
tools and make sure that you fix all the things now the automated tools have the additional

01:02:10,077 --> 01:02:16,937
problem that their suggestions are often hard to understand and sometimes they find stuff that

01:02:16,937 --> 01:02:24,457
doesn't need fixing because it's you know it's okay enough and sometimes they

01:02:24,457 --> 01:02:34,177
lead you to things that are not really necessary. And you should just make sure that you don't look

01:02:34,177 --> 01:02:42,877
at best practices, just look at real failure. So if we switch over to Polypane, this case,

01:02:42,877 --> 01:02:53,697
and I can put my website again. It's only embarrassing to me. So in the sidebar, I can

01:02:53,697 --> 01:03:07,997
use the X testing, which is like the most widely used tool. It's AXE from Deque. I don't have a

01:03:07,997 --> 01:03:15,417
link, but you can Google it. And this is built in Google Lighthouse subsection. And then like

01:03:15,417 --> 01:03:20,557
a lot of other tools, they use X because it's open source. And I can really recommend it. It

01:03:20,557 --> 01:03:25,996
a lot of issues. And you can analyze that and if you don't include best practices,

01:03:25,996 --> 01:03:34,397
then you can celebrate because yay, this works. But if you include best practices,

01:03:34,397 --> 01:03:42,236
oh, it also doesn't find issues because I'm great. But if you have like a lesser website, let's take,

01:03:46,957 --> 01:03:52,397
oh this did not work out as i wanted amazon.de

01:03:57,677 --> 01:03:58,237
yeah yeah

01:04:01,277 --> 01:04:08,077
so let's say uh we're opening this and then we're going to accessibility again

01:04:09,357 --> 01:04:14,397
and we analyze it for accessibility issues it takes a little time and only shows two

01:04:14,397 --> 01:04:23,677
which is like probably not true the animation here at the top uh alone is probably like an issue but

01:04:23,677 --> 01:04:31,357
like links must have discernible text clear work hack uh issue so if i click on it uh here is like

01:04:31,357 --> 01:04:41,117
this dortmund celtic lascaux i guess um uh i'm i'm not a football person um especially not dortmund

01:04:41,117 --> 01:05:03,557
Oh, letting you look deep into my soul. And this has an ARIA label and it's empty. So this overrides everything that is in there. So this link does not have a label. So it will just be announced as link in a screen reader. And this is easy to find with automated tools, right?

01:05:04,037 --> 01:05:06,237
So links must have discernible text.

01:05:06,497 --> 01:05:14,917
So this thing and then here at the bottom, there is an empty link somewhere here to audible.

01:05:15,297 --> 01:05:16,937
So that's just missing.

01:05:17,637 --> 01:05:20,337
Probably an image with alternative text doesn't really matter.

01:05:21,857 --> 01:05:25,757
But this one at the top, I think this is a major issue.

01:05:25,917 --> 01:05:27,757
Like this is a major advertisement thing.

01:05:27,757 --> 01:05:31,817
And they just put an empty ARIA label on it.

01:05:31,816 --> 01:05:41,316
And these things you can find really easily with automated tools. So I would always start here. Oh, sorry for the scrolling.

01:05:41,316 --> 01:05:47,936
Were there only two issues then on this page?

01:05:47,936 --> 01:06:10,176
The automated test did only find two issues, which is, you would think that's surprising, but you have to understand that automated testing can only find, in the best case, like 50% of the test cases.

01:06:10,956 --> 01:06:17,996
That's why I think it's good to start with them, just to knock out the easy-to-find things.

01:06:18,797 --> 01:06:25,736
No need to pay a very expensive expert to tell you, oh, this link is empty.

01:06:26,016 --> 01:06:27,317
This link has no text.

01:06:27,797 --> 01:06:29,216
When a tool can do that.

01:06:29,276 --> 01:06:33,596
What a tool can't do is, is this a good alternative text for this image?

01:06:33,916 --> 01:06:34,516
So let's see.

01:06:34,996 --> 01:06:36,196
Oh, yeah, here it says Celtic.

01:06:36,317 --> 01:06:38,356
Hey, I know my...

01:06:38,356 --> 01:06:43,236
Does the one with the text in the image have alternative text for the discounts there?

01:06:44,736 --> 01:06:45,856
Here on the left?

01:06:46,316 --> 01:06:46,556
Yeah.

01:06:47,576 --> 01:06:50,156
This is actually, I think, this is real text.

01:06:50,656 --> 01:06:51,276
This is real text.

01:06:51,276 --> 01:06:51,816
It's real text.

01:06:51,916 --> 01:06:52,576
Okay, that's cool.

01:06:53,116 --> 01:06:53,396
Yeah.

01:06:53,636 --> 01:06:54,216
They have both.

01:06:54,376 --> 01:06:54,636
Nice.

01:06:55,996 --> 01:06:59,156
Yeah, and here we have Dortmund against Celtic.

01:06:59,156 --> 01:06:59,836
Sure.

01:07:04,196 --> 01:07:06,636
Oh, I think that's wrong.

01:07:06,656 --> 01:07:06,876
Sorry.

01:07:07,216 --> 01:07:11,736
Did I understand correctly that this Polypane browser is using OXE as a plugin?

01:07:12,076 --> 01:07:14,816
Or is it like, yeah, okay.

01:07:15,436 --> 01:07:20,936
Yes, it's basically the X plugin, just a little bit different.

01:07:20,936 --> 01:07:25,696
Without all the advertisement that you get to sign up for Deque's stuff.

01:07:25,896 --> 01:07:30,096
Which is their good right, because they are putting a lot of effort in it.

01:07:30,216 --> 01:07:35,916
You know, not like disparaging that.

01:07:36,196 --> 01:07:42,836
like uh it's i i think this is much cleaner and uh and you get these like hover things uh and uh and

01:07:42,836 --> 01:07:48,356
you also get other testing tools and i show a couple of those but here we have like for these

01:07:48,356 --> 01:07:57,156
like so there are two footballers from uh dortmund and two from glasgow um so and the alternative

01:07:57,156 --> 01:08:07,616
text is prime ucl which is like on a german website um this tells me nothing like it's

01:08:07,616 --> 01:08:15,156
uefa championship league i guess uh but it's like it's like this is a you know this alternative text

01:08:15,156 --> 01:08:21,516
tells me nothing so automated tool cannot tell you that you know a better alternative text would

01:08:21,516 --> 01:08:29,756
be like collage of four football players i guess if you are into into football you would want to

01:08:29,756 --> 01:08:34,896
know what their names are but i could not tell you so i will not even try to guess it's probably

01:08:34,896 --> 01:08:45,376
fritz and klaus um manfred uh yeah sorry it's me again uh but i i i i'm interested in your process

01:08:45,376 --> 01:08:52,616
again there where you said like and then i do the the vcag like and then i just realized maybe i'm

01:08:52,616 --> 01:09:00,056
just stupid but uh it's a numbered list right so is there a priority so when you start at the top

01:09:00,056 --> 01:09:05,136
do you get like the the most prioritized ones or it's just a coincidence that it's a numbered list

01:09:05,136 --> 01:09:11,836
for for vcag uh it's just a coincidence that it's numbered in the way it is

01:09:11,836 --> 01:09:23,676
That in itself is not according to semantics. It's grouped and they made the decision to

01:09:23,676 --> 01:09:31,676
put it in that order so that variance using an ordered list. So it's your decision to say this

01:09:32,396 --> 01:09:37,196
order has meaning. So in WCAG it's perceivable, operable, understandable, and robust.

01:09:38,076 --> 01:09:47,656
And that basically this order is like implicit, like, oh, this is like not more important, but like look at this first and then at the second.

01:09:47,856 --> 01:09:50,996
I don't think it's like strong, but you can totally do it.

01:09:51,096 --> 01:09:51,576
Yeah.

01:09:52,176 --> 01:10:04,036
But yeah, I mean, going back to also like the, you know, there's the politics and the business stuff and, you know, people saying, you know, we need to prioritize the accessibility things.

01:10:04,296 --> 01:10:07,276
And who are our target audience?

01:10:07,536 --> 01:10:13,256
What type of disabilities would be most common in our type of product?

01:10:13,516 --> 01:10:14,296
And things like that.

01:10:14,976 --> 01:10:17,136
And of course, you don't want to work like that.

01:10:17,136 --> 01:10:22,476
But sometimes that's an unfortunate reality for many of us.

01:10:22,676 --> 01:10:29,256
To have to be very pragmatic and not really supporting humanity in that sense.

01:10:30,356 --> 01:10:32,016
Yeah, that's unfortunately true.

01:10:32,296 --> 01:10:37,096
And I mean, it's always a balance.

01:10:37,376 --> 01:10:40,436
And there are people who are very strict and say like,

01:10:40,476 --> 01:10:42,896
oh, you must do everything perfectly.

01:10:43,156 --> 01:10:44,856
Otherwise, what are you even doing?

01:10:44,976 --> 01:10:47,256
But I think every step counts.

01:10:47,736 --> 01:10:49,196
We're really thinking that,

01:10:49,276 --> 01:10:51,176
and that's what we try to do with our clients.

01:10:52,336 --> 01:10:55,356
Because the good thing is about accessibility,

01:10:55,356 --> 01:10:59,616
every barrier that we remove will help a person

01:10:59,616 --> 01:11:01,036
to have a better experience.

01:11:01,236 --> 01:11:01,936
And that's awesome.

01:11:01,936 --> 01:11:09,456
and of course in reality if you look at like especially the laws and side of things you have

01:11:09,456 --> 01:11:17,056
to meet wick hack double a so all double a success criteria and there's no there's no like oh this is

01:11:17,056 --> 01:11:22,516
more important or this is less important or whatever it's just like you have to do all of it

01:11:22,516 --> 01:11:28,396
and that's that's what it is of course you can decide to ignore stuff like you can ignore um

01:11:28,396 --> 01:11:30,616
quick

01:11:30,616 --> 01:11:34,016
performance or you can

01:11:34,016 --> 01:11:35,876
ignore security

01:11:35,876 --> 01:11:36,676
considerations.

01:11:37,936 --> 01:11:39,716
But it's not

01:11:39,716 --> 01:11:41,096
what you should do, right?

01:11:42,776 --> 01:11:44,136
It's inspiring to see

01:11:44,136 --> 01:11:45,816
companies like Netflix, for example,

01:11:45,996 --> 01:11:48,056
discovering they have this audio

01:11:48,056 --> 01:11:50,036
description. A lot of their series

01:11:50,036 --> 01:11:52,236
you can watch even though you can't

01:11:52,236 --> 01:11:54,216
see. It's so cool

01:11:54,216 --> 01:11:55,536
that a company like that

01:11:55,536 --> 01:11:58,296
I can imagine it could have been

01:11:58,296 --> 01:12:03,816
the opposite, like people saying that, OK, we only have visual content, so we're not

01:12:03,816 --> 01:12:06,476
going to do accessibility for people who can't see.

01:12:06,896 --> 01:12:09,296
But they did the opposite, and that's kind of cool.

01:12:09,556 --> 01:12:14,056
It's probably a lot of stuff behind the scenes that's not good for accessibility there as

01:12:14,056 --> 01:12:14,156
well.

01:12:14,256 --> 01:12:17,576
But it was an eye-opener to me.

01:12:18,596 --> 01:12:24,576
And the reason why they do this is because in the US, they have been always required

01:12:24,576 --> 01:12:30,777
to do that because they have much more strict regulation on that or like laws.

01:12:32,177 --> 01:12:33,976
And so they had to provide that.

01:12:34,336 --> 01:12:40,257
What they didn't have to do is like not only translate all the series into different languages,

01:12:40,576 --> 01:12:44,136
but then also pay for audio description in those different languages.

01:12:44,136 --> 01:12:49,757
And like if you look at like Netflix or Amazon Prime Video or stuff like that, it can be

01:12:49,756 --> 01:12:56,276
widely different between like what the producers are and like where it was like released first and

01:12:56,276 --> 01:13:04,016
stuff like that um and i i have to say like one place where this is like astoundingly great is

01:13:04,016 --> 01:13:11,316
apple tv plus they do have everything in like almost every language in almost every like

01:13:11,316 --> 01:13:18,196
and audio described and sign language for certain things and stuff like that you know captions in

01:13:18,196 --> 01:13:22,416
different languages it's really impressive and it's like that's a lot of hard work like

01:13:22,416 --> 01:13:30,156
putting making websites accessible super easy because you just like you know you just make some

01:13:30,156 --> 01:13:38,536
html and css go nicely making content accessible like for every like hour of television you have to

01:13:38,536 --> 01:13:45,996
like commission so many people put so many you know take so many so much money in your own hands

01:13:45,996 --> 01:13:48,096
to make that work. I think that's

01:13:48,096 --> 01:13:50,096
much harder than

01:13:50,096 --> 01:13:51,476
what we are doing with our

01:13:51,476 --> 01:13:53,816
little things.

01:13:55,116 --> 01:13:55,916
And of course,

01:13:55,976 --> 01:13:57,256
they're all specialists, so

01:13:57,256 --> 01:13:59,556
it gets done, but

01:13:59,556 --> 01:14:01,076
it's a lot of effort.

01:14:01,717 --> 01:14:04,076
I like this discussion about the politics

01:14:04,076 --> 01:14:06,256
and how we can make things happen

01:14:06,256 --> 01:14:08,276
because that's the way you have to go,

01:14:08,356 --> 01:14:10,136
right? You can't force

01:14:10,136 --> 01:14:12,356
the business to prioritize

01:14:12,356 --> 01:14:13,856
this kind of stuff.

01:14:14,256 --> 01:14:16,916
And I mean, that's why you have the laws.

01:14:16,916 --> 01:14:21,256
And I'm looking forward to when we have that discussion,

01:14:21,396 --> 01:14:27,796
when we can talk about how you can prioritize and make others believe that you have to do this.

01:14:28,036 --> 01:14:31,176
And then like, what parts of this do you have to do?

01:14:31,476 --> 01:14:32,176
And so on.

01:14:34,176 --> 01:14:34,736
Yeah.

01:14:34,916 --> 01:14:42,536
And it's like, it's always been a struggle against like other business priorities.

01:14:42,536 --> 01:14:58,016
Like, as long as like, we've seen this with stuff like GDPR as well, like, nobody takes data protection serious unless like, people say like, oh, you have to pay a lot of money, or you take it serious, right?

01:14:58,016 --> 01:15:06,197
And accessibility is the same thing because people think like, oh, this won't affect me or this will affect only a little bit of my business or stuff like that.

01:15:06,296 --> 01:15:13,956
And then they don't realize like, oh, 20 to 25 percent of people have a disability or multiple disabilities.

01:15:15,016 --> 01:15:18,416
Lots of things we don't even think about are disabilities.

01:15:18,416 --> 01:15:28,736
You know, if you are like sick, if you have children, if you have a child on your arm and you try to do something, you know, stock up your online groceries or something like that.

01:15:28,936 --> 01:15:33,776
It's like these are all things where accessibility principles help everyone.

01:15:34,076 --> 01:15:37,136
And it's not, it's not, you cannot isolate that.

01:15:37,236 --> 01:15:44,096
That's when people come to us and say like, oh, what do I save over three years if I make my website accessible right now?

01:15:44,096 --> 01:15:47,336
We can't, oh no, like this is unpredictable.

01:15:47,336 --> 01:16:07,716
But you have to do it like really step by step. And this is one of my personal philosophies is also I try to inspire people and get them on board with making changes and, you know, try to help them making simple fixes relatively quickly.

01:16:08,156 --> 01:16:20,996
And then get them thinking about like the big picture, because just thinking about like, oh, I need to like make this, fix this ARIA label, I need to do this.

01:16:21,217 --> 01:16:28,656
It doesn't give you like the step back that you need to see the big thing.

01:16:28,777 --> 01:16:34,757
Because for me, a lot of accessibility honestly is avoiding building barriers in the first place.

01:16:34,756 --> 01:16:40,896
and if you don't make that experience if you don't go through and you say like oh here's a barrier

01:16:40,896 --> 01:16:46,216
and this is a barrier this can be a barrier in certain circumstances you will never get to where

01:16:46,216 --> 01:16:51,896
you avoid them in the first place what you will do is you will run into the same barrier again and

01:16:51,896 --> 01:17:00,216
again and again and that is frustrating that's expensive so by getting people on the table and

01:17:00,216 --> 01:17:06,055
talking through things and like taking them and if they push back that often happens um you know

01:17:06,055 --> 01:17:11,736
you say like yeah this is this is a good discussion but yeah you know the law requires it or we really

01:17:11,736 --> 01:17:17,475
recommend you to do that and then you know some people get the message and some people don't and

01:17:17,475 --> 01:17:26,015
that's also okay um like no one who is in accessibility is in there for their own well

01:17:26,016 --> 01:17:26,976
I shouldn't say that.

01:17:27,136 --> 01:17:30,576
Like most people who are in accessibility are not in there for their own ego.

01:17:31,176 --> 01:17:32,976
Like we want to improve stuff.

01:17:33,876 --> 01:17:35,956
We want to help people improve stuff.

01:17:35,956 --> 01:17:44,276
We want to make people not frustrated about the topic because in the end, it's a social justice topic, right?

01:17:44,396 --> 01:17:48,616
It's a human rights problem.

01:17:49,256 --> 01:17:55,916
So we want to make sure that people like to do the right thing, like to do the good thing.

01:17:55,916 --> 01:18:03,076
um and that's like you know when people say like oh you say x and y like you had this discussion

01:18:03,076 --> 01:18:10,316
about like automated tools like uh overlays that promise you to like one click make your website

01:18:10,316 --> 01:18:16,736
accessible which is impossible but they do and like a lot of people push back including me

01:18:16,736 --> 01:18:23,656
and some of those companies say oh they just don't want us as like you know to to like get

01:18:23,656 --> 01:18:29,495
their clients and I'm like if your tool works if it like if there's one click that makes the whole

01:18:29,495 --> 01:18:36,676
web accessible I'm the last person who doesn't want that like yes but I was thinking about that

01:18:36,676 --> 01:18:47,515
Eric in your auditing because for me it feels like as a UX designer our main work is making

01:18:47,515 --> 01:18:53,336
something accessible because we we test it on users we try to make it you know understandable

01:18:53,336 --> 01:19:01,836
and then the things we're talking about now are like below like underneath for screen readers

01:19:01,836 --> 01:19:07,576
and stuff like that and then i was thinking about the auditing for me a big part of it would also be

01:19:07,576 --> 01:19:16,876
like how do users perceive it and use it and understand it which can't be audited by using

01:19:16,876 --> 01:19:22,916
tools or looking at the age levels and so on. Yeah, but it has to be done testing it on real

01:19:22,916 --> 01:19:29,756
people. I mean, the tool is one thing, but when you're doing real user testing, I mean,

01:19:29,796 --> 01:19:36,496
that's part of our jobs. And that's what I find so interesting with this, that it's just another

01:19:36,496 --> 01:19:43,576
layer on the UX scale, so to speak. Yeah, and this is actually a good point.

01:19:45,576 --> 01:20:04,476
One of the reasons why I say don't do what I do is because I have 15 years of speaking to people with various disabilities, observing how they use assistive technology really in a very analytical way.

01:20:04,616 --> 01:20:08,416
So I factor that in my manual testing as well.

01:20:08,616 --> 01:20:12,196
If you don't have that experience, super hard to do that, right?

01:20:12,856 --> 01:20:19,016
So I know when I see certain HTML, certain ARIA, I know how it works in screen readers.

01:20:19,016 --> 01:20:26,996
I don't need to test that specific thing with a screen reader user, or I can use a screen reader to validate my assumption.

01:20:28,115 --> 01:20:29,796
But that's not always the case.

01:20:29,876 --> 01:20:36,656
So sometimes there is the thing where you go like, I think this is technically okay, but does anyone understand this?

01:20:36,756 --> 01:20:38,876
And then you have to go into usability testing.

01:20:40,136 --> 01:20:47,816
The complicated thing about accessibility usability testing is if you test with one person, you have tested exactly with one person.

01:20:48,196 --> 01:20:57,976
Like it's super hard to like get those results and say these are now universally applicable to everybody.

01:20:58,176 --> 01:21:05,856
Because my colleague Daniel, who is a low vision screen reader user, but also a nerd.

01:21:05,856 --> 01:21:15,176
Like, he has, like, probably the most, like, you know, smart home that I've ever seen.

01:21:15,496 --> 01:21:17,596
And it's like, he's a real nerd.

01:21:17,656 --> 01:21:20,376
He makes stuff work for him, you know.

01:21:20,716 --> 01:21:24,076
And so he will not have the same problems.

01:21:24,156 --> 01:21:27,236
He probably can, like, emulate being a normal user.

01:21:27,356 --> 01:21:34,436
But, like, if you would, like, grab him from the street and, like, ask him to do something, you would get his, like, unique view.

01:21:35,196 --> 01:21:45,455
And then there are so many assistive technology as well, like how different screen readers work, how different voice inputs work, that whole stuff.

01:21:45,816 --> 01:21:49,015
It can be very, very different from each other.

01:21:49,015 --> 01:21:57,676
So what we try to do with accessibility and the automated and manual testing is to level the playing field for all.

01:21:58,696 --> 01:22:06,796
And then you look at individual solutions and you test them with different people with different disabilities and see how they work.

01:22:06,796 --> 01:22:14,896
I also think that it depends on what service and product you as a company is providing, right?

01:22:15,515 --> 01:22:23,876
So if you're providing something for everyone, then it's even more important than if you have maybe a small like niche product.

01:22:25,696 --> 01:22:29,975
Because then it's more like a service for the society sometimes.

01:22:30,975 --> 01:22:47,896
Yeah. And one of the things that I always say, even if we do, like in Access Lab, we do usability testing with disabled people. And I think it's super important. Once you know that your site is technically accessible, then doing that.

01:22:47,896 --> 01:22:51,456
Because otherwise you run into things and like some clients do that.

01:22:51,576 --> 01:22:55,576
They say, no, we want accessibility testing with disabled people from day one.

01:22:56,476 --> 01:23:01,676
And so, and we already know from like looking at the code, that stuff is inaccessible.

01:23:01,936 --> 01:23:04,396
You know, it doesn't, you don't get any results.

01:23:04,616 --> 01:23:06,216
Just people get frustrated.

01:23:06,476 --> 01:23:11,536
And sure, you can use that and show that to the client and say, see how frustrated they are.

01:23:11,656 --> 01:23:30,376
But in the other, I don't need to put a disabled person through that to figure that out. So, yeah, but yeah, I think that's good. But then the next step is to say like, oh, thinking accessibility first, that means also at some point feedback first.

01:23:30,376 --> 01:23:37,916
because the only people who can give you real feedback about your product are the people who are using it right now.

01:23:39,076 --> 01:23:45,716
You know, not some, like, laboratory usability testing that's always hard.

01:23:46,496 --> 01:23:50,676
But, like, what are the needs of your current clients?

01:23:50,676 --> 01:23:58,116
And that's, you know, where we talk about, like, more organizational structure things,

01:23:58,316 --> 01:24:00,796
like making it super easy to report bugs,

01:24:01,016 --> 01:24:03,696
making it like super easy for disabled people

01:24:03,696 --> 01:24:06,236
to like get someone on the phone if they want to,

01:24:06,356 --> 01:24:08,156
you know, get the feedback in,

01:24:08,615 --> 01:24:11,436
saying like, oh, this thing technically works

01:24:11,436 --> 01:24:12,256
with my screen reader,

01:24:12,396 --> 01:24:14,856
but it's super hard for me to use, stuff like that.

01:24:16,115 --> 01:24:17,236
That's the next step.

01:24:17,536 --> 01:24:18,956
Like, and, you know, this is like,

01:24:19,176 --> 01:24:20,856
but this is all then human stuff.

01:24:20,856 --> 01:24:24,216
Like this is not accessibility technical stuff.

01:24:24,316 --> 01:24:26,956
This is all like human stuff.

01:24:27,076 --> 01:24:33,336
just try to be like be good person and a good good company and like be able to get that but

01:24:33,336 --> 01:24:39,476
you know to get there it's like you have to go through like making sure like the basics are

01:24:39,476 --> 01:24:49,236
accessible i think also like going back to what you said hannah about like maybe if i understand

01:24:49,236 --> 01:24:55,296
you correctly like making it a part of your daily work as a product designer or like i've been

01:24:55,296 --> 01:25:01,796
thinking a lot about that like how do we make it so just like an architect you know uh they don't

01:25:01,796 --> 01:25:07,836
it probably comes natural to the to design because it's been around for a longer time like if there's

01:25:07,836 --> 01:25:13,555
a curb cut of the sidewalk no no one questions the curb cut of the sidewalk like and it's being

01:25:13,555 --> 01:25:19,615
no and not anymore so so people are using it for bikes they're using it for uh for strollers

01:25:19,616 --> 01:25:22,476
or carry-on luggage, you know.

01:25:23,456 --> 01:25:26,716
But, like, that's my main concern.

01:25:26,856 --> 01:25:28,476
And also, going to your colleagues,

01:25:28,576 --> 01:25:30,596
sorry, I don't know your name next to Hannah there,

01:25:30,636 --> 01:25:32,816
but, like, how do we turn it into reality

01:25:32,816 --> 01:25:35,376
so that it's, like, embedded in what we do in every day?

01:25:36,036 --> 01:25:38,336
How do we, you know, make sure?

01:25:38,356 --> 01:25:40,556
And I think one idea that I had is, for example,

01:25:41,156 --> 01:25:43,356
when we did keyboard navigation analysis,

01:25:43,776 --> 01:25:45,776
I was like, this is information architecture.

01:25:45,936 --> 01:25:47,476
This is, like, how we structure the page.

01:25:47,476 --> 01:25:51,356
So you just need to sell it sometimes as well to management or others.

01:25:51,516 --> 01:25:57,836
Like, okay, we're improving how the page is structured, you know, where things go and

01:25:57,836 --> 01:25:59,576
how people move around on the page.

01:25:59,876 --> 01:26:05,496
And then, by the way, it happens to also now be compliant with, you know, VKAA.

01:26:06,756 --> 01:26:09,556
Because it's just going to be one part of it.

01:26:09,616 --> 01:26:10,896
Like, it has to be natural.

01:26:11,156 --> 01:26:13,176
Like, okay, now we're doing this other thing.

01:26:13,175 --> 01:26:17,515
And then it's just like this accessibility principle, it just, it just, should we just

01:26:17,515 --> 01:26:17,995
go in there?

01:26:18,055 --> 01:26:20,455
It should be like a foundation or like a basic thing.

01:26:21,015 --> 01:26:21,095
Yeah.

01:26:21,115 --> 01:26:23,175
But I think you have to practice your arguments, right?

01:26:23,575 --> 01:26:23,815
Yes.

01:26:24,455 --> 01:26:24,595
So.

01:26:26,095 --> 01:26:26,495
Exactly.

01:26:26,795 --> 01:26:28,215
You always have to do that.

01:26:28,655 --> 01:26:28,915
Yeah.

01:26:29,575 --> 01:26:30,235
Whatever you do.

01:26:30,335 --> 01:26:38,035
One of the things is that we have a lot of like practices currently that are contrary

01:26:38,035 --> 01:26:39,195
to accessibility.

01:26:39,195 --> 01:26:55,395
Like, you know, I mean, if you look at like all the like push towards which now is like turning around a bit to single page applications, for example, like putting everything into one JavaScript thing and like managing everything yourself.

01:26:56,455 --> 01:27:18,555
Those are technical, like, design choices, you know, in that case, but also, like, of course, design choices, like, if you have text on top of an image and stuff like that, you know, those are all of those things that prevent you from doing accessibility in an effective or efficient way.

01:27:19,015 --> 01:27:34,895
And so, yeah, the thing that I think Hampus will talk about is this shift left into like making accessibility a thing in your planning, in your like, oh, these are the things that we need to look at for accessibility.

01:27:34,895 --> 01:27:42,135
and then you will make choices that avoid accessibility barriers automatically.

01:27:42,135 --> 01:27:48,615
Because if you know from the start that if you have a big background animation on your page,

01:27:48,635 --> 01:27:51,915
you need to have a pause button to pause that animation,

01:27:52,595 --> 01:27:56,615
you will design a pause button in the site and it will look good.

01:27:57,175 --> 01:27:58,435
It will be okay.

01:27:58,935 --> 01:28:03,595
It's not like when you design doing everything

01:28:03,595 --> 01:28:08,015
and at the end an accessibility person comes around and says like,

01:28:08,075 --> 01:28:09,575
oh, there needs to be a pause button here.

01:28:09,656 --> 01:28:12,816
And you go like, oh, come on, where do I put this pause button now?

01:28:12,935 --> 01:28:15,855
You know, it's like you front load that.

01:28:15,955 --> 01:28:17,816
You say like, oh, this is a decision we do.

01:28:17,935 --> 01:28:18,816
We want this video.

01:28:19,035 --> 01:28:20,355
So we need to have this button.

01:28:21,316 --> 01:28:25,615
And then you have the choice of saying like, oh, we don't want a video after all.

01:28:25,615 --> 01:28:27,615
You know, we're okay with the image.

01:28:28,395 --> 01:28:30,555
Are we okay doing something else?

01:28:31,195 --> 01:28:38,615
You know, so you have, with knowing about accessibility at the beginning, you have choices that you can do.

01:28:38,915 --> 01:28:47,315
Once you have made your choices, redoing those choices is obviously more work than incorporating it.

01:28:47,495 --> 01:28:52,355
And I guess it always depends, but most often you have a lot of legacy, right?

01:28:52,435 --> 01:28:57,395
You're coming into a company and you're working stuff and you have like 20 years legacy in the systems.

01:28:57,915 --> 01:29:04,455
So there's always a lot of work to change stuff that's already there.

01:29:05,415 --> 01:29:05,735
Yeah.

01:29:05,975 --> 01:29:10,455
And there my recommendation is change the new stuff.

01:29:11,335 --> 01:29:13,495
Don't look at the old stuff.

01:29:13,715 --> 01:29:16,375
It's like reusable stuff.

01:29:16,375 --> 01:29:25,435
If you have a website or web page or part of your application where people are using it and they're heavy using it,

01:29:25,715 --> 01:29:28,835
you know, then of course you have to like redo it.

01:29:29,535 --> 01:29:32,455
But if it's just like, oh, we have this one view

01:29:32,455 --> 01:29:36,635
because there's this one customer that uses it every three years

01:29:36,635 --> 01:29:39,515
to export their PDFs in a very specific way

01:29:39,515 --> 01:29:41,015
and nobody else finds it,

01:29:42,095 --> 01:29:47,115
maybe not put all your X in the basket to redesign that, you know.

01:29:47,755 --> 01:29:50,595
And I did that with clients that were like,

01:29:50,695 --> 01:29:52,795
oh, we have this like one legacy thing

01:29:52,795 --> 01:29:55,475
and it's like, it's really broken and it's really complicated.

01:29:55,475 --> 01:30:04,935
and I was like, yeah, put it in an iframe into your otherwise accessible template

01:30:04,935 --> 01:30:13,196
and put it in an iframe in the middle and, you know, make three or four fixes that make it, like, bearable

01:30:13,196 --> 01:30:15,635
and then be done with it.

01:30:15,696 --> 01:30:18,315
Like, it doesn't need to be perfect in those instances.

01:30:19,055 --> 01:30:25,075
And, you know, and there is in the law as well, there is this undue burden clause.

01:30:25,075 --> 01:30:29,276
that basically says like, oh, if you go bankrupt from doing this,

01:30:29,335 --> 01:30:30,575
then you don't have to do it.

01:30:30,935 --> 01:30:34,135
Which like, it's very strict in terms of like,

01:30:34,196 --> 01:30:36,415
oh, you can't just say like, oh, this costs a lot of money.

01:30:36,515 --> 01:30:39,615
I think this is unbearable for me, which is good.

01:30:40,156 --> 01:30:43,395
But like, yeah, if you can like demonstrate,

01:30:43,395 --> 01:30:49,435
oh, this is like a low use and there is maybe an accessible alternative,

01:30:50,535 --> 01:30:58,035
you know, or like, even if you like make a plan and say like, oh, this will be redesigned in like

01:30:58,035 --> 01:31:04,055
a year and a half anyway, you know, and you know that and then you can incorporate accessibility

01:31:04,055 --> 01:31:11,935
into that. So there's a lot of flexibility in how to handle it. You just need a plan, right?

01:31:11,935 --> 01:31:16,975
That's always the most important thing, like have a plan first and then, you know, you can

01:31:16,975 --> 01:31:23,415
can react to things that come from from the outside i think one of the things i've been

01:31:23,415 --> 01:31:29,895
thinking about is the design system like and how that can help in terms of the the new stuff that's

01:31:29,895 --> 01:31:36,295
being built if you if you create a design system and all the new products are based on that so i

01:31:36,295 --> 01:31:41,355
was kind of wondering if you you were planning to talk a little bit about you know how to think when

01:31:41,355 --> 01:31:45,855
you're building your design system accessibly or in that sense?

01:31:46,815 --> 01:31:50,455
Yeah, I think Hampus has a whole thing about design.

01:31:51,135 --> 01:31:53,315
At least I hope he does because I don't.

01:31:56,575 --> 01:31:59,555
But yeah, I think he has a whole like day of design.

01:31:59,555 --> 01:32:04,155
I think design systems and just being systematic in your design.

01:32:04,395 --> 01:32:09,035
I mean, this is like, I think we've gotten better with that,

01:32:09,115 --> 01:32:10,175
but it's still not great.

01:32:10,175 --> 01:32:18,255
with like you know components and stuff like that what what I see is a lot of like over

01:32:18,255 --> 01:32:25,715
like I don't know in tv or or cinema you would say it's overproduced like oh they try to do too much

01:32:25,715 --> 01:32:31,975
like it's it's it's more than it needs to be and I see that in a lot of design systems but in general

01:32:31,975 --> 01:32:37,575
that's the right thing to do like have legos have components that you put together and that make

01:32:37,575 --> 01:32:43,776
your stuff accessible so you don't need to reinvent the wheel on every page but it's also

01:32:43,776 --> 01:32:50,615
totally okay to like say uh because that that was the feedback that i got a lot when i when i said

01:32:50,615 --> 01:32:56,995
like yeah get a design system in you know uh or framework or whatever uh it was always like oh

01:32:56,995 --> 01:33:02,776
but we want to be flexible and then yeah you can be flexible in instances but in general you want

01:33:02,775 --> 01:33:12,475
to have things that you can like reuse and yeah, and just put in context and then it's okay.

01:33:17,255 --> 01:33:26,995
All right. This was a good discussion. And I think I need a break before we have the individual

01:33:26,995 --> 01:33:39,236
things. My brain is great today. Yeah, thanks for the lively discussion. I think this is really

01:33:39,236 --> 01:33:47,395
good. If you want to continue this in Slack, that's totally fine. And just, yeah, just feel

01:33:47,395 --> 01:33:56,676
free to like ask questions. We really like doing that stuff with you too. And yeah, and I think

01:33:56,675 --> 01:34:03,635
next week it's Hampus turn, which means I have a Tuesday off. Well off I do other stuff. And then

01:34:04,594 --> 01:34:11,074
I think I'm back. So have a good rest of your day and see you around. Bye.

01:34:12,755 --> 01:34:15,715
Take care. Bye. Bye. Bye.