WEBVTT

1
00:00:02.640 --> 00:00:06.040
<00:00:02.640>Jörg <00:00:02.840>Jakoby, <00:00:03.040>he's <00:00:03.240>a <00:00:03.440>software <00:00:03.640>engineer <00:00:03.840>at <00:00:04.040>ETHOS.

2
00:00:06.200 --> 00:00:07.320
<00:00:06.200>Please <00:00:06.536>welcome <00:00:06.872>the <00:00:07.208>speaker.

3
00:00:13.120 --> 00:00:14.720
<00:00:13.120>So, <00:00:13.469>the <00:00:13.819>stage <00:00:14.169>is <00:00:14.520>yours.

4
00:00:15.840 --> 00:00:17.620
<00:00:15.840>Yeah, <00:00:16.073>thank <00:00:16.306>you, <00:00:16.540>Adi, <00:00:16.773>for <00:00:17.006>the <00:00:17.240>introduction.

5
00:00:17.920 --> 00:00:18.860
<00:00:17.920>Thanks <00:00:18.343>for <00:00:18.766>participating.

6
00:00:19.620 --> 00:00:21.180
<00:00:19.620>Let's <00:00:19.970>start <00:00:20.320>with <00:00:20.670>the <00:00:21.020>presentation.

7
00:00:21.560 --> 00:00:26.660
<00:00:21.560>The <00:00:21.687>presentation <00:00:21.814>is <00:00:21.941>called <00:00:22.069>Continuous <00:00:22.196>Accessibility, <00:00:22.323>and <00:00:22.450>the <00:00:22.578>focus <00:00:22.705>is <00:00:22.832>on <00:00:22.959>shift

8
00:00:26.660 --> 00:00:27.300
<00:00:26.660>-left <00:00:27.236>accessibility

9
00:00:27.300 --> 00:00:27.860
testing.

10
00:00:28.073 --> 00:00:33.173
<00:00:28.073>Let's <00:00:28.160>take <00:00:28.248>a <00:00:28.335>look <00:00:28.423>at <00:00:28.510>the <00:00:28.598>table <00:00:28.685>of <00:00:28.773>contents <00:00:28.860>first. <00:00:28.948>I <00:00:29.035>will <00:00:29.123>talk <00:00:29.210>about <00:00:29.298>the <00:00:29.385>motivation <00:00:29.473>of

11
00:00:33.173 --> 00:00:34.333
<00:00:33.173>its <00:00:33.695>continuous <00:00:34.217>accessibility

12
00:00:34.853 --> 00:00:37.973
<00:00:34.853>Then <00:00:35.008>we <00:00:35.164>will <00:00:35.319>see <00:00:35.475>why <00:00:35.630>accessibility <00:00:35.786>often <00:00:35.941>fails <00:00:36.097>in <00:00:36.253>projects

13
00:00:37.973 --> 00:00:42.473
<00:00:37.973>We <00:00:38.080>will <00:00:38.188>see <00:00:38.296>as <00:00:38.403>a <00:00:38.511>solution <00:00:38.619>how <00:00:38.726>we <00:00:38.834>should <00:00:38.942>implement <00:00:39.049>shift <00:00:39.157>left <00:00:39.265>for <00:00:39.373>accessibility

14
00:00:43.513 --> 00:00:48.953
<00:00:43.513>Then <00:00:43.595>we <00:00:43.677>go <00:00:43.760>more <00:00:43.842>bit <00:00:43.924>more <00:00:44.007>in <00:00:44.089>practice <00:00:44.171>and <00:00:44.254>take <00:00:44.336>a <00:00:44.418>look <00:00:44.501>at <00:00:44.583>unit <00:00:44.665>test <00:00:44.748>accessibility <00:00:44.830>scans <00:00:44.913>and

15
00:00:48.953 --> 00:00:50.513
<00:00:48.953>then <00:00:49.153>we <00:00:49.353>will <00:00:49.553>talk <00:00:49.753>about <00:00:49.953>end <00:00:50.153>-to <00:00:50.353>-end

16
00:00:50.513 --> 00:00:55.593
<00:00:50.513>Accessibility <00:00:50.613>scans <00:00:50.713>after <00:00:50.812>that <00:00:50.913>we <00:00:51.013>will <00:00:51.113>take <00:00:51.213>a <00:00:51.312>look <00:00:51.413>at <00:00:51.513>rules <00:00:51.613>and <00:00:51.713>severity <00:00:51.812>for <00:00:51.913>the

17
00:00:55.593 --> 00:00:55.873
accessibility

18
00:00:56.147 --> 00:01:01.227
<00:00:56.147>scans <00:00:56.240>and <00:00:56.333>then <00:00:56.427>we <00:00:56.520>will <00:00:56.613>take <00:00:56.707>a <00:00:56.800>look <00:00:56.893>at <00:00:56.986>how <00:00:57.080>to <00:00:57.173>handle <00:00:57.266>exceptions <00:00:57.360>and <00:00:57.453>to <00:00:57.547>implement

19
00:01:01.227 --> 00:01:01.927
guardrails

20
00:01:01.927 --> 00:01:07.047
<00:01:01.927>and <00:01:02.034>then <00:01:02.142>i <00:01:02.250>will <00:01:02.357>give <00:01:02.465>a <00:01:02.573>summary <00:01:02.680>as <00:01:02.788>last <00:01:02.896>point <00:01:03.003>okay <00:01:03.111>let's <00:01:03.219>talk <00:01:03.327>about

21
00:01:07.047 --> 00:01:09.707
<00:01:07.047>the <00:01:07.513>motivation <00:01:07.980>um <00:01:08.447>what

22
00:01:09.707 --> 00:01:15.087
<00:01:09.707>are <00:01:09.814>the <00:01:09.922>goals <00:01:10.030>of <00:01:10.137>the <00:01:10.245>session <00:01:10.353>first <00:01:10.460>point <00:01:10.568>is <00:01:10.676>implementing <00:01:10.783>shift <00:01:10.891>lift <00:01:10.999>access <00:01:11.107>shifting

23
00:01:15.087 --> 00:01:15.267
left

24
00:01:15.267 --> 00:01:20.827
<00:01:15.267>accessibility <00:01:15.422>in <00:01:15.578>your <00:01:15.733>development <00:01:15.889>process <00:01:16.044>second <00:01:16.200>point <00:01:16.355>is <00:01:16.511>implement <00:01:16.667>automated

25
00:01:20.827 --> 00:01:23.647
<00:01:20.827>tests <00:01:21.293>and <00:01:21.760>last <00:01:22.227>point

26
00:01:24.221 --> 00:01:30.141
<00:01:24.221>robust <00:01:24.376>and <00:01:24.532>continuous <00:01:24.687>consistent <00:01:24.843>routines <00:01:24.998>in <00:01:25.154>your <00:01:25.309>development <00:01:25.465>workflow <00:01:25.621>let's

27
00:01:30.141 --> 00:01:31.101
<00:01:30.140>take <00:01:30.428>a <00:01:30.717>quick <00:01:31.005>overview

28
00:01:31.101 --> 00:01:36.381
<00:01:31.101>about <00:01:31.217>the <00:01:31.334>agenda <00:01:31.451>first <00:01:31.567>topic <00:01:31.684>is <00:01:31.801>the <00:01:31.917>problem <00:01:32.034>statement <00:01:32.151>and <00:01:32.267>the <00:01:32.384>root <00:01:32.501>causes

29
00:01:36.381 --> 00:01:38.021
<00:01:36.381>then <00:01:37.081>we <00:01:37.781>will

30
00:01:38.021 --> 00:01:43.281
<00:01:38.021>take <00:01:38.094>a <00:01:38.168>look <00:01:38.242>at <00:01:38.315>the <00:01:38.389>shift <00:01:38.463>left <00:01:38.536>principle <00:01:38.610>then <00:01:38.684>we <00:01:38.757>will <00:01:38.831>take <00:01:38.905>a <00:01:38.978>look <00:01:39.052>at <00:01:39.126>how <00:01:39.199>we <00:01:39.273>do <00:01:39.347>the <00:01:39.421>accessibility

31
00:01:43.281 --> 00:01:48.381
<00:01:43.281>scans <00:01:43.388>with <00:01:43.496>x <00:01:43.604>-core <00:01:43.711>with <00:01:43.819>the <00:01:43.927>unit <00:01:44.034>tests <00:01:44.142>and <00:01:44.250>last <00:01:44.357>point <00:01:44.465>is <00:01:44.573>we <00:01:44.681>will

32
00:01:48.381 --> 00:01:49.261
<00:01:48.381>take <00:01:48.579>a <00:01:48.777>look <00:01:48.975>at <00:01:49.173>the

33
00:01:49.261 --> 00:01:52.221
<00:01:49.261>how <00:01:49.416>we <00:01:49.572>can <00:01:49.727>integrate <00:01:49.883>the <00:01:50.038>accessibility <00:01:50.194>scans <00:01:50.349>in <00:01:50.505>the <00:01:50.661>end

34
00:01:52.295 --> 00:01:57.855
<00:01:52.295>end <00:01:52.470>tests <00:01:52.645>and <00:01:52.820>how <00:01:52.995>to <00:01:53.170>implement <00:01:53.345>them <00:01:53.520>consistently <00:01:53.695>okay

35
00:01:57.855 --> 00:02:02.055
<00:01:57.854>first <00:01:58.134>topic <00:01:58.414>why <00:01:58.695>accessibility <00:01:58.975>often <00:01:59.255>fails

36
00:02:02.775 --> 00:02:08.015
<00:02:02.775>the <00:02:02.891>headline <00:02:03.008>is <00:02:03.125>missing <00:02:03.241>accessibility <00:02:03.358>missing <00:02:03.475>in <00:02:03.591>action <00:02:03.708>and <00:02:03.825>that's <00:02:03.941>exactly <00:02:04.058>the <00:02:04.175>point

37
00:02:08.015 --> 00:02:09.315
<00:02:08.014>so <00:02:09.185>the

38
00:02:09.315 --> 00:02:14.235
<00:02:09.315>accessibility <00:02:09.414>is <00:02:09.514>often <00:02:09.615>not <00:02:09.715>considered <00:02:09.815>from <00:02:09.914>the <00:02:10.014>beginning <00:02:10.115>of <00:02:10.215>the <00:02:10.315>development <00:02:10.414>but <00:02:10.514>also <00:02:10.615>only <00:02:10.715>at

39
00:02:14.235 --> 00:02:18.935
<00:02:14.235>the <00:02:14.322>end <00:02:14.410>of <00:02:14.497>development <00:02:14.585>and <00:02:14.672>often <00:02:14.760>there <00:02:14.847>are <00:02:14.935>the <00:02:15.022>development <00:02:15.110>is <00:02:15.197>completed <00:02:15.285>and <00:02:15.372>then <00:02:15.460>there <00:02:15.547>are <00:02:15.635>just

40
00:02:18.935 --> 00:02:19.655
some

41
00:02:21.829 --> 00:02:25.069
<00:02:21.829>Yeah, <00:02:22.062>manual <00:02:22.295>tests <00:02:22.529>done <00:02:22.762>and <00:02:22.995>no <00:02:23.229>automation.

42
00:02:26.049 --> 00:02:26.689
Yeah.

43
00:02:26.889 --> 00:02:32.049
<00:02:26.889>And <00:02:26.996>the <00:02:27.104>problem <00:02:27.212>is <00:02:27.319>that <00:02:27.427>lack <00:02:27.535>of <00:02:27.642>planning <00:02:27.750>accessibility <00:02:27.858>for <00:02:27.965>us <00:02:28.073>is <00:02:28.181>retrofitting <00:02:28.289>and

44
00:02:32.049 --> 00:02:32.489
<00:02:32.049>that's <00:02:32.247>what <00:02:32.445>you

45
00:02:32.489 --> 00:02:33.149
<00:02:32.489>want <00:02:32.786>to <00:02:33.083>avoid.

46
00:02:34.689 --> 00:02:37.189
<00:02:34.689>Then <00:02:34.864>we <00:02:35.039>have <00:02:35.214>some <00:02:35.388>problems <00:02:35.564>with <00:02:35.739>manual <00:02:35.914>testing <00:02:36.089>only.

47
00:02:37.469 --> 00:02:40.469
<00:02:37.469>First <00:02:37.702>problem <00:02:37.935>is <00:02:38.168>manual <00:02:38.402>tests <00:02:38.635>are <00:02:38.869>subjective.

48
00:02:40.789 --> 00:02:41.889
<00:02:40.789>They <00:02:40.987>can <00:02:41.185>be <00:02:41.383>hard <00:02:41.581>to <00:02:41.779>reproduce.

49
00:02:45.449 --> 00:02:47.109
<00:02:45.449>Yeah, <00:02:45.915>that's <00:02:46.382>the <00:02:46.849>end.

50
00:02:48.443 --> 00:02:52.263
<00:02:48.442>Next <00:02:48.559>problem <00:02:48.676>is <00:02:48.792>a <00:02:48.909>VK <00:02:49.026>criteria <00:02:49.142>is <00:02:49.259>missing <00:02:49.376>from <00:02:49.493>the <00:02:49.609>definition <00:02:49.726>of <00:02:49.843>done.

51
00:02:52.763 --> 00:02:58.503
<00:02:52.763>That <00:02:52.856>means <00:02:52.949>we <00:02:53.043>start <00:02:53.136>development <00:02:53.229>without <00:02:53.323>knowing <00:02:53.416>what <00:02:53.509>exactly <00:02:53.603>we <00:02:53.696>want <00:02:53.789>to <00:02:53.883>achieve <00:02:53.976>with <00:02:54.069>our <00:02:54.163>development

52
00:02:58.503 --> 00:03:03.543
<00:02:58.503>without <00:02:58.736>having <00:02:58.969>proper <00:02:59.202>criteria <00:02:59.436>defined <00:02:59.669>for <00:02:59.903>our

53
00:03:03.543 --> 00:03:04.583
development.

54
00:03:06.203 --> 00:03:11.483
<00:03:06.203>And <00:03:06.319>the <00:03:06.436>last <00:03:06.553>point <00:03:06.669>is <00:03:06.786>that <00:03:06.903>the <00:03:07.019>shift <00:03:07.136>-left <00:03:07.253>approach <00:03:07.369>is <00:03:07.486>completely <00:03:07.603>ignored

55
00:03:11.483 --> 00:03:12.143
<00:03:11.483>during <00:03:12.077>development.

56
00:03:12.923 --> 00:03:16.443
<00:03:12.923>Now <00:03:13.098>let's <00:03:13.273>take <00:03:13.448>a <00:03:13.623>look <00:03:13.798>at <00:03:13.973>how <00:03:14.148>error <00:03:14.323>costs.

57
00:03:16.517 --> 00:03:21.977
<00:03:16.517>escalates <00:03:16.656>through <00:03:16.797>the <00:03:16.936>life <00:03:17.077>cycle <00:03:17.216>yeah <00:03:17.357>there <00:03:17.497>are <00:03:17.637>two <00:03:17.777>topics <00:03:17.917>first

58
00:03:21.977 --> 00:03:24.517
<00:03:21.977>is <00:03:22.327>the <00:03:22.677>latest <00:03:23.027>we <00:03:23.377>find

59
00:03:24.517 --> 00:03:29.677
<00:03:24.517>found <00:03:24.656>issues <00:03:24.797>higher <00:03:24.936>the <00:03:25.077>more <00:03:25.216>expensive <00:03:25.357>is <00:03:25.497>the <00:03:25.637>fixing <00:03:25.777>and <00:03:25.917>the

60
00:03:29.677 --> 00:03:31.397
<00:03:29.677>higher <00:03:30.143>the <00:03:30.610>costs <00:03:31.077>there

61
00:03:31.397 --> 00:03:36.437
<00:03:31.397>is <00:03:31.479>from <00:03:31.561>nasa <00:03:31.644>that <00:03:31.726>it <00:03:31.808>can <00:03:31.891>be <00:03:31.973>it <00:03:32.055>can <00:03:32.138>be <00:03:32.220>up <00:03:32.302>to <00:03:32.385>100 <00:03:32.467>times <00:03:32.549>more <00:03:32.632>expensive <00:03:32.714>if <00:03:32.797>you

62
00:03:36.437 --> 00:03:36.957
<00:03:36.437>find <00:03:36.905>issues

63
00:03:36.957 --> 00:03:42.097
<00:03:36.957>at <00:03:37.073>the <00:03:37.190>end <00:03:37.307>of <00:03:37.423>development <00:03:37.540>instead <00:03:37.656>of <00:03:37.773>at <00:03:37.890>the <00:03:38.007>beginning <00:03:38.123>and <00:03:38.240>there <00:03:38.357>are

64
00:03:42.097 --> 00:03:43.557
<00:03:42.097>risks <00:03:42.535>of <00:03:42.973>delay <00:03:43.411>so

65
00:03:43.557 --> 00:03:44.397
<00:03:43.557>that <00:03:43.708>means <00:03:43.859>if <00:03:44.010>you <00:03:44.161>find <00:03:44.313>it

66
00:03:44.590 --> 00:03:49.750
<00:03:44.590>accessibility <00:03:44.730>issues <00:03:44.870>late, <00:03:45.010>that <00:03:45.150>could <00:03:45.290>mean <00:03:45.430>we <00:03:45.570>could <00:03:45.710>have <00:03:45.850>legal <00:03:45.990>issues

67
00:03:49.750 --> 00:03:51.190
<00:03:49.750>if <00:03:50.182>we <00:03:50.614>deliver <00:03:51.046>the

68
00:03:51.190 --> 00:03:58.650
<00:03:51.190>fixes <00:03:51.390>too <00:03:51.590>late, <00:03:51.790>we <00:03:51.990>could <00:03:52.190>create <00:03:52.390>regressions, <00:03:52.590>and

69
00:03:58.650 --> 00:04:01.150
<00:03:58.650>we <00:03:58.883>could <00:03:59.116>create <00:03:59.350>this <00:03:59.583>quick <00:03:59.816>fixes, <00:04:00.050>poor

70
00:04:01.150 --> 00:04:03.730
<00:04:01.150>UX <00:04:01.500>behavior <00:04:01.850>in <00:04:02.200>our <00:04:02.550>application.

71
00:04:04.150 --> 00:04:09.250
<00:04:04.150>So <00:04:04.250>on <00:04:04.350>the <00:04:04.450>other <00:04:04.550>hand, <00:04:04.650>a <00:04:04.750>better <00:04:04.850>way <00:04:04.950>is <00:04:05.050>to <00:04:05.150>start <00:04:05.250>at <00:04:05.350>the <00:04:05.450>beginning <00:04:05.550>with

72
00:04:09.250 --> 00:04:11.050
<00:04:09.250>accessibility <00:04:09.950>that <00:04:10.650>makes

73
00:04:11.050 --> 00:04:12.510
<00:04:11.050>maintainability <00:04:12.364>easy.

74
00:04:13.264 --> 00:04:18.564
<00:04:13.264>and <00:04:13.351>it <00:04:13.439>leads <00:04:13.526>to <00:04:13.614>better <00:04:13.701>quality <00:04:13.789>solutions <00:04:13.876>thanks <00:04:13.964>to <00:04:14.051>shift <00:04:14.139>left <00:04:14.226>approach <00:04:14.314>and <00:04:14.401>that <00:04:14.489>is <00:04:14.576>our <00:04:14.664>next

75
00:04:18.564 --> 00:04:23.604
<00:04:18.564>chapter <00:04:18.691>let's <00:04:18.818>talk <00:04:18.945>about <00:04:19.073>shift <00:04:19.200>left <00:04:19.327>for <00:04:19.454>accessibility <00:04:19.582>first <00:04:19.709>let's <00:04:19.836>talk <00:04:19.964>a

76
00:04:23.604 --> 00:04:24.844
<00:04:23.604>little <00:04:23.883>bit <00:04:24.162>in <00:04:24.441>general <00:04:24.719>about

77
00:04:24.844 --> 00:04:29.884
<00:04:24.844>shift <00:04:25.019>left <00:04:25.194>principle <00:04:25.369>and <00:04:25.544>the <00:04:25.719>key <00:04:25.894>messages <00:04:26.069>the <00:04:26.244>first

78
00:04:29.884 --> 00:04:31.644
<00:04:29.884>point <00:04:30.164>is <00:04:30.444>we <00:04:30.724>want <00:04:31.004>prevention <00:04:31.284>instead

79
00:04:31.644 --> 00:04:37.464
<00:04:31.644>of <00:04:31.737>remediation <00:04:31.830>that <00:04:31.924>means <00:04:32.017>we <00:04:32.110>want <00:04:32.204>to <00:04:32.297>fix <00:04:32.390>and <00:04:32.484>find <00:04:32.577>issues <00:04:32.670>early <00:04:32.764>instead <00:04:32.857>of <00:04:32.950>fixing <00:04:33.044>issues

80
00:04:37.464 --> 00:04:40.584
<00:04:37.464>later <00:04:37.744>we <00:04:38.024>want <00:04:38.304>automation <00:04:38.584>instead <00:04:38.864>of

81
00:04:40.738 --> 00:04:45.618
<00:04:40.738>repetition <00:04:40.831>that <00:04:40.924>means <00:04:41.018>we <00:04:41.111>want <00:04:41.204>to <00:04:41.298>automate <00:04:41.391>our <00:04:41.484>test <00:04:41.578>instead <00:04:41.671>of <00:04:41.764>doing <00:04:41.858>the <00:04:41.951>test <00:04:42.044>always <00:04:42.138>manual

82
00:04:46.478 --> 00:04:50.678
<00:04:46.478>and <00:04:46.594>we <00:04:46.711>need <00:04:46.828>shared <00:04:46.944>responsibilities <00:04:47.061>so <00:04:47.178>accessibility <00:04:47.294>needs <00:04:47.411>to <00:04:47.528>be <00:04:47.644>a <00:04:47.761>team <00:04:47.878>effort

83
00:04:50.678 --> 00:04:55.858
<00:04:50.678>everyone <00:04:50.778>in <00:04:50.878>the <00:04:50.978>team <00:04:51.078>should <00:04:51.178>own <00:04:51.278>the <00:04:51.378>accessibility <00:04:51.478>as <00:04:51.578>a <00:04:51.678>feature <00:04:51.778>from <00:04:51.878>product <00:04:51.978>manager <00:04:52.078>designer

84
00:04:55.858 --> 00:04:56.218
to

85
00:04:56.218 --> 00:05:01.518
<00:04:56.218>tester <00:04:56.358>and <00:04:56.498>developer <00:04:56.638>and <00:04:56.778>yeah <00:04:56.918>with <00:04:57.058>that <00:04:57.198>we <00:04:57.338>get <00:04:57.478>quality <00:04:57.618>efficiency

86
00:05:01.518 --> 00:05:02.858
<00:05:01.518>and <00:05:01.819>performance <00:05:02.121>and <00:05:02.422>we <00:05:02.724>see

87
00:05:02.858 --> 00:05:08.138
<00:05:02.858>that <00:05:02.974>in <00:05:03.091>the <00:05:03.208>next <00:05:03.324>slide <00:05:03.441>and <00:05:03.558>with <00:05:03.674>all <00:05:03.791>that <00:05:03.908>we <00:05:04.024>have <00:05:04.141>an <00:05:04.258>enabler

88
00:05:08.138 --> 00:05:08.638
<00:05:08.138>for <00:05:08.587>predictive

89
00:05:08.812 --> 00:05:13.912
<00:05:08.812>development <00:05:08.967>that <00:05:09.123>means <00:05:09.278>we <00:05:09.434>can <00:05:09.589>focus <00:05:09.745>on <00:05:09.900>coding <00:05:10.056>instead <00:05:10.212>of

90
00:05:13.912 --> 00:05:15.972
<00:05:13.912>worrying <00:05:14.191>about <00:05:14.472>how <00:05:14.751>to <00:05:15.032>fix <00:05:15.311>issues

91
00:05:15.972 --> 00:05:21.432
<00:05:15.972>later <00:05:16.079>yeah <00:05:16.187>now <00:05:16.295>let's <00:05:16.402>take <00:05:16.510>a <00:05:16.618>look <00:05:16.725>at <00:05:16.833>the <00:05:16.941>accessibility <00:05:17.048>as <00:05:17.156>a <00:05:17.264>continuous <00:05:17.371>process

92
00:05:21.432 --> 00:05:23.092
<00:05:21.432>first <00:05:21.898>point <00:05:22.365>is <00:05:22.832>progression

93
00:05:23.092 --> 00:05:28.172
<00:05:23.092>over <00:05:23.219>perfection <00:05:23.346>that <00:05:23.473>means <00:05:23.601>accessibility <00:05:23.728>is <00:05:23.855>not <00:05:23.982>a <00:05:24.110>one <00:05:24.237>-time <00:05:24.364>goal <00:05:24.491>but

94
00:05:28.172 --> 00:05:29.372
<00:05:28.172>a <00:05:28.712>continuous <00:05:29.252>process

95
00:05:30.512 --> 00:05:35.592
<00:05:30.512>then <00:05:30.612>we <00:05:30.712>should <00:05:30.812>implement <00:05:30.912>layer <00:05:31.012>testing <00:05:31.112>that <00:05:31.212>is <00:05:31.312>our <00:05:31.412>main <00:05:31.512>topic <00:05:31.612>so <00:05:31.712>it <00:05:31.812>means <00:05:31.912>we

96
00:05:35.592 --> 00:05:36.172
<00:05:35.592>should <00:05:36.114>have

97
00:05:36.886 --> 00:05:42.186
<00:05:36.886>checks <00:05:36.968>in <00:05:37.050>the <00:05:37.133>unit <00:05:37.215>tests <00:05:37.297>for <00:05:37.380>our <00:05:37.462>components <00:05:37.544>we <00:05:37.627>should <00:05:37.709>have <00:05:37.791>checks <00:05:37.874>in <00:05:37.956>the <00:05:38.038>end <00:05:38.121>-to <00:05:38.203>-end <00:05:38.286>tests

98
00:05:42.186 --> 00:05:42.386
to

99
00:05:42.386 --> 00:05:47.346
<00:05:42.386>protect <00:05:42.493>complex <00:05:42.601>workflows <00:05:42.709>and <00:05:42.816>states <00:05:42.924>and <00:05:43.032>we <00:05:43.139>should <00:05:43.247>also <00:05:43.355>have <00:05:43.462>manual <00:05:43.570>and <00:05:43.678>user <00:05:43.786>checks

100
00:05:49.266 --> 00:05:52.846
<00:05:49.266>and <00:05:49.616>additionally <00:05:49.966>even <00:05:50.316>ai-based <00:05:50.666>scans

101
00:05:54.926 --> 00:06:00.046
<00:05:54.926>yeah <00:05:55.066>and <00:05:55.205>that <00:05:55.346>leads <00:05:55.486>to <00:05:55.626>trust <00:05:55.765>to <00:05:55.906>verification <00:05:56.046>but <00:05:56.186>only <00:05:56.325>if

102
00:06:00.046 --> 00:06:02.226
<00:06:00.046>you <00:06:00.221>do <00:06:00.396>run <00:06:00.570>the <00:06:00.746>tests <00:06:00.921>in <00:06:01.096>the <00:06:01.271>ci <00:06:01.445>and

103
00:06:02.226 --> 00:06:04.886
<00:06:02.226>have <00:06:02.401>a <00:06:02.576>proper <00:06:02.751>ci <00:06:02.926>integration <00:06:03.101>for <00:06:03.276>our <00:06:03.451>unit <00:06:03.626>tests

104
00:06:06.680 --> 00:06:12.540
<00:06:06.680>okay <00:06:06.796>now <00:06:06.913>let's <00:06:07.030>take <00:06:07.146>a <00:06:07.263>look <00:06:07.380>at <00:06:07.496>the <00:06:07.613>unit <00:06:07.730>-based <00:06:07.846>accessibility <00:06:07.963>tests <00:06:08.080>the

105
00:06:12.540 --> 00:06:14.100
<00:06:12.540>first <00:06:13.006>point <00:06:13.473>is <00:06:13.940>why

106
00:06:14.100 --> 00:06:19.540
<00:06:14.100>are <00:06:14.333>the <00:06:14.566>unit <00:06:14.800>accessibility <00:06:15.033>tests <00:06:15.266>effective <00:06:15.500>yeah

107
00:06:19.540 --> 00:06:21.260
<00:06:19.540>the <00:06:19.773>first <00:06:20.006>obvious <00:06:20.240>point <00:06:20.473>is <00:06:20.706>the <00:06:20.940>detection

108
00:06:21.260 --> 00:06:25.320
<00:06:21.260>is <00:06:21.367>quite <00:06:21.475>early <00:06:21.583>we <00:06:21.690>usually <00:06:21.798>find <00:06:21.906>the <00:06:22.013>issues <00:06:22.121>already <00:06:22.229>during <00:06:22.336>development <00:06:22.444>of <00:06:22.552>our <00:06:22.659>components

109
00:06:27.720 --> 00:06:32.840
<00:06:27.720>second <00:06:27.836>point <00:06:27.953>is <00:06:28.070>we <00:06:28.186>implement <00:06:28.303>usually <00:06:28.420>independent <00:06:28.536>component <00:06:28.653>tests <00:06:28.770>and <00:06:28.886>unit <00:06:29.003>tests <00:06:29.120>and

110
00:06:32.840 --> 00:06:32.960
that

111
00:06:33.034 --> 00:06:38.534
<00:06:33.034>That <00:06:33.134>means <00:06:33.234>debugging <00:06:33.334>is <00:06:33.433>easier <00:06:33.534>as <00:06:33.634>a <00:06:33.734>result <00:06:33.834>object <00:06:33.933>that <00:06:34.034>you <00:06:34.134>get <00:06:34.234>easier <00:06:34.334>to <00:06:34.433>understand.

112
00:06:39.314 --> 00:06:44.394
<00:06:39.314>And <00:06:39.414>you <00:06:39.514>can <00:06:39.614>follow <00:06:39.714>the <00:06:39.814>concept <00:06:39.914>of <00:06:40.014>atomic <00:06:40.114>design <00:06:40.214>with <00:06:40.314>our <00:06:40.414>test <00:06:40.514>infrastructure <00:06:40.614>and <00:06:40.714>have

113
00:06:44.394 --> 00:06:44.654
<00:06:44.394>a <00:06:44.628>much

114
00:06:44.654 --> 00:06:49.154
<00:06:44.654>proper <00:06:45.354>workflow <00:06:46.054>here.

115
00:06:49.434 --> 00:06:55.074
<00:06:49.433>And <00:06:49.550>if <00:06:49.667>the <00:06:49.784>effect <00:06:49.900>prevention <00:06:50.017>is <00:06:50.133>quite <00:06:50.250>effective, <00:06:50.367>if <00:06:50.484>it's <00:06:50.600>X <00:06:50.717>-Core <00:06:50.833>X

116
00:06:55.074 --> 00:06:58.154
<00:06:55.074>-Core <00:06:55.274>can <00:06:55.474>find <00:06:55.674>up <00:06:55.874>to <00:06:56.074>50 <00:06:56.274>% <00:06:56.474>of

117
00:06:58.154 --> 00:06:59.874
<00:06:58.154>accessibility <00:06:58.433>issues, <00:06:58.714>if <00:06:58.994>it's <00:06:59.274>proper <00:06:59.554>implemented.

118
00:07:02.147 --> 00:07:08.367
<00:07:02.147>And <00:07:02.287>some <00:07:02.426>of <00:07:02.567>them <00:07:02.707>are <00:07:02.847>missing <00:07:02.986>labels, <00:07:03.127>missing <00:07:03.267>alternative <00:07:03.407>text, <00:07:03.546>area

119
00:07:08.367 --> 00:07:10.067
<00:07:08.367>misuse <00:07:09.067>and <00:07:09.767>contrast

120
00:07:10.067 --> 00:07:11.087
issues.

121
00:07:11.287 --> 00:07:16.367
<00:07:11.287>And <00:07:11.442>that <00:07:11.598>are <00:07:11.753>some <00:07:11.909>of <00:07:12.064>the <00:07:12.220>most <00:07:12.375>common <00:07:12.531>accessibility <00:07:12.686>issues.

122
00:07:16.687 --> 00:07:20.467
<00:07:16.687>And <00:07:16.862>the <00:07:17.037>last <00:07:17.212>positive <00:07:17.387>point <00:07:17.562>is <00:07:17.737>speed <00:07:17.912>and <00:07:18.087>integration.

123
00:07:20.787 --> 00:07:24.627
<00:07:20.787>The <00:07:20.880>unit <00:07:20.973>tests <00:07:21.066>are <00:07:21.160>very <00:07:21.253>easy <00:07:21.347>to <00:07:21.440>integrate <00:07:21.533>and <00:07:21.626>they're <00:07:21.720>also <00:07:21.813>X-Coil <00:07:21.907>is <00:07:22.000>easy <00:07:22.093>to <00:07:22.186>integrate

124
00:07:24.627 --> 00:07:25.347
<00:07:24.627>in <00:07:24.843>the <00:07:25.058>unit <00:07:25.275>test.

125
00:07:25.347 --> 00:07:28.407
<00:07:25.347>And <00:07:25.580>they <00:07:25.813>run <00:07:26.046>very <00:07:26.280>fast <00:07:26.513>and <00:07:26.746>effective.

126
00:07:29.181 --> 00:07:34.461
<00:07:29.181>test <00:07:29.414>take <00:07:29.647>some <00:07:29.881>seconds <00:07:30.114>or <00:07:30.347>less <00:07:30.580>okay

127
00:07:34.461 --> 00:07:37.041
<00:07:34.461>let's <00:07:34.661>talk <00:07:34.861>about <00:07:35.061>integration <00:07:35.261>and <00:07:35.461>key <00:07:35.661>features <00:07:35.861>and

128
00:07:37.041 --> 00:07:42.321
<00:07:37.041>some <00:07:37.157>big <00:07:37.274>best <00:07:37.391>practice <00:07:37.507>first <00:07:37.624>let's <00:07:37.741>talk <00:07:37.857>about <00:07:37.974>the <00:07:38.091>front <00:07:38.207>end <00:07:38.324>stack <00:07:38.441>integration

129
00:07:42.321 --> 00:07:43.401
<00:07:42.321>as <00:07:42.645>the <00:07:42.969>x <00:07:43.293>-core

130
00:07:43.401 --> 00:07:48.441
<00:07:43.401>plugin <00:07:43.541>is <00:07:43.681>available <00:07:43.821>for <00:07:43.961>all <00:07:44.101>main <00:07:44.241>test <00:07:44.381>runners <00:07:44.521>test <00:07:44.661>tools <00:07:44.801>like

131
00:07:48.441 --> 00:07:51.681
<00:07:48.441>jest <00:07:48.791>vtest <00:07:49.141>and <00:07:49.491>jasmine <00:07:49.841>so

132
00:07:51.681 --> 00:07:56.841
<00:07:51.681>all <00:07:51.797>it <00:07:51.914>can <00:07:52.031>be <00:07:52.147>used <00:07:52.264>for <00:07:52.381>all <00:07:52.497>main <00:07:52.614>frameworks <00:07:52.731>like <00:07:52.847>angular <00:07:52.964>react <00:07:53.080>and

133
00:07:56.841 --> 00:07:57.021
few

134
00:07:58.515 --> 00:08:03.855
<00:07:58.515>Then <00:07:58.642>we <00:07:58.769>can <00:07:58.896>test <00:07:59.024>realistic <00:07:59.151>property <00:07:59.278>and <00:07:59.405>states <00:07:59.533>of <00:07:59.660>our <00:07:59.787>exploration <00:07:59.914>that

135
00:08:03.855 --> 00:08:05.415
<00:08:03.855>ensures <00:08:04.555>relevant <00:08:05.255>dom

136
00:08:05.415 --> 00:08:09.195
<00:08:05.415>structures <00:08:05.590>which <00:08:05.765>is <00:08:05.940>necessary <00:08:06.115>for <00:08:06.290>proper <00:08:06.465>screen <00:08:06.640>reader <00:08:06.815>accessibility.

137
00:08:10.795 --> 00:08:12.615
<00:08:10.795>Yeah, <00:08:11.075>then <00:08:11.355>it's <00:08:11.635>more <00:08:11.915>best <00:08:12.195>practice.

138
00:08:12.835 --> 00:08:18.755
<00:08:12.835>We <00:08:12.962>should <00:08:13.089>a <00:08:13.216>define <00:08:13.344>central <00:08:13.471>roots <00:08:13.598>for <00:08:13.725>our <00:08:13.853>test <00:08:13.980>and <00:08:14.107>not <00:08:14.234>run

139
00:08:18.755 --> 00:08:20.055
<00:08:18.755>every <00:08:19.047>test <00:08:19.340>with <00:08:19.632>different <00:08:19.925>rules

140
00:08:20.055 --> 00:08:25.195
<00:08:20.055>or <00:08:20.148>a <00:08:20.241>rule <00:08:20.335>set <00:08:20.428>at <00:08:20.521>all, <00:08:20.615>but <00:08:20.708>we <00:08:20.801>should <00:08:20.895>define <00:08:20.988>them <00:08:21.081>centrally <00:08:21.175>and <00:08:21.268>we <00:08:21.361>should <00:08:21.455>implement.

141
00:08:25.329 --> 00:08:30.729
<00:08:25.329>help <00:08:25.469>us <00:08:25.609>to <00:08:25.749>avoid <00:08:25.889>code <00:08:26.029>applications <00:08:26.169>and <00:08:26.309>have <00:08:26.449>a <00:08:26.589>proper <00:08:26.729>more

142
00:08:30.729 --> 00:08:34.609
<00:08:30.729>proper <00:08:31.079>code <00:08:31.429>structure <00:08:31.779>yeah <00:08:32.129>and

143
00:08:34.609 --> 00:08:38.649
<00:08:34.609>of <00:08:34.702>course <00:08:34.795>we <00:08:34.889>get <00:08:34.982>also <00:08:35.075>the <00:08:35.169>benefits <00:08:35.262>of <00:08:35.355>early <00:08:35.449>integration <00:08:35.542>that <00:08:35.635>means <00:08:35.729>we <00:08:35.822>get <00:08:35.915>feedback <00:08:36.009>early

144
00:08:38.649 --> 00:08:43.949
<00:08:38.649>and <00:08:38.789>have <00:08:38.929>less <00:08:39.068>discussions <00:08:39.208>later <00:08:39.349>because <00:08:39.489>we <00:08:39.629>find <00:08:39.769>issues <00:08:39.909>during <00:08:40.049>development

145
00:08:43.949 --> 00:08:44.669
<00:08:43.948>phase <00:08:44.597>already

146
00:08:46.509 --> 00:08:50.749
<00:08:46.509>okay <00:08:46.591>let's <00:08:46.673>take <00:08:46.756>a <00:08:46.838>look <00:08:46.920>at <00:08:47.003>the <00:08:47.085>code <00:08:47.167>sample <00:08:47.250>i <00:08:47.332>decided <00:08:47.414>to <00:08:47.497>go <00:08:47.579>with <00:08:47.661>the <00:08:47.744>code <00:08:47.826>example <00:08:47.909>with

147
00:08:50.749 --> 00:08:53.269
<00:08:50.749>vtest <00:08:51.099>x <00:08:51.449>and <00:08:51.799>angular <00:08:52.149>so

148
00:08:54.783 --> 00:08:59.983
<00:08:54.783>So, <00:08:54.883>yeah, <00:08:54.983>as <00:08:55.083>an <00:08:55.183>example <00:08:55.283>of <00:08:55.383>just <00:08:55.483>a <00:08:55.583>button, <00:08:55.683>it's <00:08:55.783>not <00:08:55.883>a <00:08:55.983>real <00:08:56.083>-world <00:08:56.183>example,

149
00:09:00.043 --> 00:09:00.543
<00:09:00.043>but <00:09:00.268>just <00:09:00.493>to

150
00:09:00.543 --> 00:09:05.583
<00:09:00.543>demonstrate <00:09:00.659>how <00:09:00.776>it <00:09:00.893>works, <00:09:01.009>we <00:09:01.126>just <00:09:01.243>import <00:09:01.359>the <00:09:01.476>X <00:09:01.593>function <00:09:01.709>from <00:09:01.826>the <00:09:01.943>VTEST

151
00:09:05.583 --> 00:09:06.843
<00:09:05.583>X <00:09:06.150>package, <00:09:06.717>then

152
00:09:06.843 --> 00:09:11.983
<00:09:06.843>we <00:09:06.959>pass <00:09:07.076>the <00:09:07.193>element <00:09:07.309>we <00:09:07.426>want <00:09:07.543>to <00:09:07.659>shake <00:09:07.776>to <00:09:07.892>the <00:09:08.009>S <00:09:08.126>first <00:09:08.242>parameter

153
00:09:11.983 --> 00:09:13.783
<00:09:11.983>to <00:09:12.262>the <00:09:12.542>X <00:09:12.823>function, <00:09:13.103>and <00:09:13.382>then

154
00:09:13.783 --> 00:09:18.383
<00:09:13.783>we <00:09:13.865>get <00:09:13.947>the <00:09:14.030>X <00:09:14.112>core <00:09:14.194>results <00:09:14.277>objects <00:09:14.359>with <00:09:14.441>the <00:09:14.524>results <00:09:14.606>from <00:09:14.688>the <00:09:14.771>scans, <00:09:14.853>it's <00:09:14.935>quite <00:09:15.018>a <00:09:15.100>big <00:09:15.183>object

155
00:09:18.383 --> 00:09:21.403
<00:09:18.383>with <00:09:18.583>a <00:09:18.783>lot <00:09:18.983>of <00:09:19.183>information, <00:09:19.383>but <00:09:19.583>it <00:09:19.783>contains...

156
00:09:21.477 --> 00:09:26.817
<00:09:21.477>a <00:09:21.584>violations <00:09:21.692>array <00:09:21.800>with <00:09:21.907>all <00:09:22.015>violations <00:09:22.123>found <00:09:22.230>for <00:09:22.338>the <00:09:22.446>scan <00:09:22.553>and <00:09:22.661>here <00:09:22.769>the <00:09:22.877>example

157
00:09:26.817 --> 00:09:27.297
<00:09:26.817>we <00:09:27.249>filter

158
00:09:27.297 --> 00:09:32.597
<00:09:27.297>the <00:09:27.413>array <00:09:27.530>for <00:09:27.647>series <00:09:27.763>and <00:09:27.880>critical <00:09:27.997>issues <00:09:28.113>and <00:09:28.230>at <00:09:28.347>the <00:09:28.463>expectation <00:09:28.580>that <00:09:28.697>the

159
00:09:32.597 --> 00:09:33.357
<00:09:32.597>array <00:09:32.939>is <00:09:33.281>empty

160
00:09:33.357 --> 00:09:38.537
<00:09:33.357>and <00:09:33.484>that <00:09:33.611>there <00:09:33.738>are <00:09:33.866>no <00:09:33.993>series <00:09:34.120>of <00:09:34.247>critical <00:09:34.375>issues <00:09:34.502>that <00:09:34.629>means <00:09:34.757>the

161
00:09:38.537 --> 00:09:42.097
<00:09:38.537>test <00:09:38.817>fails <00:09:39.097>if <00:09:39.377>there <00:09:39.657>are <00:09:39.937>series

162
00:09:42.097 --> 00:09:47.417
<00:09:42.097>of <00:09:42.271>critical <00:09:42.447>issues <00:09:42.622>and <00:09:42.797>otherwise <00:09:42.972>the <00:09:43.146>test <00:09:43.322>is <00:09:43.497>successful

163
00:09:47.417 --> 00:09:49.237
<00:09:47.417>that <00:09:47.697>is <00:09:47.977>exactly <00:09:48.257>what <00:09:48.537>we <00:09:48.817>want

164
00:09:50.111 --> 00:09:54.691
<00:09:50.111>Yeah, <00:09:50.204>and <00:09:50.297>instead <00:09:50.391>of <00:09:50.484>this <00:09:50.577>filtering, <00:09:50.670>we <00:09:50.764>could <00:09:50.857>also <00:09:50.951>use <00:09:51.044>the <00:09:51.137>expectation <00:09:51.231>to <00:09:51.324>have <00:09:51.417>no <00:09:51.511>violation

165
00:09:54.691 --> 00:09:57.731
<00:09:54.691>that <00:09:54.846>is <00:09:55.002>also <00:09:55.157>part <00:09:55.313>of <00:09:55.468>the <00:09:55.624>V <00:09:55.779>test <00:09:55.935>X <00:09:56.091>library.

166
00:09:59.171 --> 00:10:04.251
<00:09:59.171>Yeah, <00:09:59.298>to <00:09:59.425>other <00:09:59.552>commands, <00:09:59.680>there <00:09:59.807>could <00:09:59.934>be <00:10:00.061>also <00:10:00.189>some <00:10:00.316>component <00:10:00.443>interactions <00:10:00.571>before

167
00:10:04.251 --> 00:10:04.771
<00:10:04.251>the <00:10:04.718>scan

168
00:10:04.771 --> 00:10:09.911
<00:10:04.771>and <00:10:04.926>we <00:10:05.082>have <00:10:05.237>two <00:10:05.393>options <00:10:05.548>to <00:10:05.704>configure <00:10:05.859>the <00:10:06.015>scan <00:10:06.170>a

169
00:10:09.911 --> 00:10:13.631
<00:10:09.911>with <00:10:10.111>the <00:10:10.310>function <00:10:10.511>configure <00:10:10.710>X <00:10:10.911>from <00:10:11.111>the <00:10:11.310>V

170
00:10:13.631 --> 00:10:17.191
<00:10:13.631>test <00:10:13.758>X <00:10:13.885>library <00:10:14.012>and <00:10:14.140>you <00:10:14.267>could <00:10:14.394>also <00:10:14.521>pass <00:10:14.649>options <00:10:14.776>as <00:10:14.903>a <00:10:15.031>second.

171
00:10:17.624 --> 00:10:22.764
<00:10:17.624>here <00:10:17.731>in <00:10:17.839>this <00:10:17.947>example <00:10:18.054>we <00:10:18.162>would <00:10:18.270>um <00:10:18.377>run <00:10:18.485>the <00:10:18.593>tests <00:10:18.700>for <00:10:18.808>for <00:10:18.916>rules <00:10:19.024>that

172
00:10:22.764 --> 00:10:24.504
<00:10:22.764>attacked <00:10:23.230>with <00:10:23.697>wickeg <00:10:24.164>22a

173
00:10:26.344 --> 00:10:31.084
<00:10:26.344>yeah <00:10:26.460>exactly <00:10:26.577>so <00:10:26.694>all <00:10:26.810>rules <00:10:26.927>that <00:10:27.044>attack <00:10:27.160>the <00:10:27.277>swigkeg <00:10:27.394>22a <00:10:27.510>would <00:10:27.627>be <00:10:27.744>checked

174
00:10:32.444 --> 00:10:37.384
<00:10:32.444>um <00:10:32.526>yeah <00:10:32.608>and <00:10:32.691>of <00:10:32.773>course <00:10:32.855>you <00:10:32.938>could <00:10:33.020>enhance <00:10:33.102>that <00:10:33.185>with <00:10:33.267>other <00:10:33.349>texts <00:10:33.432>like <00:10:33.514>we <00:10:33.596>kick <00:10:33.679>to <00:10:33.761>to <00:10:33.843>a

175
00:10:40.424 --> 00:10:45.464
<00:10:40.424>okay <00:10:40.506>i <00:10:40.588>guess <00:10:40.671>that's <00:10:40.753>clear <00:10:40.835>and <00:10:40.918>you <00:10:41.000>see <00:10:41.082>it's <00:10:41.165>quite <00:10:41.247>easy <00:10:41.329>to <00:10:41.412>implement <00:10:41.494>it <00:10:41.576>in <00:10:41.659>the <00:10:41.741>unit <00:10:41.824>tests

176
00:10:45.698 --> 00:10:50.838
<00:10:45.698>now <00:10:45.838>let's <00:10:45.978>go <00:10:46.117>to <00:10:46.257>the <00:10:46.398>end <00:10:46.538>-to <00:10:46.678>-end <00:10:46.818>accessibility <00:10:46.958>scans <00:10:47.098>first

177
00:10:50.838 --> 00:10:52.118
<00:10:50.838>question <00:10:51.414>is <00:10:51.990>why

178
00:10:52.118 --> 00:10:57.258
<00:10:52.118>are <00:10:52.273>x <00:10:52.429>end <00:10:52.584>-to <00:10:52.740>-end <00:10:52.895>accessibility <00:10:53.051>test <00:10:53.206>essential <00:10:53.362>yeah <00:10:53.518>and

179
00:10:57.258 --> 00:11:00.278
<00:10:57.258>the <00:10:57.724>answer <00:10:58.191>is <00:10:58.658>unit

180
00:11:00.278 --> 00:11:04.018
<00:11:00.278>tests <00:11:00.394>have <00:11:00.511>limits <00:11:00.628>they <00:11:00.744>follow <00:11:00.861>the <00:11:00.978>key <00:11:01.094>bits <00:11:01.211>simple <00:11:01.328>stupid <00:11:01.444>principle <00:11:01.561>that <00:11:01.678>means

181
00:11:04.018 --> 00:11:09.698
<00:11:04.018>they <00:11:04.125>are <00:11:04.233>only <00:11:04.341>designed <00:11:04.448>to <00:11:04.556>capture <00:11:04.664>simple <00:11:04.771>test <00:11:04.879>cases <00:11:04.987>and <00:11:05.094>no <00:11:05.202>complex <00:11:05.310>workflows <00:11:05.418>and

182
00:11:09.698 --> 00:11:13.698
<00:11:09.698>that <00:11:09.872>is <00:11:10.048>exactly <00:11:10.223>where <00:11:10.398>the <00:11:10.573>end-to-end <00:11:10.747>tests <00:11:10.923>come <00:11:11.098>in

183
00:11:13.772 --> 00:11:18.332
<00:11:13.772>And <00:11:13.912>they <00:11:14.052>are <00:11:14.192>designed <00:11:14.332>to <00:11:14.472>cover <00:11:14.612>complex <00:11:14.752>workflows <00:11:14.892>and <00:11:15.032>dynamic <00:11:15.172>states.

184
00:11:20.032 --> 00:11:25.272
<00:11:20.032>They <00:11:20.139>have <00:11:20.247>another <00:11:20.355>advantage <00:11:20.462>they <00:11:20.570>can <00:11:20.678>run <00:11:20.785>in <00:11:20.893>multiple <00:11:21.001>browsers, <00:11:21.108>so <00:11:21.216>we <00:11:21.324>can <00:11:21.432>ensure

185
00:11:25.272 --> 00:11:25.812
browser

186
00:11:25.812 --> 00:11:30.472
<00:11:25.812>compatibility <00:11:25.939>with <00:11:26.066>the <00:11:26.193>end-to-end <00:11:26.321>test, <00:11:26.448>which <00:11:26.575>is <00:11:26.702>also <00:11:26.830>a <00:11:26.957>very <00:11:27.084>important <00:11:27.212>point.

187
00:11:32.892 --> 00:11:37.432
<00:11:32.892>Because <00:11:32.985>we <00:11:33.078>have <00:11:33.172>a <00:11:33.265>coverage <00:11:33.358>for <00:11:33.452>accessibility <00:11:33.545>for <00:11:33.638>all <00:11:33.732>browsers <00:11:33.825>that <00:11:33.918>we <00:11:34.012>want <00:11:34.105>to <00:11:34.198>support <00:11:34.292>and

188
00:11:37.432 --> 00:11:40.092
<00:11:37.432>otherwise <00:11:37.572>you <00:11:37.712>would <00:11:37.852>have <00:11:37.992>to <00:11:38.132>do <00:11:38.272>manual <00:11:38.412>tests <00:11:38.552>to <00:11:38.692>ensure <00:11:38.832>competition.

189
00:11:42.766 --> 00:11:48.206
<00:11:42.766>And <00:11:42.873>the <00:11:42.981>last <00:11:43.089>point <00:11:43.196>is <00:11:43.304>that <00:11:43.412>end <00:11:43.519>-to <00:11:43.627>-end <00:11:43.735>tests <00:11:43.842>for <00:11:43.950>usually <00:11:44.058>focused <00:11:44.165>strategies.

190
00:11:48.426 --> 00:11:53.106
<00:11:48.426>That <00:11:48.601>means <00:11:48.776>the <00:11:48.951>end-to-end <00:11:49.126>tests <00:11:49.301>cover <00:11:49.476>all <00:11:49.651>critical <00:11:49.826>workflows.

191
00:11:53.986 --> 00:11:59.406
<00:11:53.986>And <00:11:54.086>if <00:11:54.186>you <00:11:54.286>combine <00:11:54.386>that <00:11:54.486>with <00:11:54.586>the <00:11:54.686>accessibility <00:11:54.786>scans, <00:11:54.886>we <00:11:54.986>make <00:11:55.086>sure <00:11:55.186>that <00:11:55.286>the <00:11:55.386>most

192
00:11:59.406 --> 00:11:59.846
important

193
00:11:59.846 --> 00:12:02.966
<00:11:59.846>workflows <00:12:00.079>are <00:12:00.312>already <00:12:00.546>covered <00:12:00.779>with <00:12:01.012>accessibility <00:12:01.246>scans.

194
00:12:05.186 --> 00:12:05.866
Okay.

195
00:12:05.866 --> 00:12:08.966
<00:12:05.866>Now <00:12:06.006>let's <00:12:06.146>take <00:12:06.286>a <00:12:06.425>look <00:12:06.566>at <00:12:06.706>two <00:12:06.846>different <00:12:06.986>types <00:12:07.126>of <00:12:07.266>...

196
00:12:09.920 --> 00:12:14.940
<00:12:09.920>end <00:12:10.060>-to <00:12:10.199>-end <00:12:10.339>test <00:12:10.479>scans, <00:12:10.620>the <00:12:10.760>scope <00:12:10.900>scans <00:12:11.040>and <00:12:11.180>the <00:12:11.319>full

197
00:12:14.940 --> 00:12:15.620
<00:12:14.940>page <00:12:15.552>scans.

198
00:12:18.380 --> 00:12:22.020
<00:12:18.380>The <00:12:18.520>full <00:12:18.660>page <00:12:18.800>scans <00:12:18.939>means <00:12:19.080>that <00:12:19.220>this <00:12:19.360>scans <00:12:19.500>the <00:12:19.640>whole <00:12:19.780>page.

199
00:12:22.180 --> 00:12:27.500
<00:12:22.180>So <00:12:22.280>the <00:12:22.380>complete <00:12:22.479>dom <00:12:22.579>tree <00:12:22.680>of <00:12:22.780>the <00:12:22.880>application <00:12:22.979>that <00:12:23.079>leads <00:12:23.180>to <00:12:23.280>some <00:12:23.380>issues <00:12:23.479>or <00:12:23.579>potential

200
00:12:27.500 --> 00:12:27.860
is

201
00:12:27.860 --> 00:12:28.380
issues.

202
00:12:29.000 --> 00:12:35.080
<00:12:29.000>The <00:12:29.175>execution <00:12:29.350>time <00:12:29.525>might <00:12:29.700>be <00:12:29.875>slow, <00:12:30.050>the <00:12:30.225>results <00:12:30.400>could

203
00:12:35.080 --> 00:12:36.380
<00:12:35.080>be <00:12:35.470>unstable <00:12:35.860>and <00:12:36.250>noisy.

204
00:12:37.994 --> 00:12:41.334
<00:12:37.994>And <00:12:38.194>therefore, <00:12:38.394>we <00:12:38.594>have <00:12:38.794>benefits <00:12:38.994>of <00:12:39.194>scoped <00:12:39.394>scans.

205
00:12:41.454 --> 00:12:45.354
<00:12:41.454>Scoped <00:12:41.593>scans <00:12:41.733>means <00:12:41.873>we <00:12:42.013>restrict <00:12:42.154>our <00:12:42.294>tests <00:12:42.434>to <00:12:42.574>one <00:12:42.714>element <00:12:42.853>only.

206
00:12:45.774 --> 00:12:47.134
<00:12:45.774>That <00:12:46.182>is <00:12:46.590>the <00:12:46.998>advantage.

207
00:12:47.294 --> 00:12:51.094
<00:12:47.294>The <00:12:47.401>test <00:12:47.509>is <00:12:47.617>obviously <00:12:47.724>faster <00:12:47.832>because <00:12:47.940>we <00:12:48.047>have <00:12:48.155>only <00:12:48.263>a <00:12:48.370>small <00:12:48.478>element <00:12:48.586>to <00:12:48.694>check

208
00:12:51.094 --> 00:12:52.594
<00:12:51.094>or <00:12:51.364>a <00:12:51.634>smaller <00:12:51.904>element <00:12:52.174>to <00:12:52.444>check.

209
00:12:53.334 --> 00:12:57.894
<00:12:53.334>And <00:12:53.441>the <00:12:53.549>result, <00:12:53.657>of <00:12:53.764>course, <00:12:53.872>is <00:12:53.980>less <00:12:54.087>noisier <00:12:54.195>and <00:12:54.303>the <00:12:54.410>tests <00:12:54.518>are <00:12:54.626>more <00:12:54.734>stable.

210
00:12:58.554 --> 00:13:03.634
<00:12:58.554>But <00:12:58.694>the <00:12:58.834>best <00:12:58.973>setup <00:12:59.113>is <00:12:59.254>to <00:12:59.394>combine <00:12:59.534>full <00:12:59.674>page <00:12:59.814>scan <00:12:59.954>with

211
00:13:03.634 --> 00:13:05.734
<00:13:03.634>scoped <00:13:05.034>scans.

212
00:13:08.528 --> 00:13:13.148
<00:13:08.528>yeah <00:13:08.628>and <00:13:08.728>scoped <00:13:08.828>scans <00:13:08.928>are <00:13:09.028>usually <00:13:09.128>interaction <00:13:09.228>coupled <00:13:09.328>that <00:13:09.428>means <00:13:09.528>for <00:13:09.628>example <00:13:09.728>if <00:13:09.828>you <00:13:09.928>want

213
00:13:13.148 --> 00:13:17.768
<00:13:13.148>to <00:13:13.225>shake <00:13:13.303>a <00:13:13.381>dialogue <00:13:13.459>then <00:13:13.536>we <00:13:13.614>first <00:13:13.692>of <00:13:13.770>course <00:13:13.848>need <00:13:13.925>to <00:13:14.003>open <00:13:14.081>the <00:13:14.159>dialogue <00:13:14.236>so <00:13:14.314>we <00:13:14.392>need <00:13:14.470>to <00:13:14.548>implement

214
00:13:17.768 --> 00:13:22.928
<00:13:17.768>the <00:13:17.861>interaction <00:13:17.954>to <00:13:18.048>open <00:13:18.141>dialogue <00:13:18.234>and <00:13:18.328>then <00:13:18.421>run <00:13:18.514>the <00:13:18.608>scan <00:13:18.701>on <00:13:18.794>the <00:13:18.888>open <00:13:18.981>dialogue <00:13:19.074>that's <00:13:19.168>also

215
00:13:22.928 --> 00:13:27.948
<00:13:22.928>what <00:13:23.044>you <00:13:23.161>will <00:13:23.278>see <00:13:23.394>in <00:13:23.511>the <00:13:23.628>practical <00:13:23.744>example <00:13:23.861>later <00:13:23.978>yeah <00:13:24.094>and <00:13:24.211>the <00:13:24.328>last

216
00:13:27.948 --> 00:13:29.428
<00:13:27.948>point <00:13:28.391>is <00:13:28.836>the <00:13:29.280>scoped

217
00:13:29.428 --> 00:13:33.908
<00:13:29.428>scans <00:13:29.555>could <00:13:29.682>be <00:13:29.809>easier <00:13:29.937>to <00:13:30.064>maintain <00:13:30.191>because <00:13:30.318>they <00:13:30.446>are <00:13:30.573>focused <00:13:30.700>on <00:13:30.828>similar

218
00:13:34.141 --> 00:13:39.621
<00:13:34.141>So <00:13:34.241>the <00:13:34.341>unit <00:13:34.440>tests <00:13:34.540>focused <00:13:34.641>on <00:13:34.741>one <00:13:34.841>element <00:13:34.940>and <00:13:35.040>we <00:13:35.141>start <00:13:35.241>object <00:13:35.341>is <00:13:35.440>easier <00:13:35.540>to

219
00:13:39.621 --> 00:13:40.461
<00:13:39.621>understand <00:13:40.377>and

220
00:13:40.461 --> 00:13:44.741
<00:13:40.461>the <00:13:40.601>debug <00:13:40.741>bugging <00:13:40.881>is <00:13:41.021>also <00:13:41.161>easier <00:13:41.301>because <00:13:41.441>of <00:13:41.581>the <00:13:41.721>smaller <00:13:41.861>object.

221
00:13:47.281 --> 00:13:47.801
Okay.

222
00:13:47.981 --> 00:13:52.161
<00:13:47.981>And <00:13:48.074>now <00:13:48.167>let's <00:13:48.261>take <00:13:48.354>a <00:13:48.447>look <00:13:48.540>at <00:13:48.634>a <00:13:48.727>minimum <00:13:48.821>set <00:13:48.914>up <00:13:49.007>is <00:13:49.101>play <00:13:49.194>right <00:13:49.287>index <00:13:49.381>core.

223
00:13:52.381 --> 00:13:54.601
<00:13:52.381>This <00:13:52.581>could <00:13:52.781>be <00:13:52.981>just <00:13:53.180>example <00:13:53.381>is <00:13:53.581>play <00:13:53.781>right.

224
00:13:54.701 --> 00:13:59.781
<00:13:54.701>It's <00:13:54.794>quite <00:13:54.887>could <00:13:54.981>be <00:13:55.074>also <00:13:55.167>with <00:13:55.261>Cypress <00:13:55.354>index <00:13:55.447>core <00:13:55.541>or <00:13:55.634>we <00:13:55.727>could <00:13:55.821>also <00:13:55.914>use <00:13:56.007>play <00:13:56.101>right

225
00:13:59.781 --> 00:14:00.501
<00:13:59.781>and <00:14:00.429>IBM

226
00:14:00.501 --> 00:14:02.141
<00:14:00.501>equal <00:14:00.781>access <00:14:01.060>or <00:14:01.341>another <00:14:01.621>library <00:14:01.901>by.

227
00:14:02.215 --> 00:14:07.475
<00:14:02.215>yeah <00:14:02.331>since <00:14:02.448>playwright <00:14:02.565>and <00:14:02.681>x <00:14:02.798>-core <00:14:02.915>is <00:14:03.031>documented <00:14:03.148>officially <00:14:03.265>and <00:14:03.381>easy <00:14:03.498>to <00:14:03.615>integrate

228
00:14:07.475 --> 00:14:08.215
<00:14:07.475>i <00:14:07.808>decided <00:14:08.141>to

229
00:14:08.215 --> 00:14:13.295
<00:14:08.215>show <00:14:08.370>it <00:14:08.526>with <00:14:08.681>this <00:14:08.837>combination <00:14:08.992>yeah <00:14:09.148>first <00:14:09.303>step <00:14:09.459>is <00:14:09.615>we

230
00:14:13.295 --> 00:14:14.395
<00:14:13.295>need <00:14:13.542>to <00:14:13.790>install <00:14:14.037>the <00:14:14.285>dependencies

231
00:14:15.415 --> 00:14:19.335
<00:14:15.415>we <00:14:15.508>can <00:14:15.601>do <00:14:15.694>that <00:14:15.788>with <00:14:15.881>the <00:14:15.974>following <00:14:16.068>command <00:14:16.161>with <00:14:16.255>npm <00:14:16.348>it's <00:14:16.441>just <00:14:16.535>important <00:14:16.628>that <00:14:16.721>we <00:14:16.814>need

232
00:14:19.335 --> 00:14:24.115
<00:14:19.335>to <00:14:19.490>install <00:14:19.646>x-core <00:14:19.801>the <00:14:19.957>playwright <00:14:20.112>test <00:14:20.268>package <00:14:20.423>and <00:14:20.579>x-core <00:14:20.735>playwright

233
00:14:25.475 --> 00:14:30.075
<00:14:25.475>then <00:14:25.582>we <00:14:25.690>don't <00:14:25.798>we <00:14:25.905>can <00:14:26.013>reuse <00:14:26.121>the <00:14:26.228>existing <00:14:26.336>playwright <00:14:26.444>test <00:14:26.551>runner <00:14:26.659>and <00:14:26.767>don't <00:14:26.875>need

234
00:14:30.289 --> 00:14:37.449
<00:14:30.289>additional <00:14:30.522>stuff <00:14:30.755>to <00:14:30.989>install <00:14:31.222>or <00:14:31.455>use <00:14:31.689>okay

235
00:14:37.449 --> 00:14:40.069
<00:14:37.449>and <00:14:37.623>no <00:14:37.799>plugins <00:14:37.973>or <00:14:38.149>manual <00:14:38.324>steps <00:14:38.498>are <00:14:38.674>required <00:14:38.848>to

236
00:14:40.069 --> 00:14:45.129
<00:14:40.069>run <00:14:40.185>the <00:14:40.302>tests <00:14:40.419>and <00:14:40.535>last <00:14:40.652>point <00:14:40.769>is <00:14:40.885>the <00:14:41.002>test <00:14:41.118>run <00:14:41.235>locally <00:14:41.352>and <00:14:41.468>CI

237
00:14:45.129 --> 00:14:46.769
<00:14:45.129>the <00:14:45.362>same <00:14:45.595>way <00:14:45.829>so <00:14:46.062>we <00:14:46.295>can <00:14:46.529>just

238
00:14:46.769 --> 00:14:51.869
<00:14:46.769>implement <00:14:46.856>our <00:14:46.944>test <00:14:47.031>locally <00:14:47.119>and <00:14:47.206>they <00:14:47.294>run <00:14:47.381>also <00:14:47.469>in <00:14:47.556>the <00:14:47.644>same <00:14:47.731>way <00:14:47.819>in <00:14:47.906>the <00:14:47.994>CI <00:14:48.081>city <00:14:48.169>pipeline

239
00:14:51.869 --> 00:14:53.829
yeah

240
00:14:53.829 --> 00:14:58.289
<00:14:53.829>now <00:14:53.936>let's <00:14:54.044>take <00:14:54.152>a <00:14:54.259>look <00:14:54.367>at <00:14:54.475>the <00:14:54.582>code <00:14:54.690>sample <00:14:54.798>yeah <00:14:54.905>that's <00:14:55.013>a <00:14:55.121>display <00:14:55.228>right

241
00:14:58.363 --> 00:15:03.643
<00:14:58.363>with <00:14:58.479>X <00:14:58.596>core, <00:14:58.713>um, <00:14:58.829>what <00:14:58.946>we <00:14:59.063>do <00:14:59.179>here <00:14:59.296>is <00:14:59.413>we, <00:14:59.529>um, <00:14:59.646>open <00:14:59.763>an

242
00:15:03.643 --> 00:15:05.403
<00:15:03.643>ill <00:15:03.923>profile <00:15:04.203>dialogue <00:15:04.483>and <00:15:04.763>check <00:15:05.043>that

243
00:15:06.023 --> 00:15:10.743
<00:15:06.023>It <00:15:06.163>is <00:15:06.303>profile <00:15:06.443>dialogue <00:15:06.583>has <00:15:06.723>not <00:15:06.863>critical <00:15:07.003>or <00:15:07.143>serious <00:15:07.283>accessibility <00:15:07.423>issues.

244
00:15:11.303 --> 00:15:13.663
<00:15:11.303>First <00:15:11.478>step <00:15:11.653>is <00:15:11.828>we <00:15:12.003>go <00:15:12.178>to <00:15:12.353>the <00:15:12.528>account <00:15:12.703>page.

245
00:15:13.963 --> 00:15:19.223
<00:15:13.963>Um, <00:15:14.056>let <00:15:14.149>me <00:15:14.242>share, <00:15:14.336>check <00:15:14.429>that <00:15:14.522>there's <00:15:14.616>an <00:15:14.709>edit <00:15:14.803>button <00:15:14.896>with <00:15:14.989>the <00:15:15.083>accessible <00:15:15.176>name, <00:15:15.269>edit <00:15:15.363>profile.

246
00:15:20.243 --> 00:15:24.143
<00:15:20.243>Then <00:15:20.359>we <00:15:20.476>trigger <00:15:20.593>a <00:15:20.709>click <00:15:20.826>on <00:15:20.943>the <00:15:21.059>button <00:15:21.176>and <00:15:21.293>that <00:15:21.409>opens <00:15:21.526>our <00:15:21.643>dialogue.

247
00:15:25.483 --> 00:15:26.143
<00:15:25.483>Then <00:15:26.077>we.

248
00:15:26.437 --> 00:15:31.577
<00:15:26.437>create <00:15:26.564>a <00:15:26.691>new <00:15:26.818>expert <00:15:26.946>object <00:15:27.073>and <00:15:27.200>pass <00:15:27.327>our <00:15:27.455>our <00:15:27.582>pass <00:15:27.709>our <00:15:27.837>page

249
00:15:31.577 --> 00:15:36.737
<00:15:31.577>to <00:15:31.684>the <00:15:31.792>X <00:15:31.900>Builder <00:15:32.007>then <00:15:32.115>we <00:15:32.223>use <00:15:32.330>the <00:15:32.438>include <00:15:32.546>function <00:15:32.653>of <00:15:32.761>the <00:15:32.869>X <00:15:32.977>Builder

250
00:15:36.737 --> 00:15:41.797
<00:15:36.737>to <00:15:36.864>restrict <00:15:36.991>our <00:15:37.118>scan <00:15:37.246>to <00:15:37.373>the <00:15:37.500>profile <00:15:37.627>dialog <00:15:37.755>element <00:15:37.882>and <00:15:38.009>use <00:15:38.137>here

251
00:15:41.797 --> 00:15:47.317
<00:15:41.797>the <00:15:41.924>Vistex <00:15:42.051>to <00:15:42.178>restrict <00:15:42.306>the <00:15:42.433>scan <00:15:42.560>to <00:15:42.687>VK2 <00:15:42.815>to <00:15:42.942>a <00:15:43.069>and <00:15:43.197>VK2

252
00:15:47.317 --> 00:15:52.497
<00:15:47.317>to <00:15:47.457>a <00:15:47.597>rules <00:15:47.737>yeah <00:15:47.877>and <00:15:48.017>the <00:15:48.157>analyze <00:15:48.297>does <00:15:48.437>the <00:15:48.577>analyzation <00:15:48.717>and

253
00:15:52.497 --> 00:15:54.297
<00:15:52.497>returns <00:15:52.776>results <00:15:53.056>that <00:15:53.337>we <00:15:53.617>already <00:15:53.896>know

254
00:15:54.511 --> 00:16:00.191
<00:15:54.511>the <00:15:54.651>unit <00:15:54.790>tests <00:15:54.930>and <00:15:55.070>the <00:15:55.211>expectation <00:15:55.351>is <00:15:55.491>exactly <00:15:55.631>the <00:15:55.771>same <00:15:55.911>the

255
00:16:00.191 --> 00:16:01.711
<00:16:00.191>same <00:16:00.464>that <00:16:00.738>we <00:16:01.011>have <00:16:01.285>seen <00:16:01.559>already

256
00:16:01.711 --> 00:16:07.191
<00:16:01.711>before <00:16:01.851>and <00:16:01.991>the <00:16:02.131>unit <00:16:02.271>test <00:16:02.411>example <00:16:02.551>okay <00:16:02.691>to <00:16:02.831>additional <00:16:02.971>commands <00:16:03.111>first

257
00:16:07.191 --> 00:16:09.151
<00:16:07.191>you <00:16:07.471>have <00:16:07.751>seen <00:16:08.031>already <00:16:08.311>you <00:16:08.591>can

258
00:16:09.151 --> 00:16:14.271
<00:16:09.151>use <00:16:09.351>also <00:16:09.550>some <00:16:09.751>helper <00:16:09.950>functions <00:16:10.151>from <00:16:10.351>playwright <00:16:10.550>like

259
00:16:14.271 --> 00:16:15.971
<00:16:14.271>to <00:16:14.504>have <00:16:14.737>accessible <00:16:14.971>name <00:16:15.204>to <00:16:15.437>check <00:16:15.670>that

260
00:16:15.971 --> 00:16:20.911
<00:16:15.971>an <00:16:16.064>element <00:16:16.157>has <00:16:16.251>the <00:16:16.344>proper <00:16:16.437>accessible <00:16:16.531>name <00:16:16.624>and <00:16:16.717>you <00:16:16.811>can <00:16:16.904>also <00:16:16.997>use <00:16:17.091>to <00:16:17.184>match <00:16:17.277>area <00:16:17.371>snapshot

261
00:16:20.911 --> 00:16:22.331
<00:16:20.911>that <00:16:21.230>means <00:16:21.550>you <00:16:21.869>can <00:16:22.189>check

262
00:16:22.585 --> 00:16:28.245
<00:16:22.585>element <00:16:22.785>for <00:16:22.985>an <00:16:23.185>um <00:16:23.385>proper <00:16:23.585>accessibility <00:16:23.785>tree <00:16:23.985>yeah

263
00:16:28.245 --> 00:16:29.965
<00:16:28.245>okay <00:16:28.420>something <00:16:28.595>that's <00:16:28.770>not <00:16:28.945>clear <00:16:29.120>you <00:16:29.295>can <00:16:29.470>read <00:16:29.645>it

264
00:16:29.965 --> 00:16:35.205
<00:16:29.965>up <00:16:30.092>in <00:16:30.219>the <00:16:30.346>playwright <00:16:30.474>documentation <00:16:30.601>um <00:16:30.728>yeah <00:16:30.855>and <00:16:30.983>after <00:16:31.110>the <00:16:31.237>analysis <00:16:31.365>that

265
00:16:35.205 --> 00:16:36.625
<00:16:35.205>is <00:16:35.631>also <00:16:36.057>an <00:16:36.483>important

266
00:16:36.625 --> 00:16:42.185
<00:16:36.625>point <00:16:36.718>there <00:16:36.811>should <00:16:36.905>be <00:16:36.998>some <00:16:37.091>kind <00:16:37.185>of <00:16:37.278>reporting <00:16:37.371>should <00:16:37.465>at <00:16:37.558>least <00:16:37.651>um <00:16:37.745>lock <00:16:37.838>the <00:16:37.931>results <00:16:38.025>object

267
00:16:43.065 --> 00:16:48.485
<00:16:43.065>even <00:16:43.172>better <00:16:43.280>you <00:16:43.388>integrate <00:16:43.495>an <00:16:43.603>official <00:16:43.711>reporter <00:16:43.818>package <00:16:43.926>you <00:16:44.034>could <00:16:44.141>use <00:16:44.249>for <00:16:44.357>example <00:16:44.465>x

268
00:16:48.485 --> 00:16:48.805
aggregate

269
00:16:48.805 --> 00:16:50.585
<00:16:48.805>report <00:16:49.038>of <00:16:49.271>a <00:16:49.505>playwright <00:16:49.738>that <00:16:49.971>would <00:16:50.204>create

270
00:16:51.358 --> 00:16:57.518
<00:16:51.358>a <00:16:51.513>nice <00:16:51.669>html <00:16:51.824>report <00:16:51.980>that <00:16:52.135>you <00:16:52.291>could <00:16:52.446>deploy <00:16:52.602>with <00:16:52.757>guitar

271
00:16:57.518 --> 00:16:59.738
<00:16:57.518>playground <00:16:57.751>for <00:16:57.984>example <00:16:58.218>or <00:16:58.451>you <00:16:58.684>could <00:16:58.918>use

272
00:16:59.738 --> 00:17:07.338
<00:16:59.738>vikali <00:16:59.865>that <00:16:59.992>is <00:17:00.119>also <00:17:00.247>reporter <00:17:00.374>but <00:17:00.501>for <00:17:00.628>cypress <00:17:00.756>instead <00:17:00.883>of <00:17:01.010>playwright <00:17:01.138>okay

273
00:17:07.338 --> 00:17:10.078
<00:17:07.338>yeah <00:17:07.804>so <00:17:08.271>much <00:17:08.738>about

274
00:17:10.078 --> 00:17:15.398
<00:17:10.078>the <00:17:10.171>end <00:17:10.264>-to <00:17:10.358>-end <00:17:10.451>tests <00:17:10.544>and <00:17:10.637>now <00:17:10.731>let's <00:17:10.824>take <00:17:10.917>a <00:17:11.011>look <00:17:11.104>about <00:17:11.197>the <00:17:11.291>rules <00:17:11.384>and <00:17:11.478>severity

275
00:17:15.398 --> 00:17:16.378
<00:17:15.397>we've <00:17:15.839>seen <00:17:16.280>already

276
00:17:18.732 --> 00:17:22.992
<00:17:18.732>handled <00:17:18.859>that, <00:17:18.986>but <00:17:19.113>let's <00:17:19.241>see <00:17:19.368>a <00:17:19.495>little <00:17:19.622>bit <00:17:19.750>more <00:17:19.877>in <00:17:20.004>the <00:17:20.132>detail.

277
00:17:23.712 --> 00:17:27.532
<00:17:23.712>Um, <00:17:23.867>yeah, <00:17:24.023>the <00:17:24.178>rules <00:17:24.334>and <00:17:24.489>severity <00:17:24.645>levels <00:17:24.800>should <00:17:24.956>be <00:17:25.112>consistent.

278
00:17:27.752 --> 00:17:28.572
<00:17:27.752>That's <00:17:27.998>the <00:17:28.243>main <00:17:28.489>point.

279
00:17:29.072 --> 00:17:31.332
<00:17:29.072>First, <00:17:29.351>we <00:17:29.631>should <00:17:29.911>meet <00:17:30.191>uniform <00:17:30.472>criteria.

280
00:17:31.672 --> 00:17:36.892
<00:17:31.672>So <00:17:31.772>that <00:17:31.872>means <00:17:31.972>the <00:17:32.072>same <00:17:32.172>criteria <00:17:32.272>for, <00:17:32.372>um, <00:17:32.472>unit <00:17:32.572>tests <00:17:32.672>and <00:17:32.772>end <00:17:32.872>to <00:17:32.972>end <00:17:33.072>tests

281
00:17:36.892 --> 00:17:37.492
<00:17:36.892>to <00:17:37.162>have <00:17:37.432>consistent

282
00:17:39.392 --> 00:17:44.572
<00:17:39.392>Um, <00:17:39.474>yeah, <00:17:39.556>so <00:17:39.639>of <00:17:39.721>course, <00:17:39.803>if <00:17:39.886>you <00:17:39.968>want <00:17:40.050>to <00:17:40.133>shake <00:17:40.215>the <00:17:40.297>end <00:17:40.380>to <00:17:40.462>end <00:17:40.544>test <00:17:40.627>this <00:17:40.709>for <00:17:40.792>VK

283
00:17:44.572 --> 00:17:45.712
<00:17:44.572>two <00:17:44.914>to <00:17:45.256>a <00:17:45.598>and

284
00:17:45.712 --> 00:17:46.392
<00:17:45.712>to <00:17:45.834>be <00:17:45.956>K <00:17:46.079>two <00:17:46.201>to <00:17:46.324>a.

285
00:17:46.806 --> 00:17:50.546
<00:17:46.806>do <00:17:46.906>the <00:17:47.006>same <00:17:47.106>for <00:17:47.206>the <00:17:47.306>test <00:17:47.406>and <00:17:47.506>the <00:17:47.606>way <00:17:47.706>around <00:17:47.806>everything <00:17:47.906>else <00:17:48.006>doesn't <00:17:48.106>make <00:17:48.206>sense.

286
00:17:53.026 --> 00:17:53.666
Yeah.

287
00:17:54.286 --> 00:17:59.506
<00:17:54.286>And <00:17:54.413>the <00:17:54.540>VK <00:17:54.667>levels <00:17:54.795>and <00:17:54.922>the <00:17:55.049>severity <00:17:55.176>category <00:17:55.304>should <00:17:55.431>be <00:17:55.558>clearly <00:17:55.686>defined

288
00:17:59.506 --> 00:18:02.406
<00:17:59.506>in <00:17:59.856>case <00:18:00.206>of <00:18:00.556>X <00:18:00.906>score

289
00:18:02.406 --> 00:18:05.186
<00:18:02.406>that <00:18:02.639>is <00:18:02.872>minor, <00:18:03.106>moderate, <00:18:03.339>serious <00:18:03.572>and <00:18:03.806>critical.

290
00:18:05.526 --> 00:18:10.826
<00:18:05.526>And <00:18:05.619>we <00:18:05.712>should <00:18:05.806>clearly <00:18:05.899>define <00:18:05.992>which <00:18:06.086>one <00:18:06.179>we <00:18:06.272>should <00:18:06.366>cover <00:18:06.459>and <00:18:06.552>want <00:18:06.646>to <00:18:06.739>shake <00:18:06.832>usually <00:18:06.926>all

291
00:18:10.826 --> 00:18:12.146
<00:18:10.826>issues <00:18:12.014>actually.

292
00:18:14.880 --> 00:18:20.640
<00:18:14.880>Yeah. <00:18:14.987>And <00:18:15.095>last <00:18:15.203>point <00:18:15.310>is <00:18:15.418>we <00:18:15.526>need <00:18:15.633>a <00:18:15.741>central <00:18:15.849>definition <00:18:15.956>that <00:18:16.064>means, <00:18:16.172>um, <00:18:16.280>yeah,

293
00:18:20.760 --> 00:18:21.160
<00:18:20.760>our <00:18:21.120>definition

294
00:18:21.160 --> 00:18:28.620
<00:18:21.160>needs <00:18:21.315>to <00:18:21.471>be <00:18:21.626>in <00:18:21.782>the <00:18:21.937>repository <00:18:22.093>and <00:18:22.248>versions, <00:18:22.404>uh, <00:18:22.560>yeah.

295
00:18:28.720 --> 00:18:30.580
<00:18:28.720>And <00:18:28.920>if <00:18:29.120>you <00:18:29.320>do <00:18:29.520>that, <00:18:29.720>um, <00:18:29.920>we <00:18:30.120>get,

296
00:18:30.720 --> 00:18:35.420
<00:18:30.720>uh, <00:18:30.813>we <00:18:30.906>follow <00:18:31.000>the <00:18:31.093>concept <00:18:31.186>of <00:18:31.280>trust <00:18:31.373>and <00:18:31.466>acceptance. <00:18:31.560>That <00:18:31.653>means <00:18:31.746>the <00:18:31.840>development <00:18:31.933>accepts <00:18:32.026>the <00:18:32.120>criteria

297
00:18:35.420 --> 00:18:40.460
<00:18:35.420>defined <00:18:35.560>by <00:18:35.700>the <00:18:35.840>project <00:18:35.980>management <00:18:36.120>and, <00:18:36.260>um, <00:18:36.400>the <00:18:36.540>project <00:18:36.680>management <00:18:36.820>trusts

298
00:18:40.460 --> 00:18:41.320
<00:18:40.460>in <00:18:40.847>the <00:18:41.234>development

299
00:18:41.320 --> 00:18:42.560
<00:18:41.320>to <00:18:41.692>implement <00:18:42.063>the <00:18:42.436>criteria.

300
00:18:42.954 --> 00:18:49.274
<00:18:42.954>were <00:18:43.154>defined <00:18:43.354>by <00:18:43.553>the <00:18:43.754>product <00:18:43.954>management <00:18:44.154>team <00:18:44.354>okay

301
00:18:49.274 --> 00:18:53.094
<00:18:49.274>now <00:18:49.429>another <00:18:49.585>code <00:18:49.740>example <00:18:49.896>that <00:18:50.051>is <00:18:50.207>how <00:18:50.362>we <00:18:50.518>can <00:18:50.674>define

302
00:18:53.094 --> 00:18:58.194
<00:18:53.094>a <00:18:53.221>global <00:18:53.348>configuration <00:18:53.475>with <00:18:53.603>playwright <00:18:53.730>and <00:18:53.857>xcore <00:18:53.984>to <00:18:54.112>do <00:18:54.239>that <00:18:54.366>we <00:18:54.494>just

303
00:18:58.194 --> 00:19:00.174
<00:18:58.194>need <00:18:58.474>to <00:18:58.754>extend <00:18:59.033>the <00:18:59.313>x <00:18:59.594>picture

304
00:19:00.774 --> 00:19:06.474
<00:19:00.774>and <00:19:00.974>there <00:19:01.174>we <00:19:01.373>implement <00:19:01.573>um <00:19:01.774>living <00:19:01.974>a <00:19:02.174>function

305
00:19:06.474 --> 00:19:10.314
<00:19:06.474>called <00:19:06.614>make <00:19:06.754>x <00:19:06.894>builder <00:19:07.033>there <00:19:07.174>we <00:19:07.313>have <00:19:07.454>the <00:19:07.593>passage <00:19:07.734>of <00:19:07.874>the

306
00:19:11.028 --> 00:19:16.408
<00:19:11.028>And <00:19:11.155>here <00:19:11.282>we <00:19:11.409>can <00:19:11.537>define <00:19:11.664>our <00:19:11.791>rules <00:19:11.918>and <00:19:12.046>we <00:19:12.173>can <00:19:12.300>also <00:19:12.428>exclude

307
00:19:16.408 --> 00:19:19.528
<00:19:16.408>elements <00:19:16.757>that <00:19:17.108>you <00:19:17.457>don't <00:19:17.808>want

308
00:19:19.528 --> 00:19:23.548
<00:19:19.528>to <00:19:19.635>shake <00:19:19.743>because <00:19:19.851>of <00:19:19.958>no <00:19:20.066>issue <00:19:20.174>that <00:19:20.281>will <00:19:20.389>be <00:19:20.497>topic <00:19:20.604>of <00:19:20.712>the <00:19:20.820>next <00:19:20.928>chapter.

309
00:19:26.248 --> 00:19:33.308
<00:19:26.248>Yeah, <00:19:26.448>we <00:19:26.648>could <00:19:26.848>of <00:19:27.048>course <00:19:27.248>also <00:19:27.448>create <00:19:27.648>some

310
00:19:33.308 --> 00:19:36.388
<00:19:33.308>extensions <00:19:33.588>with <00:19:33.868>different <00:19:34.148>parameters <00:19:34.428>if <00:19:34.708>it's

311
00:19:36.388 --> 00:19:36.888
necessary.

312
00:19:37.048 --> 00:19:38.868
<00:19:37.048>But <00:19:37.328>in <00:19:37.608>general, <00:19:37.888>yeah, <00:19:38.168>that <00:19:38.448>is.

313
00:19:39.102 --> 00:19:44.682
<00:19:39.102>the <00:19:39.242>official <00:19:39.382>documentation <00:19:39.522>documentation <00:19:39.662>and <00:19:39.802>usually <00:19:39.942>enough <00:19:40.082>to <00:19:40.222>define <00:19:40.362>attacks <00:19:40.502>for

314
00:19:44.682 --> 00:19:45.142
<00:19:44.682>the <00:19:45.096>scan

315
00:19:45.142 --> 00:19:50.942
<00:19:45.142>entry <00:19:45.215>from <00:19:45.289>which <00:19:45.363>would <00:19:45.436>make <00:19:45.510>sure <00:19:45.584>that <00:19:45.657>you <00:19:45.731>use <00:19:45.805>the <00:19:45.878>same <00:19:45.952>text <00:19:46.026>in <00:19:46.099>the <00:19:46.173>uh <00:19:46.247>end <00:19:46.320>-to <00:19:46.394>-end <00:19:46.468>tests <00:19:46.542>yeah

316
00:19:50.942 --> 00:19:56.242
<00:19:50.942>and <00:19:51.042>if <00:19:51.142>you <00:19:51.242>have <00:19:51.342>defined <00:19:51.442>the <00:19:51.542>um <00:19:51.642>make <00:19:51.742>x <00:19:51.842>builder <00:19:51.942>function <00:19:52.042>you <00:19:52.142>can <00:19:52.242>just <00:19:52.342>import

317
00:19:56.242 --> 00:19:57.342
<00:19:56.242>it <00:19:56.572>and <00:19:56.902>use <00:19:57.232>it

318
00:19:57.982 --> 00:20:02.422
<00:19:57.982>in <00:19:58.059>your <00:19:58.137>tests <00:19:58.215>and <00:19:58.293>then <00:19:58.370>you <00:19:58.448>can <00:19:58.526>just <00:19:58.604>call <00:19:58.682>the <00:19:58.759>analyze <00:19:58.837>function <00:19:58.915>as <00:19:58.993>before <00:19:59.070>and <00:19:59.148>you <00:19:59.226>get <00:19:59.304>the <00:19:59.382>same

319
00:20:02.422 --> 00:20:06.822
<00:20:02.422>result <00:20:02.622>as <00:20:02.822>you <00:20:03.022>got <00:20:03.222>when <00:20:03.422>you <00:20:03.622>use <00:20:03.822>the

320
00:20:07.175 --> 00:20:12.355
<00:20:07.175>x <00:20:07.455>builder <00:20:07.735>okay <00:20:08.014>now <00:20:08.294>let's <00:20:08.575>talk

321
00:20:12.355 --> 00:20:16.655
<00:20:12.355>about <00:20:12.530>exceptions <00:20:12.705>and <00:20:12.880>guardrails <00:20:13.055>yeah <00:20:13.230>if <00:20:13.405>you <00:20:13.580>have <00:20:13.755>exceptions

322
00:20:16.655 --> 00:20:22.695
<00:20:16.655>and <00:20:16.762>yeah <00:20:16.870>in <00:20:16.978>most <00:20:17.085>cases <00:20:17.193>there <00:20:17.301>are <00:20:17.408>some <00:20:17.516>exceptions <00:20:17.624>you <00:20:17.731>should <00:20:17.839>manage <00:20:17.947>them <00:20:18.055>responsibly

323
00:20:22.695 --> 00:20:24.795
<00:20:22.695>yeah <00:20:24.095>first

324
00:20:24.795 --> 00:20:29.935
<00:20:24.795>question <00:20:24.911>why <00:20:25.028>what <00:20:25.145>are <00:20:25.261>the <00:20:25.378>reasons <00:20:25.495>to <00:20:25.611>have <00:20:25.728>exceptions <00:20:25.845>most <00:20:25.961>of <00:20:26.078>the <00:20:26.195>cases

325
00:20:29.935 --> 00:20:31.875
<00:20:29.935>that <00:20:30.635>are <00:20:31.335>historical

326
00:20:31.875 --> 00:20:34.755
<00:20:31.875>inheritance <00:20:32.225>that <00:20:32.575>means <00:20:32.925>third <00:20:33.275>party

327
00:20:35.249 --> 00:20:40.809
<00:20:35.249>or <00:20:35.449>legacy <00:20:35.649>components <00:20:35.849>yeah <00:20:36.049>if <00:20:36.249>you <00:20:36.449>have <00:20:36.649>exception

328
00:20:40.809 --> 00:20:44.309
<00:20:40.809>yeah <00:20:41.042>exceptions <00:20:41.275>we <00:20:41.509>should <00:20:41.742>document <00:20:41.975>the <00:20:42.209>exception

329
00:20:44.309 --> 00:20:49.609
<00:20:44.309>you <00:20:44.408>should <00:20:44.509>create <00:20:44.609>an <00:20:44.709>issue <00:20:44.809>for <00:20:44.908>the <00:20:45.009>exception <00:20:45.109>since <00:20:45.209>accessibility <00:20:45.309>is <00:20:45.408>defined <00:20:45.509>in <00:20:45.609>the <00:20:45.709>definition

330
00:20:49.609 --> 00:20:50.069
<00:20:49.609>of <00:20:50.023>done

331
00:20:50.769 --> 00:20:56.009
<00:20:50.769>and <00:20:50.876>for <00:20:50.984>each <00:20:51.092>exception <00:20:51.199>be <00:20:51.307>sure <00:20:51.415>to <00:20:51.522>sign <00:20:51.630>an <00:20:51.738>owner <00:20:51.845>create <00:20:51.953>an <00:20:52.061>expiration <00:20:52.169>date

332
00:20:56.009 --> 00:20:56.709
<00:20:56.009>and <00:20:56.324>add <00:20:56.639>an

333
00:20:56.709 --> 00:21:02.009
<00:20:56.709>proper <00:20:56.909>justification <00:20:57.109>for <00:20:57.309>the <00:20:57.509>exception <00:20:57.709>and <00:20:57.909>last <00:20:58.109>point

334
00:21:02.009 --> 00:21:03.189
<00:21:02.009>we <00:21:03.071>should

335
00:21:03.323 --> 00:21:07.703
<00:21:03.323>implement <00:21:03.439>work <00:21:03.556>on <00:21:03.673>the <00:21:03.789>hex, <00:21:03.906>but <00:21:04.023>instead <00:21:04.139>implement <00:21:04.256>proper <00:21:04.373>solutions <00:21:04.489>for <00:21:04.606>our <00:21:04.723>exceptions.

336
00:21:10.803 --> 00:21:15.303
<00:21:10.803>Okay <00:21:10.910>now <00:21:11.018>let's <00:21:11.126>take <00:21:11.233>a <00:21:11.341>look <00:21:11.449>at <00:21:11.556>the <00:21:11.664>guardrails <00:21:11.772>in <00:21:11.879>the <00:21:11.987>CI <00:21:12.095>CD <00:21:12.203>pipeline.

337
00:21:17.503 --> 00:21:21.603
<00:21:17.503>First <00:21:17.678>topic <00:21:17.852>is <00:21:18.028>a <00:21:18.203>commitment <00:21:18.378>issues <00:21:18.553>should <00:21:18.727>be <00:21:18.903>blocked.

338
00:21:22.863 --> 00:21:27.563
<00:21:22.863>That <00:21:22.979>could <00:21:23.096>be <00:21:23.213>done <00:21:23.329>with <00:21:23.446>linters <00:21:23.563>or <00:21:23.679>code <00:21:23.796>quality <00:21:23.913>checks <00:21:24.029>like <00:21:24.146>sonar <00:21:24.263>cube.

339
00:21:29.103 --> 00:21:31.323
<00:21:29.103>The <00:21:29.258>next <00:21:29.414>topic <00:21:29.569>that <00:21:29.725>you <00:21:29.880>talked <00:21:30.036>about <00:21:30.191>are <00:21:30.347>the <00:21:30.503>units.

340
00:21:31.397 --> 00:21:36.577
<00:21:31.397>tests <00:21:31.474>we <00:21:31.552>need <00:21:31.630>to <00:21:31.708>run <00:21:31.785>the <00:21:31.863>unit <00:21:31.941>tests <00:21:32.019>in <00:21:32.097>the <00:21:32.174>CIC <00:21:32.252>deep <00:21:32.330>pipeline <00:21:32.408>and <00:21:32.485>if <00:21:32.563>you <00:21:32.641>see <00:21:32.719>a <00:21:32.797>few

341
00:21:36.577 --> 00:21:36.897
tests

342
00:21:36.897 --> 00:21:41.737
<00:21:36.897>fail <00:21:36.979>in <00:21:37.061>the <00:21:37.144>CIC <00:21:37.226>pipeline <00:21:37.308>the <00:21:37.391>build <00:21:37.473>is <00:21:37.555>blocked <00:21:37.638>or <00:21:37.720>the <00:21:37.802>pipeline <00:21:37.885>is <00:21:37.967>blocked <00:21:38.049>and <00:21:38.132>the <00:21:38.214>issue <00:21:38.297>needs

343
00:21:41.737 --> 00:21:46.757
<00:21:41.737>to <00:21:41.892>be <00:21:42.048>fixed <00:21:42.203>before <00:21:42.359>the <00:21:42.514>pipeline <00:21:42.670>continues <00:21:42.825>yeah <00:21:42.981>and <00:21:43.137>last

344
00:21:46.757 --> 00:21:50.217
<00:21:46.757>point <00:21:46.990>is <00:21:47.223>the <00:21:47.457>end <00:21:47.690>-to <00:21:47.923>-end <00:21:48.157>scans

345
00:21:50.217 --> 00:21:55.317
<00:21:50.217>and <00:21:50.310>also <00:21:50.403>need <00:21:50.497>to <00:21:50.590>run <00:21:50.683>in <00:21:50.777>the <00:21:50.870>CIC <00:21:50.963>pipeline <00:21:51.057>and <00:21:51.150>see <00:21:51.243>if <00:21:51.337>there <00:21:51.430>are <00:21:51.523>issues <00:21:51.617>the

346
00:21:55.317 --> 00:21:55.917
<00:21:55.317>pipeline <00:21:55.857>needs

347
00:21:55.917 --> 00:21:59.277
<00:21:55.917>also <00:21:56.024>to <00:21:56.132>stop <00:21:56.240>and <00:21:56.347>the <00:21:56.455>issues <00:21:56.563>need <00:21:56.670>to <00:21:56.778>be <00:21:56.886>fixed <00:21:56.993>before <00:21:57.101>the <00:21:57.209>pipeline <00:21:57.317>continues

348
00:21:59.471 --> 00:22:04.711
<00:21:59.471>and <00:21:59.564>after <00:21:59.657>the <00:21:59.751>end <00:21:59.844>-to <00:21:59.937>-end <00:22:00.031>scans <00:22:00.124>they <00:22:00.217>could <00:22:00.311>also <00:22:00.404>as <00:22:00.497>I <00:22:00.591>mentioned <00:22:00.684>before <00:22:00.777>some <00:22:00.871>enhanced

349
00:22:04.711 --> 00:22:05.351
accessibility

350
00:22:05.351 --> 00:22:12.831
<00:22:05.351>scans <00:22:05.491>I <00:22:05.631>know <00:22:05.771>the <00:22:05.911>accessibility <00:22:06.051>scans <00:22:06.191>AI <00:22:06.331>based <00:22:06.471>accessibility <00:22:06.611>scans <00:22:06.751>okay

351
00:22:12.831 --> 00:22:15.731
<00:22:12.831>yeah <00:22:13.531>that's <00:22:14.231>already

352
00:22:15.731 --> 00:22:20.791
<00:22:15.731>the <00:22:15.824>content <00:22:15.917>of <00:22:16.011>the <00:22:16.104>presentation <00:22:16.197>now <00:22:16.291>let's <00:22:16.384>give <00:22:16.477>me <00:22:16.571>a <00:22:16.664>summary <00:22:16.757>and <00:22:16.851>mention <00:22:16.944>the <00:22:17.037>key <00:22:17.131>learnings

353
00:22:23.151 --> 00:22:27.311
<00:22:23.151>yeah <00:22:23.306>first <00:22:23.462>point <00:22:23.617>we <00:22:23.773>talked <00:22:23.928>about <00:22:24.084>unit <00:22:24.239>tests <00:22:24.395>based <00:22:24.551>accessibility

354
00:22:27.545 --> 00:22:31.685
<00:22:27.545>This <00:22:27.638>would <00:22:27.731>be <00:22:27.825>implemented <00:22:27.918>because <00:22:28.011>they <00:22:28.105>are <00:22:28.198>fast <00:22:28.291>and <00:22:28.385>cost <00:22:28.478>effective <00:22:28.571>and <00:22:28.665>have <00:22:28.758>a <00:22:28.851>good <00:22:28.945>regression

355
00:22:31.685 --> 00:22:32.225
protection.

356
00:22:32.965 --> 00:22:38.145
<00:22:32.965>Second <00:22:33.052>point <00:22:33.139>is <00:22:33.227>we <00:22:33.314>should <00:22:33.402>add <00:22:33.490>end <00:22:33.577>to <00:22:33.665>end <00:22:33.752>scans <00:22:33.840>because <00:22:33.927>they <00:22:34.014>can <00:22:34.102>secure <00:22:34.189>the <00:22:34.277>real <00:22:34.365>workflows

357
00:22:38.145 --> 00:22:40.405
<00:22:38.145>and <00:22:38.611>capture <00:22:39.078>dynamic <00:22:39.545>states.

358
00:22:41.785 --> 00:22:47.465
<00:22:41.785>Next <00:22:41.912>important <00:22:42.039>point <00:22:42.166>is <00:22:42.294>that <00:22:42.421>we <00:22:42.548>have <00:22:42.675>consistent <00:22:42.803>rules <00:22:42.930>and <00:22:43.057>supporting <00:22:43.185>and

359
00:22:47.465 --> 00:22:49.845
<00:22:47.465>that <00:22:47.931>the <00:22:48.398>tests <00:22:48.865>run

360
00:22:49.845 --> 00:22:54.525
<00:22:49.845>in <00:22:49.972>the <00:22:50.099>CIS <00:22:50.226>deep <00:22:50.354>pipeline <00:22:50.481>based <00:22:50.608>on <00:22:50.735>the <00:22:50.863>rules <00:22:50.990>that <00:22:51.117>were <00:22:51.245>defined.

361
00:22:54.525 --> 00:22:55.025
<00:22:54.525>Thank <00:22:54.975>you.

362
00:22:55.619 --> 00:22:57.039
<00:22:55.619>by <00:22:56.044>the <00:22:56.471>project <00:22:56.897>management.

363
00:22:58.459 --> 00:23:00.599
<00:22:58.459>And <00:22:58.659>the <00:22:58.859>last <00:22:59.059>point <00:22:59.259>is <00:22:59.459>that <00:22:59.659>we <00:22:59.859>have

364
00:23:00.599 --> 00:23:02.039
<00:23:00.599>responsible <00:23:01.246>exception <00:23:01.895>management.

365
00:23:02.039 --> 00:23:04.899
<00:23:02.039>That <00:23:02.239>means <00:23:02.439>we <00:23:02.639>create <00:23:02.839>issues <00:23:03.039>for <00:23:03.239>our <00:23:03.439>exceptions.

366
00:23:04.899 --> 00:23:06.379
<00:23:04.899>We <00:23:05.342>add <00:23:05.786>a <00:23:06.231>justification.

367
00:23:07.039 --> 00:23:09.559
<00:23:07.039>We <00:23:07.194>assign <00:23:07.350>an <00:23:07.505>owner <00:23:07.661>and <00:23:07.816>we <00:23:07.972>add <00:23:08.127>an <00:23:08.283>expiration <00:23:08.439>date.

368
00:23:10.719 --> 00:23:12.379
<00:23:10.719>Yeah, <00:23:11.185>and <00:23:11.652>that's <00:23:12.119>it.

369
00:23:12.479 --> 00:23:14.659
<00:23:12.479>Now <00:23:12.759>you <00:23:13.039>can <00:23:13.319>ask <00:23:13.599>your <00:23:13.879>questions.

370
00:23:21.039 --> 00:23:23.619
<00:23:21.039>Amazing <00:23:21.319>presentation <00:23:21.599>about <00:23:21.879>the <00:23:22.158>end-to-end <00:23:22.439>test.

371
00:23:23.692 --> 00:23:27.212
<00:23:23.692>Next <00:23:23.925>thing, <00:23:24.158>crucial <00:23:24.392>for <00:23:24.625>production <00:23:24.858>level <00:23:25.092>deployments.

372
00:23:29.272 --> 00:23:33.912
<00:23:29.272>There <00:23:29.388>is <00:23:29.505>one <00:23:29.621>question, <00:23:29.738>which <00:23:29.855>is, <00:23:29.972>how <00:23:30.088>can <00:23:30.205>screen <00:23:30.322>reader <00:23:30.438>tests <00:23:30.555>be <00:23:30.672>covered?

373
00:23:34.332 --> 00:23:38.352
<00:23:34.332>For <00:23:34.487>example, <00:23:34.643>making <00:23:34.798>sure <00:23:34.954>the <00:23:35.109>screen <00:23:35.265>reader <00:23:35.420>reads <00:23:35.576>it <00:23:35.732>correctly.

374
00:23:39.712 --> 00:23:44.832
<00:23:39.712>With <00:23:39.887>end <00:23:40.062>-to <00:23:40.237>-end <00:23:40.412>unit <00:23:40.587>tests, <00:23:40.762>that <00:23:40.937>is <00:23:41.112>not

375
00:23:44.832 --> 00:23:47.592
<00:23:44.832>possible, <00:23:45.007>but <00:23:45.182>that <00:23:45.357>would <00:23:45.532>be <00:23:45.707>possible <00:23:45.882>if <00:23:46.057>you <00:23:46.232>combine

376
00:23:47.592 --> 00:23:51.292
<00:23:47.592>the <00:23:47.767>end-to-end <00:23:47.942>test <00:23:48.117>with <00:23:48.292>the <00:23:48.467>AI, <00:23:48.642>so <00:23:48.817>AI <00:23:48.992>can...

377
00:23:51.766 --> 00:23:54.486
<00:23:51.766>Yeah, <00:23:52.116>imitate <00:23:52.466>screen <00:23:52.816>reader <00:23:53.166>tests.

378
00:23:56.066 --> 00:23:59.706
<00:23:56.066>Touching <00:23:56.206>on <00:23:56.346>that <00:23:56.486>or <00:23:56.626>kind <00:23:56.766>of <00:23:56.906>based <00:23:57.046>and <00:23:57.186>related <00:23:57.326>to <00:23:57.466>that,

379
00:23:59.886 --> 00:24:02.126
<00:23:59.886>in <00:24:00.352>your <00:24:00.819>testing <00:24:01.286>pipelines,

380
00:24:02.526 --> 00:24:05.866
<00:24:02.526>are <00:24:02.666>you <00:24:02.806>using <00:24:02.946>any <00:24:03.086>AI <00:24:03.226>agents <00:24:03.366>to <00:24:03.506>do <00:24:03.646>their <00:24:03.786>end-to-end <00:24:03.926>tests

381
00:24:05.866 --> 00:24:07.926
<00:24:05.866>or <00:24:06.146>at <00:24:06.426>least <00:24:06.706>the <00:24:06.985>unit <00:24:07.266>tests,

382
00:24:08.046 --> 00:24:09.906
<00:24:08.046>like <00:24:08.326>they <00:24:08.606>write <00:24:08.886>the <00:24:09.166>unit <00:24:09.446>tests

383
00:24:09.906 --> 00:24:12.346
<00:24:09.906>and <00:24:10.081>they <00:24:10.255>also <00:24:10.431>do <00:24:10.606>the <00:24:10.781>tests <00:24:10.956>and <00:24:11.130>report <00:24:11.306>them?

384
00:24:14.246 --> 00:24:15.306
<00:24:14.246>How <00:24:14.484>do <00:24:14.723>you <00:24:14.961>mean <00:24:15.200>that?

385
00:24:15.686 --> 00:24:17.686
<00:24:15.686>Like, <00:24:16.035>are <00:24:16.386>they <00:24:16.735>done <00:24:17.086>by...

386
00:24:18.486 --> 00:24:19.726
<00:24:18.486>Are <00:24:18.858>they <00:24:19.230>done <00:24:19.602>by...

387
00:24:19.840 --> 00:24:22.620
<00:24:19.840>directly <00:24:19.967>by <00:24:20.094>the <00:24:20.221>AI, <00:24:20.349>any <00:24:20.476>of <00:24:20.603>the <00:24:20.730>AI <00:24:20.858>agents <00:24:20.985>doing <00:24:21.112>the <00:24:21.240>testing?

388
00:24:22.620 --> 00:24:24.300
<00:24:22.620>No, <00:24:22.853>the <00:24:23.086>tests <00:24:23.320>are <00:24:23.553>not <00:24:23.786>done <00:24:24.020>manually.

389
00:24:24.380 --> 00:24:29.160
<00:24:24.380>What <00:24:24.462>I <00:24:24.544>mean <00:24:24.627>is, <00:24:24.709>I <00:24:24.791>mean <00:24:24.874>the <00:24:24.956>screen <00:24:25.038>at <00:24:25.121>a <00:24:25.203>test, <00:24:25.285>these <00:24:25.368>tests <00:24:25.450>are <00:24:25.532>done <00:24:25.615>by <00:24:25.697>the <00:24:25.780>AI.

390
00:24:31.820 --> 00:24:33.660
<00:24:31.820>So <00:24:32.100>they <00:24:32.379>have <00:24:32.659>no <00:24:32.939>further <00:24:33.220>questions.

391
00:24:34.040 --> 00:24:35.960
<00:24:34.040>So <00:24:34.320>thank <00:24:34.600>you <00:24:34.879>for <00:24:35.159>the <00:24:35.440>presentation.

392
00:24:36.260 --> 00:24:38.460
<00:24:36.260>Let's <00:24:36.540>thank <00:24:36.820>the <00:24:37.100>speaker <00:24:37.379>again, <00:24:37.660>Jörg.