WEBVTT

00:00:00.017 --> 00:00:04.637
Was macht etwas zu einem Hyperlink? Also ab wann ist ein Hyperlink ein Hyperlink?

00:00:05.137 --> 00:00:06.897
Also technisch oder philosophisch?

00:00:07.877 --> 00:00:10.637
Das heißt, wir brauchen das A-Element. Das ist mal dieser erste Zutat.

00:00:10.757 --> 00:00:14.617
Das Gute am A-Element ist, dass ich dadurch, dass ich ein semantisches Element

00:00:14.617 --> 00:00:17.577
habe, eine Möglichkeit habe in CSS, die alle zu stylen.

00:00:17.637 --> 00:00:19.797
Das heißt, ich kann den A-Selector verwenden zum stylen.

00:00:20.037 --> 00:00:23.397
Und die zweite coole Sache daran ist, dass es mit einer impliziten Link-Rolle

00:00:23.397 --> 00:00:25.417
kommt. Das heißt, mit einer ARIA-Rolle Link.

00:00:25.577 --> 00:00:30.817
Und die wird auf dem Screen wieder angekündigt. Aber eine so ein bisschen grundlegende

00:00:30.817 --> 00:00:34.117
Herangehensweise, die uns ein bisschen fehlt, ist, dass man sich die Frage stellt,

00:00:34.217 --> 00:00:36.897
was mir die einzelnen Elemente in HTML überhaupt bringen.

00:00:39.917 --> 00:00:43.197
Diese Revision von Working Draft wird euch präsentiert von Mitwald,

00:00:43.437 --> 00:00:45.317
Next Level Hosting für eure Projekte.

00:00:45.737 --> 00:00:49.077
Jetzt fragt ihr euch bestimmt, wie kann sowas langweiliges wie Hosting Next

00:00:49.077 --> 00:00:50.877
Level sein? Ganz einfach.

00:00:51.257 --> 00:00:55.117
Mitwalds hochperformantes Managed Hosting ist perfekt abgestimmt auf die Anforderungen

00:00:55.117 --> 00:00:58.677
von Freelancern und Agenturen. Es gibt zum Beispiel ein smartes Rollensystem

00:00:58.677 --> 00:01:00.997
für die Zusammenarbeit mit euren Projektpartnern.

00:01:01.037 --> 00:01:04.817
Und Midwald hat mit dem M-Studio auch eine sehr schöne moderne Verwaltungsoberfläche

00:01:04.817 --> 00:01:06.797
gebaut, mit der das Arbeiten Spaß macht.

00:01:07.137 --> 00:01:12.277
Aber jetzt mal ehrlich, unter uns Nerds, Sachen anklicken in einem User-Interface? Muss das sein?

00:01:12.497 --> 00:01:16.857
Nein, muss es nicht. Denn bei Midwald gibt's auch die M-Studio CLI.

00:01:17.097 --> 00:01:20.317
Mit der könnt ihr euer Hosting komplett über die Kommandozeile verwalten und

00:01:20.317 --> 00:01:22.137
natürlich auch entsprechend automatisieren.

00:01:22.477 --> 00:01:25.937
Von Nerds für Nerds bringt euch Midwald die optimale Developer-Experience,

00:01:25.937 --> 00:01:27.237
wenn es ums Hosting geht.

00:01:27.657 --> 00:01:32.237
Und deshalb jetzt auf zu mitwald.de slash workingdraft.

00:01:32.257 --> 00:01:37.757
Das war nochmal mittwald.de slash workingdraft.

00:01:37.877 --> 00:01:41.517
Wir danken Mitwald für die Unterstützung von dieser Revision von Working Draft.

00:01:46.607 --> 00:01:50.407
Halli, hallo, hallöle und herzlich willkommen zu Working Draft Revisionen 692.

00:01:50.427 --> 00:01:53.767
Heute sind aus dem Team dabei der Shep. Hallo.

00:01:54.507 --> 00:01:57.567
Meine Wenigkeit der Peter und wir haben auch einen Gast an Bord,

00:01:57.667 --> 00:02:00.207
nämlich den Manuel. Hallo Manuel. Hallo.

00:02:01.047 --> 00:02:03.487
Manuel, wie geht es Gritty McGridface?

00:02:09.347 --> 00:02:14.267
Gritty McGridface geht es nicht so gut, weil jemand anderes... Ah, das ist passiert.

00:02:17.607 --> 00:02:24.127
Ja, jemand anderer hat seine Position eingenommen als neue Eigenschaft oder

00:02:24.127 --> 00:02:26.147
als neuer Wert einer Eigenschaft in CSS.

00:02:26.967 --> 00:02:30.507
Genau, du hattest Gritty McGrifface vorgeschlagen für, was war das, Masonry?

00:02:30.907 --> 00:02:35.787
Masonry, genau. Also es gab so eine Umfrage, wie denn Masonry heißen soll in

00:02:35.787 --> 00:02:38.087
Zukunft oder wie der Wert heißen soll dann in CSS.

00:02:38.427 --> 00:02:41.767
Und ich habe ein paar ernsthafte Angaben gemacht und dann auch noch vorgeschlagen,

00:02:41.887 --> 00:02:46.767
dass man es Gritty McGrifface nennen könnte. Aber ja, wurde leider nicht genommen.

00:02:48.307 --> 00:02:51.167
Und wie immer hat keiner auf dich gehört? Ja, leider.

00:02:52.747 --> 00:02:55.987
Es ist ein Jammer, es ist ein Jammer. Weil ich meine, im Prinzip weißt du ja,

00:02:55.987 --> 00:02:56.647
wie man es richtig macht.

00:02:57.107 --> 00:03:00.527
Aber trotzdem scheint das ja so zu sein, dass die meisten, die da draußen irgendwie

00:03:00.527 --> 00:03:04.687
Web-Content fabrizieren, nicht so immer den Best Practices folgen.

00:03:05.007 --> 00:03:11.047
Was so eine Überleitung so ein bisschen darstellt in das Thema, das wir heute haben.

00:03:11.807 --> 00:03:14.407
Du hattest irgendwie was auf Social Media, glaube ich, geschrieben.

00:03:14.507 --> 00:03:17.847
Und dazu drunter geschrieben, ich könnte darüber drei Stunden mich aufregen.

00:03:18.607 --> 00:03:22.127
Und mein Gedanke war, ich könnte mich darüber fünf Minuten noch weiter aufregen.

00:03:22.407 --> 00:03:25.787
Wahrscheinlich auf eine ganz andere Weise. Lass doch mal eine Sendung draus machen.

00:03:26.687 --> 00:03:29.967
Das war ja die Idee. Wie wollen wir es genau beschreiben?

00:03:30.067 --> 00:03:34.787
Also man kann ja verlinken mit so einem A-Element auf ein anderes Dokument,

00:03:34.867 --> 00:03:35.707
wenn man es richtig macht.

00:03:35.987 --> 00:03:39.107
Oder vielleicht auf eine Sprungmarke, wenn man es irgendwie besonders fancy

00:03:39.107 --> 00:03:41.827
machen möchte. Oder man kann auch JavaScript verlinken.

00:03:43.088 --> 00:03:48.788
Kann man auch, genau. Okay, aber ich höre da jetzt aus dieser Verzögerung raus,

00:03:48.888 --> 00:03:50.468
du bist nicht der größte Fan von dem Vorgehen.

00:03:51.428 --> 00:03:54.308
Ich bin nicht der größte Fan von dem Vorgehen. Wir sollten mal vielleicht auch

00:03:54.308 --> 00:03:58.808
dazu sagen, welches Pattern speziell ich da gesehen habe, das mir nicht gefallen hat.

00:03:59.968 --> 00:04:04.028
Und zwar, wie du richtig sagst, man kann das A-Element verwenden,

00:04:04.268 --> 00:04:07.668
um irgendwo hinzulinken, zu einer Seite oder wo auch immer.

00:04:07.848 --> 00:04:11.388
Darüber kann man dann auch noch sprechen, was denn das A-Element macht und was man damit machen kann.

00:04:13.088 --> 00:04:17.888
Oder man kann auch in dem Wert des href-Attributs keine Seite angeben oder eine

00:04:17.888 --> 00:04:20.808
Sprungmarke oder ähnliches, sondern einfach JavaScript Void.

00:04:21.068 --> 00:04:24.248
Also JavaScript Doppelpunkt Void unter den Klammern 0 oder auch nicht.

00:04:24.808 --> 00:04:27.228
Das wirst du mir dann vielleicht erklären, was das macht oder was es nicht macht.

00:04:28.148 --> 00:04:31.468
Und das ist etwas, das ich sehr oft sehe. Aber es ist gar nicht so das Problem,

00:04:31.688 --> 00:04:37.708
dass dieses JavaScript Void, also für mich persönlich jetzt aus der Accessibility-Tester-Sicht,

00:04:38.068 --> 00:04:40.168
sondern viel eher das, wofür es steht.

00:04:41.648 --> 00:04:45.008
Nämlich, dass das Element einfach falsch verwendet wird und dass eigentlich

00:04:45.008 --> 00:04:46.748
ein anderes Element verwendet werden sollte.

00:04:47.548 --> 00:04:50.248
Und ich glaube, dass du vielleicht eine andere Sicht darauf hast,

00:04:50.308 --> 00:04:52.268
wie du es sagst, eine andere Meinung zu dem Ding.

00:04:52.788 --> 00:04:57.068
Aber ich würde das eben gerne aus einer Accessibility-Sicht betrachten und das

00:04:57.068 --> 00:04:59.828
Thema auch ein bisschen größer machen, ein bisschen aufmachen und jetzt nicht

00:04:59.828 --> 00:05:02.628
konkret über dieses JavaScript-Void sprechen.

00:05:02.888 --> 00:05:06.128
Magst du mir vielleicht mal nur ganz kurz erklären, was JavaScript-Void ist?

00:05:06.188 --> 00:05:07.368
Weil ich weiß es tatsächlich gar nicht.

00:05:07.468 --> 00:05:11.308
Ich weiß nur, dass es halt einfach da ist, damit dieser Link immer noch ein

00:05:11.308 --> 00:05:17.288
Link ist, aber nichts macht oder nicht das Default-Verhalten ausführt.

00:05:17.368 --> 00:05:18.928
Aber was macht JavaScript Void an sich?

00:05:20.717 --> 00:05:26.037
Nix? Also es ist buchstäblich nix. Das Ding ist das folgende.

00:05:26.277 --> 00:05:30.037
Also erstmal, JavaScript-URL ist quasi, du machst da ein Eval rein.

00:05:30.157 --> 00:05:32.917
Also nimm diesen String und füllen als JavaScript aus. Was natürlich aus der

00:05:32.917 --> 00:05:35.597
Sicherheitsperspektive Chefs Kiss natürlich ist.

00:05:36.057 --> 00:05:39.097
Schon mal ganz grundsätzlich. Und dann gibt es da drin den Void-Operator.

00:05:39.857 --> 00:05:43.557
Was der macht, ist, den wendst du halt auf einen Wert an, der da auf der rechten

00:05:43.557 --> 00:05:45.277
Seite steht. Das wäre jetzt hier in dem Fall 0.

00:05:45.957 --> 00:05:50.037
Und dann nimmt er diesen Wert auf der rechten Seite, macht damit nix und gibt und define zurück.

00:05:52.117 --> 00:05:57.657
Äh, das ist ja eine richtig coole JavaScript-Funktion. Ja. Wofür?

00:05:59.037 --> 00:06:02.757
Ähm, hey, äh, Luke ist ja der Experte, was dieses Pattern angeht.

00:06:03.017 --> 00:06:06.697
Ich denke nur, okay, die schreiben da halt eben eine ganze Menge an Tokens rein, damit nichts passiert.

00:06:07.457 --> 00:06:10.977
Jetzt verstehe ich das so richtig, weil ich frage mich halt eben bei der Motivation

00:06:10.977 --> 00:06:14.057
auch so, okay, das ist jetzt wirklich irgendwie so der längstmögliche JavaScript-Code,

00:06:14.097 --> 00:06:18.277
den ich mir zusammenreimen kann, der wirklich nichts macht und nicht offensichtliche Obfuskation ist.

00:06:19.517 --> 00:06:22.657
Aber die hat ja keine Existenzberechtigung. Ich meine, man könnte die noch kürzer

00:06:22.657 --> 00:06:27.397
machen, weil Void ist keine Funktion. Shep, du hast das gerade Funktion genannt.

00:06:28.237 --> 00:06:30.837
Es sieht, wenn du so schreibst, Void, Runde, Klammer auf, Null,

00:06:30.997 --> 00:06:32.637
Runde, Klammer zu, aus wie ein Function Call.

00:06:32.997 --> 00:06:36.237
Ist aber keiner, weil es ein Operator. Das ist wie Plus. Das wendst du halt

00:06:36.237 --> 00:06:38.917
einfach auf den Wert an, da brauchst du keine Klammern für. Aber du kannst die

00:06:38.917 --> 00:06:40.557
Klammern dahin machen, dann passiert halt nichts.

00:06:40.897 --> 00:06:42.777
Ist halt wie, wenn du einen mathematischen Ausdruck klammerst,

00:06:43.077 --> 00:06:44.917
um die Ausführungsreihenfolge hinzumachen.

00:06:45.297 --> 00:06:48.397
Das heißt, du könntest es sogar noch kürzer haben, indem du einfach Void-Leerschlag-Null

00:06:48.397 --> 00:06:49.977
machst, sparst du dir ein Zeichen.

00:06:53.850 --> 00:06:58.270
Also es ist nicht nur irgendwie ein sehr seltsames Pattern, um ein Ziel zu erreichen,

00:06:58.370 --> 00:07:01.270
das fragwürdig ist, sondern ich hätte sogar an dem Pattern selber,

00:07:01.410 --> 00:07:06.090
wenn man es als akzeptabel hinnehmen würde, noch Verbesserungsvorschläge anzubringen.

00:07:07.370 --> 00:07:10.390
Okay, man kann die Bad Practice optimieren, finde ich gut.

00:07:10.770 --> 00:07:13.770
So sieht es mal aus. Dann versuche mal deine Frage zu beantworten,

00:07:13.870 --> 00:07:16.310
warum es das überhaupt gibt, warum es überhaupt verwendet wird.

00:07:16.390 --> 00:07:18.230
Und wie gesagt, ich würde da jetzt eher ein bisschen weiter ausholen.

00:07:18.230 --> 00:07:20.970
Und gehen wir es mal Stück für Stück durch.

00:07:21.130 --> 00:07:25.190
Ich frage jetzt euch beide, was macht etwas zu einem Hyperlink?

00:07:25.430 --> 00:07:27.930
Also ab wann ist ein Hyperlink ein Hyperlink?

00:07:28.310 --> 00:07:30.170
Also technisch oder philosophisch?

00:07:30.830 --> 00:07:32.330
Ich wollte gerade sagen, soll ich jetzt

00:07:32.330 --> 00:07:35.550
irgendwie die Xanadu-Dokumentation konsultieren oder das gelebte Web?

00:07:36.770 --> 00:07:42.410
Sehen wir es mal aus HTML-Sicht. Welche Bestandteile muss es geben,

00:07:42.530 --> 00:07:45.550
damit etwas ein valider und barrierefreier Link ist?

00:07:46.290 --> 00:07:50.150
So im Markup. Also dann brauchst du halt das passende Element dafür und dann

00:07:50.150 --> 00:07:54.450
brauchst du halt eine Referenz auf das entsprechende Ziel, dass da halt eben

00:07:54.450 --> 00:07:58.930
dann sowas sein kann, wie eine Sprungmarke im Dokument oder ein anderes Dokument

00:07:58.930 --> 00:08:00.110
plus minus Sprungmarke.

00:08:00.350 --> 00:08:02.450
Okay, wir haben ein bisschen konkreter. Welches Element?

00:08:04.226 --> 00:08:08.806
Also, hast das A-Element, hast das Link-Element, ist ja, glaube ich,

00:08:08.886 --> 00:08:11.246
auch sozusagen, also der Name ja schon sagt, ein solcher Link.

00:08:11.746 --> 00:08:14.206
Und dann hast du wahrscheinlich noch irgendwo andere Grenzfälle,

00:08:14.286 --> 00:08:17.706
die man auch als sowas missverstehen kann, aber Punkt.

00:08:18.246 --> 00:08:21.386
Das war, glaube ich, was ich sagen wollte. Dann lassen wir mal Link aus,

00:08:21.466 --> 00:08:22.566
weil Link macht ja doch ein bisschen was anderes.

00:08:22.686 --> 00:08:25.186
Also, wie ein Hyperlink, ein klassischer Hyperlink, den man klicken kann,

00:08:25.386 --> 00:08:30.386
so wie es Tim Berners-Lee damals sich vorgestellt hat und umgesetzt hat.

00:08:30.766 --> 00:08:33.226
Das heißt, wir brauchen das A-Element, das ist mal dieser erste Zutat.

00:08:33.226 --> 00:08:35.786
Dann sagst du, man braucht eine Referenz, aber diese Referenz könnte ich ja

00:08:35.786 --> 00:08:38.726
theoretisch auch erstellen, wenn ich das A-Element habe und OnClick drauflege.

00:08:39.426 --> 00:08:42.526
Oder? Weil ich könnte sagen A und dann OnClick und dort könnte ich dann sagen,

00:08:43.046 --> 00:08:45.986
bei OnClick bitte Location, Ahrefs, wo auch immer hin.

00:08:47.226 --> 00:08:51.126
Aber da du das Ganze vorhin ja oft auf den Wirkungsbereich von HTML-Constraint

00:08:51.126 --> 00:08:54.266
hast, würde ich OnClick mal als JavaScript-Feature außen vor lassen wollen.

00:08:55.366 --> 00:08:58.166
Okay, gut. Genau, aber du willst wahrscheinlich darauf hinaus,

00:08:58.386 --> 00:09:03.566
dass der Link sozusagen Funktionalität, also seine ureigene Link-Funktionalität

00:09:03.566 --> 00:09:09.186
gar nicht in den Tag legen kann, wenn nicht das HREF-Attribut vorhanden ist. Absolut, genau.

00:09:09.726 --> 00:09:12.266
Das heißt, wir haben das A-Element, wir haben das HREF-Attribut,

00:09:12.346 --> 00:09:14.806
wo ich eben diese Referenz angehe. Und was ist die dritte Sache,

00:09:14.946 --> 00:09:16.626
die ich brauche, damit das Ding auch barrierefrei ist?

00:09:18.890 --> 00:09:22.690
Da muss Text drin stehen, damit du ja weißt, worauf du folgen kannst. Genau, Text.

00:09:24.150 --> 00:09:28.530
Der Text, der, also ganz kurz, vielleicht zur Erklärung, warum ich da jetzt so aushol.

00:09:28.890 --> 00:09:32.530
Also habe ich vergessen zu sagen nämlich, diese Sachen, diesem JavaScript Void

00:09:32.530 --> 00:09:35.790
und auch ähnliche Kollegen und Kolleginnen von JavaScript Void,

00:09:36.230 --> 00:09:37.970
die sehe ich in fast jedem Audit, das ich mache.

00:09:38.110 --> 00:09:41.910
Also Teil von meinem Job ist es, dass ich Webseiten auf Barrierefreiheit überprüfe.

00:09:42.150 --> 00:09:45.090
Und das ist einfach sehr, sehr häufig. Es ist ein sehr, sehr,

00:09:45.110 --> 00:09:46.950
ein sehr häufiger Fehler, der da gemacht wird.

00:09:48.270 --> 00:09:52.370
Deswegen, glaube ich, kann es nicht schaden, ein bisschen Grundlagen sich anzuschauen,

00:09:52.410 --> 00:09:55.770
weil ich weiß, dass die HörerInnen von diesem Podcast grundsätzlich sehr ausgecheckt

00:09:55.770 --> 00:09:59.430
sind, aber es ist einfach so, es kommt so häufig vor, dass es,

00:09:59.450 --> 00:10:01.230
glaube ich, nicht so schlecht ist, wenn wir ein bisschen drüber reden.

00:10:02.110 --> 00:10:04.090
Also, reden wir mal über die erste Sache.

00:10:05.390 --> 00:10:10.410
Das A-Element, das Gute am A-Element ist, dass ich dadurch, dass ich ein semantisches

00:10:10.410 --> 00:10:13.630
Element habe, eine Möglichkeit habe in CSS, die alle zu stylen.

00:10:13.690 --> 00:10:16.930
Das heißt, ich kann den A-Selektor verwenden zum stylen Und die zweite coole

00:10:16.930 --> 00:10:19.670
Sache daran ist, dass es mit einer impliziten Link-Rolle kommt,

00:10:19.770 --> 00:10:21.450
das heißt mit einer ARIA-Rolle Link

00:10:21.450 --> 00:10:25.390
und die wird auf dem Screen wieder angekündigt. Das ist eine gute Sache.

00:10:26.190 --> 00:10:30.130
Oder vielleicht auch eine schlechte Sache, wenn man es nicht richtig verwendet.

00:10:30.910 --> 00:10:33.650
Das ist mal die erste Sache, warum wir das A-Element brauchen.

00:10:34.370 --> 00:10:36.150
Das zweite ist dieses href-Attribut.

00:10:36.750 --> 00:10:41.570
Du Schlepperts schon gesagt oder angedeutet, das macht einen Link erst zum richtigen Link.

00:10:41.850 --> 00:10:46.490
Weil mit diesem href-Attribut bekomme ich den Link-State, den Visited,

00:10:46.630 --> 00:10:51.010
Active, Focus, Focus-Visible und Hover-State.

00:10:51.610 --> 00:10:54.290
Zumindest die mal, mit denen ich dann auch in CSS arbeiten kann.

00:10:54.850 --> 00:11:00.790
Das hat bestimmt damit zu tun, dass das ja, früher hat man die auch als Anker-Ziel

00:11:00.790 --> 00:11:07.050
benutzt. Also indem man, glaube ich, ein A-Element mit Name irgendwo reingesteckt hat.

00:11:07.610 --> 00:11:11.450
Also deswegen macht der Browser das wahrscheinlich, upgradet er das erst dann

00:11:11.450 --> 00:11:17.970
zu einem Role-Type-Link, wenn das HF-Attribut da ist, weil ansonsten ist es ja nur die Sprungmarke.

00:11:20.754 --> 00:11:23.694
Würde ich jetzt denken, aber ich weiß es nicht. Genau, dieses HREF-Adribut macht

00:11:23.694 --> 00:11:25.434
es in Wahrheit zu einem interaktiven Element,

00:11:25.674 --> 00:11:28.774
weil wenn ich jetzt ein A-Element habe ohne dem HREF, dann ist es auch nicht

00:11:28.774 --> 00:11:32.574
fokussierbar, weil es dann kein interaktives Element ist, weil es traditionell,

00:11:32.594 --> 00:11:35.514
hast du recht, so eine Sprungmarke ist, beziehungsweise ich glaube,

00:11:35.554 --> 00:11:37.274
wenn man jetzt in die Spezifikation reinschauen würde,

00:11:37.754 --> 00:11:39.914
dann würde dort stehen, dass es ein Platzhalter ist.

00:11:40.274 --> 00:11:43.734
Also wenn ein A-Element kein HREF hat, dann ist es einfach ein Platzhalter für

00:11:43.734 --> 00:11:46.074
etwas, wo ein Link sein könnte.

00:11:46.754 --> 00:11:52.854
Also ein Beispiel dafür wäre, ich bin auf einer Webseite Da gibt es einen Mitgliederbereich

00:11:52.854 --> 00:11:56.914
und da gibt es einen Link, der heißt Profil.

00:11:56.954 --> 00:12:05.354
Du klickst drauf und du bist nicht eingeloggt und dann ist dieses Profil nicht

00:12:05.354 --> 00:12:09.134
verlinkt, sondern einfach nur ein A-Element ohne href, weil du nicht eingeloggt bist.

00:12:09.194 --> 00:12:11.514
Und erst wenn du eingeloggt bist, dann ist das href-Attribut drauf und dann

00:12:11.514 --> 00:12:12.254
kannst du draufklicken.

00:12:12.774 --> 00:12:16.834
Also das wäre sozusagen auch so eine Idee. das Ding ist, dass manche Screenwider

00:12:16.834 --> 00:12:20.734
das Ding trotzdem als clickable ankündigen, obwohl da kein hardware der Boot

00:12:20.734 --> 00:12:23.974
ist und obwohl sonst auch kein JavaScript Event drauf ist.

00:12:24.054 --> 00:12:27.394
Also ich würde das grundsätzlich eher vermeiden, das das Platzhalter zu verwenden.

00:12:28.514 --> 00:12:33.074
Aber okay, dieses hardf macht es dann interaktiv zu einem richtigen Link.

00:12:34.614 --> 00:12:37.774
Und die dritte Sache, accessible name, also sozusagen der Text,

00:12:37.974 --> 00:12:39.874
den kann man auf unterschiedliche Arten und Weisen angeben.

00:12:40.014 --> 00:12:44.294
Man kann entweder Text einfügen, man kann Text einfügen und mit CSS verschwinden

00:12:44.294 --> 00:12:47.494
lassen oder man kann auch ARIA Label verwenden oder ARIA Label bei.

00:12:48.954 --> 00:12:51.934
Grundsätzlich bin ich ein großer Fan davon, Sachen zu zeigen und Text einfach

00:12:51.934 --> 00:12:54.734
wirklich auszuschreiben und auch für ARIA User bedienen zu machen.

00:12:54.754 --> 00:12:55.914
Das ist sozusagen die beste Variante.

00:12:58.734 --> 00:13:01.714
Okay, gut. Jetzt wissen wir mal sozusagen die Anatomie von so einem Link,

00:13:01.774 --> 00:13:04.434
was wir brauchen, dass wir einen richtigen Hyperlink erstellen.

00:13:04.634 --> 00:13:06.754
Und dann ist die Frage, was macht ein Link?

00:13:08.691 --> 00:13:13.551
Ihr habt es schon gesagt, zu Sprungmarken. Ich kann ihn zu einer anderen Seite verlinken. Was noch?

00:13:15.251 --> 00:13:18.731
Ich meine, der macht ja den Hypertext eigentlich erst zum Hypertext.

00:13:18.851 --> 00:13:24.691
Ich meine, wenn du nicht den ganzen Verbindungskram hast, ist das ganze Jahr nur ein spicy PDF quasi.

00:13:28.371 --> 00:13:32.991
Ja, genau. Also zusammenfassend kann man sagen, den Link verwende ich dann,

00:13:33.071 --> 00:13:36.051
wenn ich irgendwo hinlenken möchte, zu einer anderen Stelle.

00:13:36.051 --> 00:13:40.731
Zu einer anderen Stelle innerhalb der Seite, innerhalb der Website oder innerhalb

00:13:40.731 --> 00:13:43.711
des Betriebssystems, kann man auch sagen.

00:13:43.951 --> 00:13:47.511
Weil er kann zu einer Sprungmarke linken, er kann zu einem Dokument linken,

00:13:47.591 --> 00:13:52.091
zu einer externen Seite oder auch die Mail-Applikation aufmachen.

00:13:52.451 --> 00:13:54.631
Oder auch, ich glaube, innerhalb des Browsers geht das auch,

00:13:54.711 --> 00:13:57.411
wenn ich keine Mail-App habe, dass er dann irgendwie automatisch Gmail öffnet.

00:13:57.571 --> 00:13:58.411
Ich denke schon, dass es geht.

00:13:59.431 --> 00:14:02.711
Register-Protokoll-Händler, wenn du da dein eigenes Protokoll dran registrieren

00:14:02.711 --> 00:14:06.991
willst, dass Klick auf irgendwas Doppelpunkt dich auf eine bestimmte Web-App führt.

00:14:07.171 --> 00:14:11.211
Das ist sozusagen der Gmail-Mechanismus als Webstandard generalisiert.

00:14:13.431 --> 00:14:19.091
Genau. Dann zum Beispiel die Phone-App, also die Telefon-App in meinem Smartphone,

00:14:19.151 --> 00:14:21.691
wenn ich Tel verwende, das heißt, wenn ich da draufklicke, bringt er mich auch irgendwo hin.

00:14:21.731 --> 00:14:24.991
Das heißt, den Link verwende ich immer dann, wenn er mich irgendwo anders hinführt.

00:14:26.642 --> 00:14:30.062
So merkt man sich am einfachsten, wenn man einen Link verwendet. Ja.

00:14:32.322 --> 00:14:36.142
Gut, jetzt wissen wir, was der Link macht. Und die nächste Sache ist,

00:14:36.222 --> 00:14:37.562
wie interagiert man mit so einem Link?

00:14:37.682 --> 00:14:43.422
Oder was bringt mir der Link alles im Sinne von der User Experience oder in der Interaktion?

00:14:43.522 --> 00:14:45.842
Ich kann ihn klicken, dann bringt er mich dort eben hin.

00:14:46.122 --> 00:14:49.022
Ich kann rechts klicken, da kann ich ein paar Sachen machen,

00:14:49.122 --> 00:14:51.802
wie zum Beispiel einen neuen Tab öffnen oder den Link kopieren.

00:14:52.902 --> 00:14:56.082
Ich glaube, Mittelklick gibt es auch. Ich verwende seit 15 Jahren keine Maus

00:14:56.082 --> 00:15:00.022
mehr, Aber wisst ihr das? Ich glaube, Mittelklick macht auch irgendwas Cooles. Ich glaube.

00:15:02.362 --> 00:15:06.862
Mittelklick ist das Gleiche, meine ich. Ich habe auch keine Maus,

00:15:06.962 --> 00:15:09.722
aber ich unterliebe mich letztens auf dem.

00:15:10.062 --> 00:15:14.002
Und der meinte das. Ich musste gerade tatsächlich überlegen und ausprobieren, was es macht.

00:15:14.042 --> 00:15:17.782
Aber macht jetzt bei mir zumindest in meiner Konfiguration neuen Tab auf,

00:15:18.042 --> 00:15:20.962
statt im gleichen Fenster öffnen. Ah ja, okay, cool.

00:15:22.142 --> 00:15:24.682
Einen Link kann ich fokussieren, das ist sehr angenehm. Also darauf,

00:15:24.742 --> 00:15:27.662
wenn er so ein HDF-Attribut eben hat, kann ich ihn fokussieren.

00:15:28.222 --> 00:15:32.122
Mit dem virtuellen Cursor im Screenreader kann ich ihn auch erreichen und er

00:15:32.122 --> 00:15:34.762
sagt mir dann Link und liest auch den Text vor.

00:15:34.882 --> 00:15:37.422
Das heißt, da wird diese Rolle vorgelesen, der Text wird vorgelesen.

00:15:38.982 --> 00:15:43.342
Wenn ich mit dem Keyboard arbeite, kann ich ihn aktivieren bei Enter,

00:15:43.602 --> 00:15:46.302
also wenn ich Enter drücke, aber nicht, wenn ich Space drücke,

00:15:46.342 --> 00:15:48.022
oder wenn ich Space drücke, dann scrollt die Seite.

00:15:48.982 --> 00:15:51.142
Wenn ich mit einem Screenreader arbeite, gibt es auch Shortcuts,

00:15:51.242 --> 00:15:53.742
also ich kann gewisse Shortcuts in meinem Screenreader drücken,

00:15:53.942 --> 00:15:58.182
um dann von Link zu Link zu springen beispielsweise, oder ich kann mir auch

00:15:58.182 --> 00:15:59.622
Links auflisten lassen,

00:16:00.082 --> 00:16:02.782
also ich kann in Voice-Over gibt es im Roadtour zum Beispiel,

00:16:02.922 --> 00:16:06.122
da kann ich sagen, bitte liste mir alle Links auf und dann springe ich direkt zu einem Link.

00:16:07.822 --> 00:16:10.702
In Mobilienscreen-Midern gibt es Gesten, da kann ich zum Beispiel sagen,

00:16:11.002 --> 00:16:16.162
bei Swipe Up und Down soll er von Link zu Link navigieren, das ist auch etwas, was ich machen kann,

00:16:16.662 --> 00:16:19.942
oder es gibt auch Kommandos über Sprachsteuerung, wo ich sagen kann,

00:16:20.062 --> 00:16:23.042
bitte markiere alle Links oder klicke Links so und so.

00:16:24.730 --> 00:16:27.870
Okay, jetzt fragt ihr euch, was soll jetzt diese Lehrstunde,

00:16:27.930 --> 00:16:30.830
warum erzählst du uns das alles, wir wissen das ja eh oder zum großen Teil,

00:16:31.450 --> 00:16:35.210
weil JavaScript Void oder diese Nutzung von diesem JavaScript Void oder von

00:16:35.210 --> 00:16:36.850
diesem Void-Operator, wie ich

00:16:36.850 --> 00:16:40.670
jetzt heute gelernt habe, macht irgendwas kaputt oder macht was kaputt.

00:16:41.676 --> 00:16:45.116
Der Link hat immer noch einen Accessible Name, das heißt, es bedient halt die

00:16:45.116 --> 00:16:47.056
Erwartungshaltung nicht, die du möglicherweise hast.

00:16:47.856 --> 00:16:52.376
Inwiefern? Was sind so Dinge, die dir einfallen würden? Oder warum reden wir

00:16:52.376 --> 00:16:55.176
überhaupt? Warum bin ich überhaupt da? Was macht mich so fertig daran?

00:16:55.996 --> 00:17:01.976
Ja, also ich meine, du hast natürlich schon auch deine Accessibility-Perspektive auf die Dinge.

00:17:02.316 --> 00:17:07.916
Also ich sage mal, Sehende können ja durch entsprechende Gestaltung dieses Elements

00:17:07.916 --> 00:17:11.516
auch davon überzeugt werden, dass das möglicherweise gar kein Link sein soll.

00:17:11.676 --> 00:17:15.856
Weil das eben nicht einfach ein Text ist, der unterstrichen ist und dann noch

00:17:15.856 --> 00:17:22.176
blau oder was, sondern das ist halt so eine eckige Box und sieht damit einen

00:17:22.176 --> 00:17:26.596
Button ähnlich und dann merken wir das möglicherweise nicht.

00:17:26.816 --> 00:17:30.236
Wir merken es vielleicht in dem Moment, wo wir Rechtsklick in neuen Fenster

00:17:30.236 --> 00:17:31.636
öffnen wollen oder so Sachen machen.

00:17:32.036 --> 00:17:36.336
Ich hatte das zum Beispiel hier bei GitLab, bei der vorherigen Version.

00:17:36.536 --> 00:17:39.976
Jetzt haben die ja wieder eine neue Version rausgebracht. Da geht es wieder,

00:17:40.096 --> 00:17:45.416
aber da kann man dann keine Tickets aus dem Übersichtsbord in einen neuen Tab öffnen.

00:17:46.576 --> 00:17:52.496
Da fällt es dann auf. Aber wenn du natürlich aus der assistiven Technologiesicht

00:17:52.496 --> 00:17:58.236
drauf schaust, dann wird dir eben ein Link versprochen.

00:17:59.116 --> 00:18:05.156
Dann gehst du drauf, drückst Enter und nichts passiert.

00:18:05.156 --> 00:18:08.876
Oder es passiert irgendwas, aber wahrscheinlich nimmst du es auch nicht mal

00:18:08.876 --> 00:18:14.276
als wahr, weil auch da wahrscheinlich das Ganze nicht so ausgezeichnet ist,

00:18:14.336 --> 00:18:18.256
dass du es als assistiver Technologie-Benutzer oder Benutzerin mitbekommst.

00:18:18.296 --> 00:18:19.936
Naja, und bei den Sehenden doch aus.

00:18:20.036 --> 00:18:23.856
Ich habe es dazu noch nie ausprobiert, aber wenn ich jetzt mit Mitteltaste,

00:18:23.896 --> 00:18:26.036
ich brauche jetzt mal irgendeine Art von Formular irgendwo, warte mal,

00:18:26.736 --> 00:18:30.256
Google-Suche, weil wenn ich jetzt einen Link habe und ich drücke da mit meiner

00:18:30.256 --> 00:18:33.296
mittleren Maustaste drauf, wie ich ja gerade gelernt habe, mache ich ja das

00:18:33.296 --> 00:18:34.376
Ding in einem neuen Tab auf.

00:18:34.936 --> 00:18:38.276
Das ist ja wahrscheinlich bei einem normalen zum Beispiel Formularsubmit nicht der Fall.

00:18:39.176 --> 00:18:41.056
Oder? Submit dich dann das Formular in einem neuen Fenster?

00:18:43.152 --> 00:18:46.112
Keine Ahnung. Das musst du natürlich ausprobieren. Das muss ich jetzt gleich

00:18:46.112 --> 00:18:48.472
ausprobieren. Ich war gerade dabei, was anderes auszuprobieren,

00:18:48.512 --> 00:18:50.692
aber das probiere ich gleich auch noch aus. Ich höre euch auch zu.

00:18:51.092 --> 00:18:55.152
Aber der Punkt ist tatsächlich der, dass da ja tatsächlich doch in diesem Aktivierungsverhalten

00:18:55.152 --> 00:18:58.132
von ich drücke da jetzt drauf auf die ein oder andere Weise,

00:18:58.292 --> 00:19:00.972
sehend oder nicht, mit der Maus oder ohne, da ist ja ein Verhalten dran.

00:19:01.532 --> 00:19:05.372
Und da gibt es ja sicherlich zwischen dem Standard-Link-Verhalten und dem Standard

00:19:05.372 --> 00:19:08.752
irgendeine Art anderes Widget-Verhalten auch irgendwelche Unterschiede,

00:19:08.832 --> 00:19:10.792
die im Zweifelsfall ja wahrnehmbar sind.

00:19:10.952 --> 00:19:13.912
So wie zum Beispiel, ich kann plötzlich ein Formular in einem neuen Fenster-Submitten,

00:19:14.012 --> 00:19:15.892
was ich vielleicht vorher nicht konnte.

00:19:16.112 --> 00:19:18.532
Wäre jetzt meine Theorie, ich probiere es eben aus, aber das war jetzt nur so

00:19:18.532 --> 00:19:22.732
mein Statement, dass nur weil es halt irgendwie in den offensichtlichen Use-Cases

00:19:22.732 --> 00:19:26.572
für die Sehenden untereinander anzugleichen ist, dass trotzdem nicht notwendigerweise

00:19:26.572 --> 00:19:29.032
das exakt gleiche Verhalten ist und das kann dann schon irgendwie so ein bisschen

00:19:29.032 --> 00:19:30.232
einen Realitätsriss machen.

00:19:31.292 --> 00:19:35.732
Voll. Also ihr habt beide recht, finde ich, weil einerseits ist es so,

00:19:35.812 --> 00:19:41.652
dass ich als sehender Touch-User oder Click-User, merke ich es nicht so oft.

00:19:41.752 --> 00:19:44.332
Also ich klicke drauf und es macht halt JavaScript und da merke ich nicht so

00:19:44.332 --> 00:19:48.072
den riesen Unterschied, ob es jetzt ein Button ist oder ein falsch verwendeter

00:19:48.072 --> 00:19:49.252
Link. Das merke ich nicht so oft.

00:19:49.552 --> 00:19:52.512
Wann ich es merken würde, wäre zum Beispiel, wenn ich das, wenn ich einen Rechtsklick

00:19:52.512 --> 00:19:54.132
mache und das Kontextmenü öffnet sich.

00:19:54.632 --> 00:19:57.832
Weil in Chrome beispielsweise sagt dann immer noch, dass der den Link in einem

00:19:57.832 --> 00:20:00.992
neuen Tab öffnen kann, obwohl es eigentlich kein Link ist, weil meistens wird

00:20:00.992 --> 00:20:02.132
das Ding ja als Button verwendet.

00:20:02.392 --> 00:20:04.692
Und das macht dann keinen Sinn. Und ich glaube, der macht einfach gar nichts

00:20:04.692 --> 00:20:08.752
oder macht dann so ein Blank-Fenster auf. Also ein leeres Tab.

00:20:09.552 --> 00:20:14.192
Bei Firefox ist es so, dass bei Rechtsklick zeigt er mir ein anderes Kontextmenü an.

00:20:14.432 --> 00:20:16.532
Also er sagt zwar nicht, dass ich das in einem neuen Tab öffnen kann,

00:20:16.712 --> 00:20:19.672
was gut ist, würde ich sagen, weil es ja eigentlich kein richtiger Link ist.

00:20:20.592 --> 00:20:25.232
Aber er sagt zum Beispiel, ich kann den Link kopieren oder das Bookmark kopieren

00:20:25.232 --> 00:20:26.832
oder den Bookmarken, den Link.

00:20:27.552 --> 00:20:29.932
Und in Safari kann ich auch den Link kopieren.

00:20:30.892 --> 00:20:33.752
Das heißt, da haben wir schon mal, wie du gesagt hast, es gibt so einen Bruch

00:20:33.752 --> 00:20:35.672
mit den Erwartungen der UserInnen.

00:20:36.212 --> 00:20:38.592
Und wirklich evident ist es dann, wenn ich streamere. Ja, Mitteltastentheorie

00:20:38.592 --> 00:20:40.472
habe ich gerade verifiziert.

00:20:41.392 --> 00:20:44.552
Mitteltastentheorie stimmt tatsächlich auch. Also da wird auch ein Link in einem

00:20:44.552 --> 00:20:46.492
neuen Fenster aufgehen und ein normaler Button wird es nicht machen,

00:20:46.552 --> 00:20:47.272
weil macht ja keinen Sinn.

00:20:48.725 --> 00:20:52.185
Genau. Und wirklich offensichtlich wird es dann, wenn ich eben mit dem Screenreader

00:20:52.185 --> 00:20:53.225
arbeite oder mit dem Keyboard.

00:20:53.705 --> 00:20:58.705
Weil dem Screenreader-User kündigt das Screenreader an, das ist ein Link.

00:20:59.625 --> 00:21:02.305
Und die Erwartung ist, okay, der Link bringt mich jetzt irgendwo hin.

00:21:02.685 --> 00:21:03.665
Tatsächlich tut er das aber nicht.

00:21:03.785 --> 00:21:06.645
Das heißt, ich komme da jetzt hin und normalerweise wird eben JavaScript ausgeführt.

00:21:06.725 --> 00:21:08.885
Das heißt, es passiert irgendwas, ich erwarte, ich werde irgendwo hingeführt,

00:21:09.045 --> 00:21:09.905
ist aber nicht passiert.

00:21:11.385 --> 00:21:15.045
Dann ist es außerdem so, wie ich vorher schon gesagt habe, Links werden aufgelistet

00:21:15.045 --> 00:21:18.365
oder können aufgelistet werden, wie zum Beispiel in diesem Rotor in VoiceOver

00:21:18.365 --> 00:21:22.665
und so ein Link würde auch aufgelistet werden, das heißt, der ist da drinnen,

00:21:22.905 --> 00:21:26.065
ich kann mir diese Links anzeigen lassen und direkt zu dem Link springen und

00:21:26.065 --> 00:21:28.565
habe dann wieder die Erwartung, ich kann dann irgendwas mit dem Link machen,

00:21:28.625 --> 00:21:29.465
der führt mich irgendwo hin,

00:21:29.825 --> 00:21:32.585
tatsächlich ist es aber kein Link, sondern ein Button oder sonst irgendwas,

00:21:32.905 --> 00:21:36.545
nur ich sehe es halt normalerweise nicht, so die meisten Streamler nutzen sie mir.

00:21:38.562 --> 00:21:41.442
Und das gleiche gilt auch für Shortcuts und für Gestennavigation.

00:21:41.602 --> 00:21:44.622
Das heißt, mit dieser Gestennavigation, wenn ich von Link zu Link springe,

00:21:44.662 --> 00:21:47.662
wische ich rauf und runter und komme dann aber zu diesen komischen Fake-Buttons,

00:21:47.662 --> 00:21:51.662
Netfish, Netflash, Links, Buttons, Dingern, Hybrids, was auch immer.

00:21:52.482 --> 00:21:54.962
Dann wird dies auch eben auch zur Sprachsteuerung aus, weil es kann auch sein,

00:21:55.022 --> 00:21:57.562
dass ich bei Sprachsteuerung, da gibt es ja unterschiedliche Varianten,

00:21:57.622 --> 00:21:59.502
wie ich navigieren kann, aber eine ist auch, dass ich sage, ja,

00:21:59.982 --> 00:22:02.942
bitte klick den Button oder markiere alle Buttons und dann würde der nicht markiert

00:22:02.942 --> 00:22:03.982
werden, weil so dein Link ist.

00:22:05.302 --> 00:22:09.822
Und für Keyword-UserInnen ist es dann so, dass sie den Button fokussieren.

00:22:09.902 --> 00:22:13.302
Es sieht aus wie ein Button, aber funktioniert nicht 100% so,

00:22:13.382 --> 00:22:17.302
weil bei einem Link kann ich mit Enter den Link aktivieren, mit Space nicht.

00:22:17.382 --> 00:22:19.642
Bei einem Button kann ich mit Enter und Space aktivieren.

00:22:19.742 --> 00:22:22.082
Also da haben wir auch wieder so einen Bruch mit den Erwartungen.

00:22:24.102 --> 00:22:26.722
Und deswegen stört mich das, wenn

00:22:26.722 --> 00:22:30.882
man das verwendet, weil es wird meistens verwendet statt einem Button.

00:22:31.142 --> 00:22:33.422
Also es sollte eigentlich das Button-Element verwendet werden,

00:22:33.422 --> 00:22:36.262
Weil das Button-Element, das führt mich normalerweise nicht irgendwo hin,

00:22:36.382 --> 00:22:38.702
sondern der Button macht eigentlich zwei Dinge.

00:22:39.002 --> 00:22:42.982
Ein Formular absenden oder irgendein JavaScript ausführen.

00:22:43.122 --> 00:22:47.502
Das mich vielleicht auch streng genommen wohin bringt, zum Beispiel in den Dialog,

00:22:48.182 --> 00:22:49.562
aber halt wieder anders.

00:22:50.904 --> 00:22:58.004
Ja, also zumindest kein Full-Page-Sprung oder sowas, sondern irgendwie partiell

00:22:58.004 --> 00:23:00.604
neue Inhalte, die dir gezeigt werden.

00:23:01.164 --> 00:23:06.444
Ja, also ich erzähle mal kurz aus dem Projekt, in dem ich gerade bin,

00:23:06.784 --> 00:23:10.724
da haben wir natürlich auch Komponenten und wir haben eine, so eine Komponente,

00:23:10.824 --> 00:23:15.184
die ist so ein, sozusagen, die wird bei uns immer genutzt, unabhängig davon,

00:23:15.424 --> 00:23:16.924
ob es ein Link oder ein Button ist.

00:23:16.924 --> 00:23:24.124
Und die nimmt eben die Form eines Buttons an in dem Moment, wo kein href-Attribut

00:23:24.124 --> 00:23:27.724
übergeben wird und ansonsten wird es eben ein Link.

00:23:28.144 --> 00:23:32.684
Das kann man eigentlich super in eine Komponente kapseln, das Ganze.

00:23:33.064 --> 00:23:36.644
Und ich könnte mir vorstellen, dass das, was du da siehst mit dem JavaScript

00:23:36.644 --> 00:23:41.464
Void Null, dass das vielleicht auch Unzulänglichkeiten des Cont-Management-Systems

00:23:41.464 --> 00:23:43.984
oder der Komponenten-Bibliothek ist.

00:23:43.984 --> 00:23:49.884
Sowas wie, hier kann man nur eine Liste mit Links quasi ausgeben und dann so,

00:23:50.044 --> 00:23:53.664
ja kacke, aber da bräuchten wir jetzt irgendwie, weil das der Login-Knopf ist,

00:23:53.824 --> 00:23:55.204
einen Button, was machen wir jetzt?

00:23:55.624 --> 00:24:02.944
Und dann fängt man eben an so rumzufuschen und rumzustimpern und sich zu behelfen,

00:24:03.084 --> 00:24:06.304
letztendlich anstatt die Lösung irgendwie, die richtige Lösung zu wählen,

00:24:06.424 --> 00:24:08.084
weil das einfach einen Umbau erfordert.

00:24:09.844 --> 00:24:12.944
Bevor ich noch was zu dieser Hybrid-Komponente sagte, die ihr habt,

00:24:13.964 --> 00:24:15.684
möchte ich kurz da noch was dazu sagen.

00:24:16.184 --> 00:24:19.424
Das ist ein Grund, das kann ein Grund sein, also das haben wir ja ganz oft,

00:24:20.004 --> 00:24:23.664
wenn wir sozusagen irgendwelche, wie heißt das, Constraints haben,

00:24:23.884 --> 00:24:27.744
die vorgegeben werden durch Technologie, durch ein CMS oder durch irgendein

00:24:27.744 --> 00:24:30.944
System oder was auch immer, dass ich da einfach kreativ werden muss,

00:24:31.084 --> 00:24:32.364
um dann eine Lösung zu bekommen.

00:24:32.744 --> 00:24:35.344
Aber was glaubt ihr, was ist denn noch ein Grund, warum Leute das machen?

00:24:35.344 --> 00:24:38.604
Warum sie einen Link hernehmen und JavaScript Void reinschreiben?

00:24:40.144 --> 00:24:42.504
Sie machen React und müssen alles aus Diffs bauen?

00:24:43.675 --> 00:24:50.135
Und könnte nicht in der Lage ein HTML-Element nennen. Pass auf, was ist denn?

00:24:50.915 --> 00:24:53.575
Diff bauen heißt ja nicht, dass du wirklich das Diff verwenden musst,

00:24:53.635 --> 00:24:57.995
weil natürlich können die Leute mehr HTML-Elemente verwenden, aber es ist so,

00:24:58.255 --> 00:25:01.075
das hatte ich bei was ganz anderem gestern, glaube ich, mal gesagt,

00:25:01.315 --> 00:25:06.475
es gibt Werkzeuge, die sich ja speziell dazu eignen, dass man aus Elementen

00:25:06.475 --> 00:25:08.495
Dinge macht, für die sie eigentlich nicht gedacht waren,

00:25:08.875 --> 00:25:11.755
weil diese Tools aus einer Zeit kommen, wo das mehr nötig war.

00:25:12.275 --> 00:25:16.915
Das ist halt so das klassische Legacy-Frontend-Framework-Reaktor-Konsorten.

00:25:17.115 --> 00:25:21.135
Und wenn man solche Dinger benutzt und sozusagen die Perspektive auf die Realität

00:25:21.135 --> 00:25:23.355
ist, diese blöden Browser können nichts, weil ich keine Ahnung habe.

00:25:23.555 --> 00:25:27.555
Und ich muss denen alles irgendwie händisch beibiegen. Und ich bin sowieso da

00:25:27.555 --> 00:25:28.875
drin, alles in JavaScript zu machen.

00:25:29.455 --> 00:25:32.115
Und ich habe noch Zeitdruck und meine Ausbildung war vielleicht nicht die beste.

00:25:32.375 --> 00:25:34.495
Dann mache ich das vielleicht auch einfach aus Unwissenheit.

00:25:34.695 --> 00:25:37.515
Oder weil ich mich halt in einem Sektor der Realität bewege,

00:25:37.595 --> 00:25:40.355
wo das halt nicht so absurd ist, wie es uns dreien jetzt erscheint.

00:25:44.512 --> 00:25:49.412
Also meine These wäre wahrscheinlich, also oder früher war es ja so,

00:25:49.732 --> 00:25:56.252
dass das richtige Element in dem Fall wäre ja der Button und dass der einfach

00:25:56.252 --> 00:25:59.612
schwieriger zu gestalten war, zumindest früher.

00:26:00.252 --> 00:26:04.112
Ich weiß nicht, bei Safari musste man ja auch die Appearance,

00:26:04.152 --> 00:26:05.132
glaube ich, umschalten.

00:26:05.532 --> 00:26:08.352
Ansonsten hat er da so sein eigenes Ding gemacht. Ich weiß nicht,

00:26:08.372 --> 00:26:10.592
ob das noch der Fall ist. Ich glaube wahrscheinlich schon lange nicht mehr.

00:26:12.392 --> 00:26:15.412
Genau, ich habe da auch kein Problem mit. und vielleicht, manche Leute wissen

00:26:15.412 --> 00:26:17.492
auch gar nicht, dass es einen Button gibt.

00:26:17.832 --> 00:26:20.432
Und dann, was hat man früher benutzt? Input-Type-Button.

00:26:21.632 --> 00:26:25.952
Das ist das, was die Leute noch im Kopf hatten. Und dann haben die wahrscheinlich

00:26:25.952 --> 00:26:29.272
gesagt, das kann ich jetzt da ja nicht, das ist ja kein Input.

00:26:29.472 --> 00:26:31.052
Dann nehme ich halt ein A.

00:26:31.492 --> 00:26:36.512
Aber so, dass es Button gibt, also seit 20 Jahren oder so, das ist denen irgendwie

00:26:36.512 --> 00:26:37.612
noch nicht in den Sinn gekommen.

00:26:38.232 --> 00:26:41.812
Oder sie haben halt sozusagen eine deiner Komponente, wie du sie beschrieben

00:26:41.812 --> 00:26:42.752
hast, ist aber in schlecht.

00:26:43.792 --> 00:26:46.772
Weißt du, das Ding heißt dann irgendwie so Button, Komponente und das folgt

00:26:46.772 --> 00:26:50.292
irgendwie so dem internen Styleguide, aber es ist halt eben implementiert auf

00:26:50.292 --> 00:26:55.592
die bescheuerstmögliche Weise aus irgendwelchen Gründen, weil bla,

00:26:55.692 --> 00:26:56.652
wir haben halt Wichtigeres zu tun.

00:27:01.612 --> 00:27:04.892
Ja, ich glaube, das kann so auch sein. Ich glaube auch, gebe ich dir auch recht,

00:27:05.012 --> 00:27:09.912
Shep, dass es ein Wissensproblem ist und auch so ein bisschen eine falsche Vorstellung,

00:27:10.012 --> 00:27:11.752
was Barrierefreiheit oder Semantik bedeutet.

00:27:12.312 --> 00:27:15.172
Also, dass sozusagen so ein bisschen die Denke ist, ja, Button ist ein Formular

00:27:15.172 --> 00:27:17.632
abschicken da und wenn ich was barrierefrei machen will, dann muss ich einen

00:27:17.632 --> 00:27:21.232
Link verwenden, weil sonst ist es halt nicht barrierefrei oder sowas. Das sehe ich auch.

00:27:21.392 --> 00:27:25.112
Und ich sehe auch dieses Button-Styling-Problem. Weil, wenn wir ganz ehrlich

00:27:25.112 --> 00:27:29.132
sagen, es war eine Zeit lang wirklich schwierig, Buttons browserübergreifend

00:27:29.132 --> 00:27:31.852
zu resetten oder das Styling zu resetten.

00:27:31.912 --> 00:27:34.252
Weil du hast eh schon angesprochen, man brauchte Appearance bei Safari,

00:27:34.412 --> 00:27:38.052
man brauchte in Firefox hatte man dann diese... Diese Focus-Geschichte, ja.

00:27:42.010 --> 00:27:43.810
Genau, wo es einen äußeren, einen

00:27:43.810 --> 00:27:48.030
inneren Ring gab und es war einfach schwierig, dieses Zeug zu stylen.

00:27:48.650 --> 00:27:51.830
Das ist jetzt heutzutage überhaupt nicht mehr so. Es geht super easy,

00:27:52.030 --> 00:27:55.750
man selektiert das Button-Element, nimmt die All-Eigenschaft und setzt sie auf unset.

00:27:56.270 --> 00:27:58.470
Dadurch werden einfach alle Eigenschaften, alle, die es so gibt,

00:27:58.710 --> 00:28:03.530
werden entweder auf den initialen Wert, so wie er in der Spezifikation definiert

00:28:03.530 --> 00:28:07.390
ist, gesetzt oder erben dann von einem älteren Element.

00:28:07.550 --> 00:28:10.350
Man könnte auch Initial nehmen, aber in meiner Erfahrung ist unset die bessere

00:28:10.350 --> 00:28:15.290
Variante, weil dann solche Sachen wie Farbe und Schriftart auch übernommen werden.

00:28:15.810 --> 00:28:18.390
Und das Einzige, was man dann noch machen muss, ist dann wieder die Fokus-Ziele

00:28:18.390 --> 00:28:20.110
wieder zurückbringen, weil die werden natürlich auch resettet.

00:28:20.250 --> 00:28:22.210
Aber an sich mit dem All kommt man sehr weit.

00:28:22.390 --> 00:28:24.930
Und dann, wenn einem was fehlt, dann kann man immer noch hergehen und sagen,

00:28:25.010 --> 00:28:28.990
was weiß ich was, Color Inherit oder Font Inherit, was auch immer ich dann doch

00:28:28.990 --> 00:28:30.410
vielleicht irgendwie erben möchte.

00:28:30.670 --> 00:28:32.930
Das funktioniert super und funktioniert auch browserübergreifend.

00:28:33.610 --> 00:28:37.590
Und ich glaube, dass das der Grund ist, warum es diese JavaScript-Boards-Geschichten

00:28:37.590 --> 00:28:41.250
gibt oder ähnliche Lösungen.

00:28:43.050 --> 00:28:45.870
Und vielleicht noch zu dieser Hybrid-Komponente, die ihr verwendet.

00:28:45.990 --> 00:28:48.170
Ich habe die schon öfter gesehen, also ihr seid da nicht die Einzigen.

00:28:48.290 --> 00:28:51.110
Ich glaube, das kommt entweder von irgendwelchen Component-Libraries oder es

00:28:51.110 --> 00:28:54.270
ist etwas, eine Idee, die viele Leute schon hatten.

00:28:54.470 --> 00:28:58.390
Und ich finde das grundsätzlich okay, aber wenn ich lustig bin,

00:28:58.470 --> 00:29:02.490
kann ich immer noch ein leeres Hash oder JavaScript Void oder was auch immer

00:29:02.490 --> 00:29:04.470
übergeben und dann habe ich erst wieder einen Link.

00:29:05.130 --> 00:29:10.290
Und eine Sache, die mir ganz häufig unterkommt, ist, dass diese Komponenten.

00:29:12.123 --> 00:29:16.923
Versuchen, viel gescheit zu machen, aber dann halt irgendwie ein bisschen zu viel tun.

00:29:17.183 --> 00:29:21.903
Also oft ist es dann so, dass diese Links oder Buttons, die da ausgespuckt werden,

00:29:22.223 --> 00:29:24.043
dann Attribute haben, die sie eigentlich gar nicht brauchen.

00:29:24.223 --> 00:29:27.303
Also auf einem Button ist dann plötzlich irgendwie ein Tab-Index 0 oben und

00:29:27.303 --> 00:29:30.623
nochmal ein extra Roll-Button und ein ARIA-Disabled-Falls und so weiter,

00:29:30.983 --> 00:29:34.143
weil der einfach sehr gern vergessen wird, Zeug einfach nicht auszugeben,

00:29:34.203 --> 00:29:35.023
wenn es nicht notwendig ist.

00:29:35.043 --> 00:29:38.243
Das ist jetzt per se nicht unbedingt ein Problem, aber es macht einfach den

00:29:38.243 --> 00:29:40.603
Code schwerer lesbar und fehleranfälliger, wenn der Zeug ist,

00:29:40.683 --> 00:29:42.663
das man eigentlich gar nicht braucht, das implizit schon da ist.

00:29:43.143 --> 00:29:47.163
Aber grundsätzlich an sich, finde ich, habe ich nie irgendwas gegen so eine Komponente.

00:29:47.403 --> 00:29:51.483
Also wenn sie funktioniert, wenn sie richtig gemacht ist, dann passt das schon.

00:29:51.863 --> 00:29:58.283
Aber es ist natürlich komplex, weil Links und Buttons sind jetzt nicht die einfachsten

00:29:58.283 --> 00:29:59.283
Elemente, würde ich sagen.

00:29:59.663 --> 00:30:02.163
Also da kurz jetzt Werbung, ich habe ein Buch geschrieben, das Web Accessibility

00:30:02.163 --> 00:30:03.623
Cookbook, kauft es alle.

00:30:04.423 --> 00:30:07.823
Da habe ich zwei Kapitel nur über diese Elemente. Ich habe ein ganzes Kapitel

00:30:07.823 --> 00:30:10.403
nur über Links und ein ganzes Kapitel nur über Buttons.

00:30:10.563 --> 00:30:13.143
Ich bin eh immer noch komplett fertig, dass sie das durchgehen haben lassen.

00:30:13.443 --> 00:30:17.983
Aber es gab einfach so viel zu erzählen über diese beiden Elemente alleine.

00:30:19.223 --> 00:30:21.723
Weil sie eben so komplex sind und so versettbar sind. Du warst ja auch mal bei

00:30:21.723 --> 00:30:23.943
uns zu dem Thema mit deinem Buch.

00:30:24.083 --> 00:30:28.723
Wollte ich nur noch mal anmerken und verlinken wir auf jeden Fall in den Shownotes noch. Vielen Dank.

00:30:29.623 --> 00:30:33.223
Genau, also du hast recht. Also genau, was man ja auch machen kann,

00:30:33.423 --> 00:30:39.863
ist, dass man im Prinzip nur so eine Art quasi Proxy-Hybrid- Komponente hat,

00:30:39.983 --> 00:30:44.003
die dann am Ende basierend darauf, ob du halt ein href als Attribut übergibst,

00:30:44.103 --> 00:30:50.143
dann hintenrum umschaltet und quasi dann die Button-Komponente reinzieht oder

00:30:50.143 --> 00:30:55.123
eine Link-Komponente und dann kann man sich sozusagen in den jeweiligen Unterkomponenten,

00:30:55.203 --> 00:30:59.203
also dann kann man da jeweils die Logik, die zu dem Element passt,

00:30:59.583 --> 00:31:01.423
ganz gut kapseln. Also, ja.

00:31:04.043 --> 00:31:04.623
Mhm.

00:31:06.326 --> 00:31:12.066
Voll. Und Peter, wie wir darüber gesprochen haben, wie wir beschlossen haben,

00:31:12.206 --> 00:31:18.066
diese Sendung zu machen, hast du ja gesagt, du könntest sehr viel auch über dieses Void erzählen.

00:31:18.126 --> 00:31:20.886
Bist du schon fertig oder hast du da noch Dinge, die du darüber erzählen kannst?

00:31:21.006 --> 00:31:23.486
Kommt das sonst noch irgendwo vor? oder was ist?

00:31:24.146 --> 00:31:27.886
Ich habe jetzt recht eindeutig ausgeführt, was mein Problem ist damit.

00:31:28.526 --> 00:31:31.246
Ja, naja, es ist halt Cargo-Kult.

00:31:32.286 --> 00:31:37.566
Es ist halt Cargo-Kult ist es. Also die Idee von Cargo-Kult ist,

00:31:37.826 --> 00:31:40.126
also die Gestehungsgeschichte ist,

00:31:40.926 --> 00:31:45.686
wo das Wort herkommt, ist, früher war Zweiter Weltkrieg und dann hast du irgendwie

00:31:45.686 --> 00:31:50.306
im Pazifik als Amerikaner deine ganzen Airbases gebaut, damit du Japan in Schutt

00:31:50.306 --> 00:31:55.026
und Asche legen kannst und dann wohnten da halt schon Leute und die haben halt eben gesehen, wie da.

00:31:57.146 --> 00:32:00.466
Sachen durchgeführt wurden. Leute sitzen in irgendwelchen Control Towers und

00:32:00.466 --> 00:32:03.886
winken Flugzeuge ein und plötzlich kommen die und werfen irgendwelche Kisten

00:32:03.886 --> 00:32:05.746
ab und dann ist da tolles Zeug drin.

00:32:06.766 --> 00:32:11.046
Und nach dem Abzug des Militärs, so geht die Erzählung, haben die Leute dann

00:32:11.046 --> 00:32:15.846
sozusagen diese Handlungen des Militärs da als Ritual verstanden,

00:32:16.086 --> 00:32:20.546
womit man dann vereinfacht gesagt heraufbeschwören kann, dass dann wieder irgendwelche

00:32:20.546 --> 00:32:21.546
Kisten abgeliefert werden.

00:32:21.786 --> 00:32:23.986
Und dann ist das halt der Cargo-Kult.

00:32:24.246 --> 00:32:27.906
Also eine Religion, auf das das Frachtflugzeug wieder vorbeikommen möge.

00:32:28.466 --> 00:32:32.846
Inwiefern das alles stimmt, weiß ich nicht, aber da kommt halt so dieses, da kommt das Wort her.

00:32:33.386 --> 00:32:36.786
Und was man damit halt eben so umschreibt, sind einfach so Patterns,

00:32:36.866 --> 00:32:41.986
wo man irgendwie, man sieht was und das funktioniert, für gewisse Werte von funktionieren.

00:32:42.126 --> 00:32:45.246
Man versteht nicht, was es macht, aber man fängt halt eben an, das zu reproduzieren.

00:32:46.080 --> 00:32:50.700
Und das ist halt, glaube ich, einfach so ein ganz großes Problem in moderner Web-Entwicklung.

00:32:50.800 --> 00:32:53.480
Ich meine, du hast ja auch, ihr beide habt ja gerade sehr viel davon erzählt,

00:32:53.760 --> 00:32:57.160
ja, früher haben wir das mal gebraucht und früher war das mal notwendig.

00:32:58.780 --> 00:33:02.680
Aber wenn man dann einfach nur zur Kenntnis genommen hat, dass man das früher

00:33:02.680 --> 00:33:06.120
so gemacht hat, dann hat man das nicht notwendigerweise verstanden und denkt

00:33:06.120 --> 00:33:09.200
dann vielleicht einfach, man bräuchte das immer noch und setzt das halt sofort

00:33:09.200 --> 00:33:12.440
mit eben der Appearance und ähnlichen Kisten.

00:33:12.620 --> 00:33:15.360
Und genauso ist es mit diesem JavaScript-Fort. Leute, es gibt tausend Möglichkeiten,

00:33:15.360 --> 00:33:16.740
den gleichen Effekt zu erzielen.

00:33:17.260 --> 00:33:20.100
Nämlich, wenn dieser Link aktiviert wird, mach halt nix.

00:33:20.560 --> 00:33:22.640
Also ich habe vorhin mal so ein bisschen Code-Golf gespielt.

00:33:22.960 --> 00:33:26.180
Das Einfachste, was man wirklich machen könnte, statt JavaScript-Doppelpunkt-Void

00:33:26.180 --> 00:33:29.100
in runden Klammern 0, ist einfach JavaScript-Doppelpunkt 0.

00:33:29.860 --> 00:33:33.400
So, weil wenn man halt eben den Spezifikationstext liest und sich anschaut,

00:33:33.480 --> 00:33:36.360
was das macht, guckt halt nur so, okay, da kommt ein JavaScript-Ausdruck raus,

00:33:36.620 --> 00:33:38.540
kann ich den irgendwie als True falsch verstehen?

00:33:39.620 --> 00:33:42.660
Die Zahl 0 reicht schon, um da ein False draus zu machen. Da passiert halt einfach nix.

00:33:43.220 --> 00:33:46.380
Das ist halt einfach so, also so wie dir das Messer in der Hose aufgegangen

00:33:46.380 --> 00:33:49.980
ist, aus Accessibility-Sicht geht mir halt das Messer in der Hose aus so der

00:33:49.980 --> 00:33:53.440
Großperspektive heraus, weil das halt eben genau das Ding ist. Das macht was.

00:33:53.620 --> 00:33:56.260
Ich kann verstehen, warum man das früher haben wollte und ich kann verstehen,

00:33:56.580 --> 00:34:00.400
warum man in einem gewissen, so in einer gewissen Position im Koordinatensystem

00:34:00.400 --> 00:34:03.820
aus ich weiß, was, ich befinde mich auf dem Zeitstrahl, ich habe diese Constraints,

00:34:04.020 --> 00:34:05.800
muss mit diesen Komponenten arbeiten, Black X,

00:34:06.580 --> 00:34:09.160
warum man so ein Verhalten immer noch würde reproduzieren wollen.

00:34:09.320 --> 00:34:11.940
Auch wenn es Blödsinn ist, aber vielleicht will man das, aber dann ist das immer

00:34:11.940 --> 00:34:13.520
noch nicht der richtige Gewicht, das zu reproduzieren.

00:34:13.640 --> 00:34:16.980
Und das lebt einfach nur durch dieses Cargo-Kult-Copy-und-Paste-Behaviour weiter,

00:34:17.300 --> 00:34:20.820
wo ich halt wirklich, wenn ich das sehe, wirklich weiß, du hast halt gar nichts verstanden.

00:34:20.980 --> 00:34:23.780
Aus den Gründen, die du genannt hast, aber auch aus den sozusagen,

00:34:24.040 --> 00:34:26.940
aus der Implementierung selber, erkenne ich halt eben, du weißt gar nicht,

00:34:27.000 --> 00:34:27.800
was dir vor sich geht, oder?

00:34:28.920 --> 00:34:31.160
Das ist das Ding. Mhm.

00:34:32.919 --> 00:34:37.119
Und das bringt mich auch zum wichtigen Punkt, der hier nicht fehlen darf,

00:34:37.259 --> 00:34:41.699
und zwar, was ist die Lösung oder wie kommt man dazu, dass man vielleicht dann

00:34:41.699 --> 00:34:43.759
doch irgendwie das richtige Element verwendet.

00:34:44.019 --> 00:34:47.859
Man kann sich natürlich diesen wundervollen Podcast anhören oder auch mein Buch

00:34:47.859 --> 00:34:52.219
kaufen oder sonst irgendwie auf MDN schauen oder in der Spezifikation oder was weiß ich nicht.

00:34:52.739 --> 00:34:56.459
Aber eine so ein bisschen grundlegende Herangehensweise, die uns ein bisschen

00:34:56.459 --> 00:35:00.079
fehlt, ist, dass man sich die Frage stellt, was wir die einzelnen Elemente in

00:35:00.079 --> 00:35:01.139
HTML überhaupt bringen.

00:35:01.999 --> 00:35:09.019
Also ich höre oft mit Kunden-Terminen, soll man da jetzt einen Link verwenden oder einen Button?

00:35:09.239 --> 00:35:12.479
Oder soll man da jetzt ein Artikel-Element verwenden oder Section?

00:35:12.799 --> 00:35:15.859
Oder soll man hier eine Liste verwenden oder ist die Liste vielleicht blöd?

00:35:16.379 --> 00:35:20.699
Und was ich ganz ungern mache, ist dann zu sagen, okay, hier Artikel,

00:35:20.879 --> 00:35:22.799
hier Liste, hier Link und hier Button.

00:35:23.019 --> 00:35:29.319
Weil das bringt nichts. Die Leute setzen dann in dieser einen spezifischen Frage

00:35:29.319 --> 00:35:30.739
dann das genauso um, wie es gehört.

00:35:30.939 --> 00:35:33.899
Aber tatsächlich wissen tun sie nichts, warum es so ist.

00:35:34.259 --> 00:35:37.839
Und eine Frage, die ich mir dann immer stelle oder die ich den Leuten dann sozusagen

00:35:37.839 --> 00:35:44.019
auch mitgebe, ist die Frage, was bringt mir das Element? Also was gibt mir...

00:35:45.216 --> 00:35:47.516
Ein Link. Und deswegen habe ich das heute auch so ausgeführt,

00:35:48.076 --> 00:35:51.776
ein bisschen ausschweifend, weil einfach ganz viele Leute nicht wissen,

00:35:51.856 --> 00:35:52.816
was macht der Link überhaupt?

00:35:52.956 --> 00:35:56.656
Was macht der alles und welche Konsequenzen hat das, wenn ich einen Link verwende oder nicht verwende?

00:35:56.896 --> 00:36:00.436
Oder wie ist es bei dem Button? Und genauso auch diese Frage mit Artikel und

00:36:00.436 --> 00:36:02.116
Sektion, weil ich habe selber auch ganz lange nicht gewusst,

00:36:02.176 --> 00:36:03.936
wann fände ich das eine, wann fände ich das andere?

00:36:04.336 --> 00:36:07.936
Aber wenn man den Research betreibt und einfach nur herausfindet,

00:36:08.056 --> 00:36:11.276
okay, das sind die Features von diesem Element, das sind die Features von diesem

00:36:11.276 --> 00:36:15.076
hier, das sind die Pros und Cons, dann kann man diese Entscheidung viel einfacher treffen.

00:36:15.556 --> 00:36:18.216
Und ich glaube, wenn man dann dieses Bewusstsein hat, weil oft fällt auch das

00:36:18.216 --> 00:36:21.136
Bewusstsein, was eher das größere Problem ist, aber wenn man dieses Bewusstsein

00:36:21.136 --> 00:36:23.896
hat für die Elemente, die man da verwendet, dann kann man sich diese Frage stellen

00:36:23.896 --> 00:36:26.676
und dann tut man sich auch ein bisschen einfacher, dann die richtige Antwort zu finden.

00:36:27.176 --> 00:36:30.236
Ja, aber es wird einem halt auch schwer gemacht durch diese Tools,

00:36:30.376 --> 00:36:31.496
die einen halt wieder davon abhalten.

00:36:32.096 --> 00:36:37.636
Weil wenn du halt grundsätzlich alles durch Membranen von Abstraktionen wahrnimmst,

00:36:37.976 --> 00:36:40.956
klar, ist es dir immer noch möglich, das im Kopf zu behalten,

00:36:41.136 --> 00:36:44.436
so mit welchem Element habe ich hier am Ende zu hantieren oder sowas.

00:36:44.616 --> 00:36:48.276
Du kannst natürlich einfach am Ende in den Output gucken, aber wenn du halt

00:36:48.276 --> 00:36:54.036
jetzt wirklich irgendwie, keine Ahnung, den Standard-Worst-Case-React-Fall hast, wo du halt.

00:36:55.155 --> 00:36:57.855
Klar, ein normales HTML-Element irgendwo reinpflanzen kannst,

00:36:57.915 --> 00:37:00.215
aber wenn du wirklich irgendwie Features klopst und Pages klopst,

00:37:00.675 --> 00:37:04.415
dann machst du das ja nicht, sondern du kombinierst ja einfach so den Page-Header

00:37:04.415 --> 00:37:10.715
und den Content-Banner und irgendwie so die Card-Komponente und sowas und hast

00:37:10.715 --> 00:37:16.575
ja im täglichen Arbeiten wesentlich weniger direkten Durchgriff darauf.

00:37:16.575 --> 00:37:19.435
Und ja, du kannst dann immer das machen und du kannst immer gucken,

00:37:19.535 --> 00:37:22.735
was passiert da gerade, aber du musst halt eben aktiv daran arbeiten.

00:37:22.895 --> 00:37:26.215
Und diese Tools halten dich ein bisschen davon ab, diese Perspektive einzunehmen

00:37:26.215 --> 00:37:29.755
oder machen es dir zumindest schwerer, dass du halt da viel leichter einen Drift

00:37:29.755 --> 00:37:31.995
hinkriegst zwischen dem, was jetzt richtig wäre.

00:37:32.215 --> 00:37:34.475
Und wenn du jetzt jemanden grillen würdest und hinsetzen würdest,

00:37:34.595 --> 00:37:37.935
ey, was für ein Element soll das sein, würden die eventuell die richtige Antwort

00:37:37.935 --> 00:37:42.995
geben. Aber dieser ganze Abstraktionsberg macht halt gerade so viel Reibungsverlust

00:37:42.995 --> 00:37:45.815
da rein, dass man sich denkt, ach komm, passt schon, ich habe Wichtigeres zu tun.

00:37:46.615 --> 00:37:49.495
Ich glaube, das ist auch ein wichtiges Problem. Absolut. Oder ich stelle mir

00:37:49.495 --> 00:37:51.455
die Frage erst gar nicht vor, ich verwende halt die Komponente.

00:37:51.635 --> 00:37:55.675
Weil das ist jetzt irgendwie Thema für einen eigenen Podcast,

00:37:55.715 --> 00:37:58.995
würde ich sagen. Sozusagen dieses ganze Pattern-Library- und Framework-Thema.

00:37:59.195 --> 00:38:02.295
Soll ich sowas einfach verwenden oder macht es vielleicht doch Sinn,

00:38:02.515 --> 00:38:04.075
selber was zu schreiben? Ich glaube, dazu hast du auch Mehrungen.

00:38:04.875 --> 00:38:09.795
In der Realität ist es so, dass ganz viele Leute, und vermutlich jetzt nicht

00:38:09.795 --> 00:38:13.575
ein Großteil der Menschen, die hier zuhören, aber sozusagen für ganz viele Leute

00:38:13.575 --> 00:38:17.935
bedeutet ja Web-Development, wir entscheiden uns für Library XY.

00:38:18.755 --> 00:38:21.715
Klopfen die auf gewisse Features ab und dann verwenden wir die halt und fertig.

00:38:22.395 --> 00:38:26.455
Also da wird oft gar nicht hinterfragt, was dahinter steckt oder ob das denn

00:38:26.455 --> 00:38:29.135
so passt. Man muss dann halt auch einfach darauf vertrauen, dass es so ist.

00:38:29.475 --> 00:38:31.315
Und das ist ein bisschen die Schwierigkeit, die ich mit Pattern-Libraries.

00:38:31.375 --> 00:38:33.395
Also ich sage jetzt überhaupt gar nichts dagegen, das ist ganz normal.

00:38:33.395 --> 00:38:42.715
Eine ganz normale Vorgehensweise eine aus Effizienz und aus ökonomischer Sicht nachvollziehbare.

00:38:42.935 --> 00:38:44.815
Aber es ist einfach die Realität und.

00:38:46.855 --> 00:38:50.535
Das ist auch ein bisschen ein Problem. Ja, ich glaube auch bei uns,

00:38:50.655 --> 00:38:54.675
also ich glaube, das macht ja einen Unterschied, ob du, also ich sage ja immer,

00:38:54.755 --> 00:38:58.215
es gibt einen Unterschied, ob du bei einer Agentur arbeitest oder ob du eben

00:38:58.215 --> 00:38:59.255
Produktentwicklung machst.

00:38:59.715 --> 00:39:02.735
Ich glaube, bei einer Agentur, da zählt eben wirklich auch schnell,

00:39:03.055 --> 00:39:05.955
effizient und irgendwie auf den Punkt abliefern.

00:39:06.635 --> 00:39:10.695
Und ich kann mir vorstellen, dass man in so einem Kontext einfach durch den

00:39:10.695 --> 00:39:14.555
Projektrahmen dazu gezwungen ist, dann eben diese Kompromisse einzugehen und

00:39:14.555 --> 00:39:18.215
die Leute das vielleicht sogar auch wissen. Aber ja, was machst du dann?

00:39:18.415 --> 00:39:22.855
Also du hast irgendwie eine Library, die macht im Grunde größtenteils,

00:39:22.955 --> 00:39:24.695
was du brauchst. Alle finden es geil.

00:39:24.915 --> 00:39:30.555
Du siehst, aber so Markup ist nicht so richtig, so wie du es gerne hättest.

00:39:31.855 --> 00:39:35.415
Was machst du dann? Also patchen wirst du das sicherlich nicht.

00:39:36.215 --> 00:39:39.675
Einen Pull-Request-Submitten, hast du auch die Zeit nicht für und es dauert,

00:39:39.735 --> 00:39:45.455
bis es drin ist und dann beißt du eben diesen sauren Apfel und hoffst einfach,

00:39:45.535 --> 00:39:49.235
dass das nächste Projekt dann eben nicht diese Library braucht oder wie auch immer.

00:39:49.655 --> 00:39:52.975
Versuch mal sowas zu argumentieren nach oben hin. Also da ist etwas,

00:39:53.095 --> 00:39:58.975
es funktioniert, aber es passt halt nicht für ein paar Leute oder es könnte

00:39:58.975 --> 00:39:59.655
eigentlich besser sein.

00:39:59.815 --> 00:40:02.495
Also das ist auch ganz schwer, das haben ja ganz viele Leute auch das Problem,

00:40:02.595 --> 00:40:05.255
dass sie das einfach nicht, sozusagen die Kosten und um die Zeit,

00:40:05.275 --> 00:40:08.635
die dafür aufgewendet werden muss, argumentieren können nach oben hin.

00:40:10.342 --> 00:40:14.942
Ja, absolut. Und man muss auch dazu sagen, dass es halt einfach,

00:40:15.102 --> 00:40:18.622
je öfter ich bei Firmen bin und je mit mehr Firmen ich zusammenarbeite,

00:40:18.722 --> 00:40:23.962
desto mehr erkenne ich, dass es einfach sehr unterschiedliche Betrachtungsweisen

00:40:23.962 --> 00:40:28.102
gibt, was Web-Development überhaupt ist oder wie das funktioniert und was es bedeutet.

00:40:28.102 --> 00:40:30.602
Weil wir drei und vermutlich auch der Groß...

00:40:30.602 --> 00:40:33.742
Tatsächlich behaupten, das, was die meisten Leute heutzutage als Web-Development

00:40:33.742 --> 00:40:36.822
bezeichnen, keins ist, sondern tatsächlich ein Gegenentwurf,

00:40:37.102 --> 00:40:41.882
der technisch auf Web-Development basiert, aber eigentlich so von der Sicht

00:40:41.882 --> 00:40:43.882
auf die Realität ein Gegenentwurf ist.

00:40:44.422 --> 00:40:46.822
Inwiefern Gegenentwurf? Du kannst ein React und ein Angular benutzen?

00:40:47.102 --> 00:40:49.682
Ja, du kannst ein React und ein Angular nehmen und das basiert auf Web-Technologie.

00:40:49.822 --> 00:40:50.802
Da kommen am Ende auch Diffs raus.

00:40:51.322 --> 00:40:54.922
Aber es ist halt einfach eine ganz andere Art des Arbeitens,

00:40:55.042 --> 00:41:01.602
des Denkens, generell so der der, wie strukturierst du überhaupt irgendwas?

00:41:01.782 --> 00:41:05.982
Allein schon irgendwie so das Datenmodell von wegen, was machst du jetzt mit dem User-Interface?

00:41:06.082 --> 00:41:10.842
Gehst du da jetzt so jQuery-Style hin und hackst da so lange auf dem DOM drauf

00:41:10.842 --> 00:41:12.062
rum, bis das aussieht, wie du willst?

00:41:12.342 --> 00:41:15.382
Oder machst du so den großen Entwurf mit, alles fließt halt irgendwie aus einer

00:41:15.382 --> 00:41:19.162
zentralen Datenquelle runter und das UI ist bloß sozusagen eine Nebenwirkung

00:41:19.162 --> 00:41:21.522
von irgendwie, bist du eingeloggt oder nicht?

00:41:23.007 --> 00:41:26.187
Und das ist tatsächlich ja was, weil das ist, was ich vorhin schon meinte mit

00:41:26.187 --> 00:41:29.147
so meinen Abstraktionsschichten, die dir das wahrnehmen, der darunterliegenden

00:41:29.147 --> 00:41:30.227
Schichten halt schwieriger machen.

00:41:30.527 --> 00:41:34.747
Du könntest halt Vanille-Rieger drauf sein und dann hast du einen besseren Durchgriff

00:41:34.747 --> 00:41:38.367
darauf, aber hast halt andere Trade-Offs, nämlich du musst das Ding so nehmen, wie es ist.

00:41:38.367 --> 00:41:42.927
Oder du nimmst halt tatsächlich irgendwie so eins von diesen Legacy-Frontend-Frameworks

00:41:42.927 --> 00:41:45.507
und die machen dir auf eine gewisse Weise das Leben leichter,

00:41:45.647 --> 00:41:49.427
weil die natürlich auf grüner Wiese entworfen sind und deswegen per se erstmal

00:41:49.427 --> 00:41:51.607
mit weniger Legacy-Laster herkommen.

00:41:51.747 --> 00:41:54.447
Da ist keine bescheuerte Idee aus Netscape-Zeiten noch drin oder so.

00:41:54.827 --> 00:41:56.927
Alles schön und ordentlich und TypeScript und hast du nicht gesehen.

00:41:57.307 --> 00:41:59.747
Aber eigentlich ist es halt ein Gegenentwurf, weil in dem Moment,

00:41:59.827 --> 00:42:02.287
wo du sagst, ich mache jetzt alles mit React, sagst du halt eben auch,

00:42:03.007 --> 00:42:06.487
okay, Benutzung von der Webplattform selber ist halt mit dann kostenverbunden.

00:42:06.487 --> 00:42:10.287
Du kannst nicht einfach so ein Dialog-Element ohne weiteres in React reinwerfen,

00:42:10.367 --> 00:42:13.767
weil einfach das imperative Auslösen von einem Modaldialog schon was ist,

00:42:13.927 --> 00:42:16.567
was einfach in der Welt dieses Frameworks nicht vorkommt.

00:42:16.847 --> 00:42:18.887
Und das ist, was ich mit Gegenentwurf meine.

00:42:19.247 --> 00:42:22.967
Okay, das basiert darauf, aber es geht halt davon aus, dass wir die Welt auf

00:42:22.967 --> 00:42:26.947
eine ganz andere Art und Weise konfigurieren und dann ausgehend davon uns ein

00:42:26.947 --> 00:42:27.787
leichteres Leben machen.

00:42:27.987 --> 00:42:30.807
Aber das geht halt wirklich nur, wenn du die Realität auf, wie gesagt,

00:42:30.987 --> 00:42:31.867
komplett umkonfigurierst.

00:42:33.424 --> 00:42:36.604
Deswegen Web-Development. Ja, voll. Wir reden hier vom Gleichen.

00:42:36.704 --> 00:42:38.264
Das ist genau das Gleiche, was ich gemeint habe.

00:42:38.804 --> 00:42:44.944
Und die Konsequenz davon ist, oder eine Konsequenz ist, dass die Leute nicht

00:42:44.944 --> 00:42:51.324
nur irgendwas, den Vanilla-Weg machen können,

00:42:51.664 --> 00:42:54.644
weil es die Technologie nicht zulässt, sondern weil sie auch nicht wissen, wie.

00:42:55.284 --> 00:42:57.884
Also eine Sache, die ich ganz oft jetzt sehe in Workshops, ist,

00:42:57.984 --> 00:43:00.124
dass ich die Leute gar nicht bei der Barrierefreiheit verliere,

00:43:01.244 --> 00:43:05.644
sondern bei nativem HTML, CSS und JavaScript, weil sie das einfach nicht schreiben.

00:43:05.984 --> 00:43:08.024
Also sie schreiben das einfach ganz wenig und ganz selten.

00:43:08.424 --> 00:43:12.984
Und auch wenn ich einfach nur so simple Sachen, über so simple Sachen spreche

00:43:12.984 --> 00:43:16.784
wie Event-Lessener hinzufügen, also die Dinge, die ich als selbstverständlich

00:43:16.784 --> 00:43:20.124
verstehe, da haut es einige Leute auch schon auf und ich verurteile da auch niemanden.

00:43:20.584 --> 00:43:23.584
Es ist so, wie du gesagt hast, einfach ein Gegenentwurf, eine andere Art und

00:43:23.584 --> 00:43:28.644
Weise zu arbeiten, Und eine, bei der man dann einfach sich auch schwer tut,

00:43:28.864 --> 00:43:31.664
dann die Dinge halt irgendwie anders zu machen, weil man sie nicht kann.

00:43:31.744 --> 00:43:33.824
Also nicht nur wegen der Technologie, sondern auch einfach wegen dem Know-how.

00:43:35.244 --> 00:43:37.644
Dafür ist natürlich das Know-how dann in anderen Bereichen halt viel besser,

00:43:37.704 --> 00:43:42.724
eben in der Nutzung von der bestimmten Library oder dem Framework.

00:43:44.541 --> 00:43:46.841
Nein, nein, nein, ich habe nichts gegen React Schreibende, ich habe nur was

00:43:46.841 --> 00:43:50.201
gegen React. Ganz wichtiger Unterschied. Ja, ja, das ist aber eh klar.

00:43:53.641 --> 00:43:58.461
Ich habe dann noch eine Sache, eine Notiz habe ich mir noch hier in meinem Dokument,

00:43:58.601 --> 00:44:01.441
in meiner Vorbereitung, und zwar Verwandte von JavaScript Void.

00:44:03.141 --> 00:44:08.621
Und ein Verwandter ist ein A-Element mit einem H-Def-Attribut,

00:44:08.841 --> 00:44:11.481
mit einem Accessible Name, aber im Value ist einfach nur ein Hash.

00:44:14.901 --> 00:44:18.241
Sowas ähnliches, macht aber halt ein bisschen mehr. Also es macht insofern mehr,

00:44:18.321 --> 00:44:21.981
als dass dann der Hashtown irgendwie in der URL ist und vielleicht springt dann

00:44:21.981 --> 00:44:24.281
die Seite auch, aber im Endeffekt hat man die gleichen Probleme,

00:44:24.381 --> 00:44:26.821
weil man hat auch wieder ein Element, das eigentlich ein Button sein sollte.

00:44:27.421 --> 00:44:31.101
Wir haben ähnliche Dinge mit dem neuen Tab öffnen. Es passieren dann andere

00:44:31.101 --> 00:44:34.061
Dinge, aber die Probleme sind ähnlich.

00:44:34.261 --> 00:44:37.281
Und das ist auch einfach sehr, sehr häufig und ich glaube eben,

00:44:37.461 --> 00:44:39.521
da ist auch wieder der Hauptgrund einfach das Button Styling.

00:44:39.521 --> 00:44:43.461
So ein traditionelles Ding und man hat es immer schon so gemacht,

00:44:43.561 --> 00:44:44.321
weil es macht uns auch weiter.

00:44:45.910 --> 00:44:50.190
Ein anderer Verwandter ist der Link ohne href mit einem Klick-Event.

00:44:50.910 --> 00:44:55.470
Und da ist das Problem, da hat man ähnliche Probleme, aber auch andere Probleme.

00:44:55.630 --> 00:45:00.090
Das erste ist, dass das Element nicht fokussierbar ist und man muss die Key-Events ergänzen.

00:45:00.270 --> 00:45:03.390
Also die Key-Events bekomme ich nur gratis dazu, wenn ich ein Klick-Event auf

00:45:03.390 --> 00:45:05.710
einen Link, also auf ein A-Element oder auf ein Button-Element lege.

00:45:06.530 --> 00:45:09.650
Bei einem A-Element ohne href ist das halt nicht der Fall.

00:45:09.890 --> 00:45:13.550
Und das gilt genauso auch für alle anderen Geschichten. Also Image,

00:45:13.790 --> 00:45:20.690
Strong, TD, TR, Diff, also da sieht man auch sehr gerne irgendwelche Click-Events

00:45:20.690 --> 00:45:23.070
oben. Da habe ich dann auch die gleichen Probleme.

00:45:26.450 --> 00:45:33.430
Besonders findige Leute sagen dann, na gut, ich nehme meinen A-Element ohne

00:45:33.430 --> 00:45:38.030
HDF, füge aber ein Tab-Index hinzu, Tab-Index 0, dann ist es fokussierbar und

00:45:38.030 --> 00:45:39.450
dann mache ich noch eine Roll-Button drauf.

00:45:39.450 --> 00:45:42.810
Weil dann habe ich ein Element, dass das Button angekündigt wird,

00:45:42.890 --> 00:45:46.270
es ist fokussierbar und ich könnte dann vielleicht auch noch die Key-Events,

00:45:46.390 --> 00:45:51.610
Key-Down, Key-Up ergänzen und dann funktioniert es wie ein Button.

00:45:51.870 --> 00:45:53.630
Dann muss ich vielleicht noch im CSS ein bisschen was machen,

00:45:53.690 --> 00:45:56.670
damit auch aussieht wie ein Button und der Cursor richtig ist und so weiter,

00:45:56.750 --> 00:45:59.150
aber grundsätzlich kann man das tun.

00:46:00.570 --> 00:46:02.370
Da stellt sich nur die Frage, wozu?

00:46:04.392 --> 00:46:08.112
Ich könnte auch gleich einen Button verwenden. Das ist der Punkt. Ja.

00:46:09.932 --> 00:46:14.092
Ich meine, diese Liste von so, also den Patterns, die wir jetzt alle besprochen

00:46:14.092 --> 00:46:17.272
haben, ist halt super, weil es ist halt eigentlich immer ein,

00:46:17.972 --> 00:46:19.152
es ist immer ein Codesmell.

00:46:19.412 --> 00:46:21.472
Deutet immer darauf hin, irgendwas ist nicht, wie es sein müsste.

00:46:22.352 --> 00:46:26.152
Gründe können vielfältig sein, aber einfach mal so in der Codebase einen Grab

00:46:26.152 --> 00:46:29.412
auf diese Dinger machen, gucken, was man findet und gucken, ob man was verbessern

00:46:29.412 --> 00:46:31.852
kann, ist eigentlich nie eine schlechte Idee, weil irgendwas stinkt da immer.

00:46:33.472 --> 00:46:42.072
Absolut. Aber ich würde sagen, das riecht auch so nach progressive degradation

00:46:42.072 --> 00:46:45.312
sozusagen im Sinne von, man hat angefangen,

00:46:45.692 --> 00:46:50.112
einen Link reinzusetzen, dann kam irgendwer an und meinte, ja, hier,

00:46:50.632 --> 00:46:53.432
das ist aber ein Button, also das kann man ja nicht fokussieren mit dem Keyboard.

00:46:53.432 --> 00:46:56.652
Ah, Tabindex, alles klar, super.

00:46:57.072 --> 00:47:05.552
Und anstatt sozusagen das falsche Element auszutauschen, klebt man eben immer

00:47:05.552 --> 00:47:09.932
mehr Pflaster über das von Anfang an falsch ausgewählte für diesen Zweck.

00:47:11.387 --> 00:47:15.867
Genau, ich glaube, ich komme das auch. Ja, ich meine, eine Sache,

00:47:15.887 --> 00:47:19.187
die man machen kann, ist, man könnte auch CSS verwenden zum Debuggen.

00:47:19.547 --> 00:47:25.087
Also, die gibt es ja ein Projekt, das heißt LX, da schreibt man A11y.css, mit LX ausgesprochen.

00:47:25.487 --> 00:47:27.767
Und die verwenden einfach CSS-Selektoren für Debugging.

00:47:28.307 --> 00:47:33.807
Und in einer kleineren Form kann man das auch ins eigene Projekt mit reinnehmen und sagen, okay, wenn,

00:47:34.227 --> 00:47:37.467
also sozusagen mit einem Attributselektor, wenn href den Wert JavaScript void

00:47:37.467 --> 00:47:40.427
hat, oder wenn es beginnt mit JavaScript-Doppelpunkt, dann markiere ich das

00:47:40.427 --> 00:47:46.187
Element rot mit einem roten Rahmen beispielsweise oder wenn der Wert von Ahrefs ein Hash ist,

00:47:46.907 --> 00:47:50.207
dann könnte ich auch das Element markieren.

00:47:50.407 --> 00:47:54.487
Oder auch eine andere Sache, wenn ich mir HTML anschaue und ich schaue mir sehr

00:47:54.487 --> 00:47:58.267
viel HTML an, das andere Menschen geschrieben haben und ich sehe da einen Link

00:47:58.267 --> 00:48:03.527
und auf dem Link ist eine klasse Button, dann ist das auch häufig ein Indikator

00:48:03.527 --> 00:48:05.247
dafür, dass es ein Button sein sollte.

00:48:05.467 --> 00:48:08.107
Also manchmal ist es ein Link, der auch aussehen soll wie ein Button Das ist

00:48:08.107 --> 00:48:08.967
auch wieder ein eigenes Thema.

00:48:09.827 --> 00:48:12.427
Aber oft ist es... Ich wollte gerade sagen, das alleine ist ja 5 Grad würdig.

00:48:12.747 --> 00:48:14.347
Ja, ja, genau, genau, genau. Oder ja, eh.

00:48:15.467 --> 00:48:18.967
Aber oft ist es dann einfach so, dass du denkst, okay, gut, dann warum ist das kein Button?

00:48:19.207 --> 00:48:22.027
Oder noch viel eindeutiger ist es, wenn es auf einem Tiff oben ist oder auf

00:48:22.027 --> 00:48:24.647
einem Span oder sowas. Was auch sehr oft vorkommt. Mhm.

00:48:26.367 --> 00:48:31.247
Hier, zu dem CSS, das die schlechten Patterns debuggt, das sollte tatsächlich

00:48:31.247 --> 00:48:34.647
am besten wirklich matchen, einfach nur Ahrefs, das mit JavaScript-Doppelpunkt

00:48:34.647 --> 00:48:40.687
beginnt, weil ich habe ja vorhin schon JavaScript-Void 0 runtergegolft auf JavaScript 0.

00:48:41.087 --> 00:48:43.147
Ich habe es jetzt noch weiter runtergegolft.

00:48:43.667 --> 00:48:47.027
Ich habe die Spezifikationen gerade gelesen und tatsächlich ist es so,

00:48:47.227 --> 00:48:51.687
eine JavaScript-URL, da wird dann halt eben dieser href-Content genommen und

00:48:51.687 --> 00:48:55.107
dann wird da vorne JavaScript-Doppelpunkt abgeschnitten und der Rest von dem

00:48:55.107 --> 00:48:57.027
String wird dann einfach als Script evaluiert.

00:48:57.667 --> 00:49:01.587
Jetzt kannst du das Script aber auch leer haben. Sprich, den Effekt von JavaScript-Void

00:49:01.587 --> 00:49:04.147
0 kannst du auch erzielen, indem du 0 schreibst JavaScript-Doppelpunkt.

00:49:04.367 --> 00:49:06.987
Brauchst gar nichts dahinter stehen zu haben. Naja.

00:49:08.227 --> 00:49:13.087
Ja, super. Dann haben wir eine optimierte Variante, die jetzt in Zukunft weiterhin

00:49:13.087 --> 00:49:14.027
falsch erwähnt werden kann.

00:49:15.587 --> 00:49:18.267
Naja, einerseits das, andererseits ist es halt wirklich für so,

00:49:18.527 --> 00:49:20.787
nach was grappe ich, wenn ich wirklich diese Codesmails suche.

00:49:21.227 --> 00:49:24.287
Man sollte nicht zu spezifisch werden, weil da gibt es dann zumindest einigen Spielraum.

00:49:24.387 --> 00:49:28.147
Wenn also irgendwer diese seltsame Kombination aus, ich verwende dieses Pattern,

00:49:28.387 --> 00:49:31.627
aber ich versuche ja wirklich jedes Byte rauszuschmeißen, das wirklich zu Ende

00:49:31.627 --> 00:49:33.727
gedacht hat, könnte man mit dem Pattern tatsächlich auch ankommen.

00:49:34.307 --> 00:49:38.407
Wobei, das sieht halt wirklich wild aus. Das sieht aus, als wäre der Code kaputt.

00:49:38.707 --> 00:49:43.047
Aber er funktioniert. Also er ist kaputt. Aber wie intendiert kaputt?

00:49:44.327 --> 00:49:49.407
Ja, super. Aber gut, es ist doch eh immer schon CodeSmell, wenn du dieses JavaScript-Doppelpunkt

00:49:49.407 --> 00:49:50.447
in einem Haare fährst, oder?

00:49:50.567 --> 00:49:55.267
Also egal, was du dann machst, völlig wurscht. Das geht überhaupt nicht.

00:49:55.627 --> 00:49:58.927
Also, ja. Ja, also ...

00:50:01.107 --> 00:50:06.287
Also ich glaube, das ist keine Ausnahme zu dieser Regel. Es geht einfach nie. Don't do it.

00:50:07.767 --> 00:50:17.247
Ja, also hast du schon recht. Also ich habe halt folgendes, folgende News Case.

00:50:18.167 --> 00:50:21.787
Jetzt nicht für jetzt Elemente. Pass auf, pass auf, pass auf.

00:50:21.987 --> 00:50:24.667
Ich habe hier meine eigene Slide Software gebaut und weil die halt eben auch

00:50:24.667 --> 00:50:28.547
so seit zehn Jahren immer so dran tacker, immer abwärtskompatibles Mistding

00:50:28.547 --> 00:50:33.207
ist, sind da halt so Sachen drin, wie ich will an so eine Sliden-Activation-Behaviour dran haben.

00:50:33.387 --> 00:50:35.707
Also wenn sichtbar, feuere dieses Skript ab.

00:50:36.107 --> 00:50:41.087
Ist ja, glaube ich, sinnvoll. Aber das Problem ist, dass im Zuge dieses Prozesses,

00:50:41.087 --> 00:50:43.927
was dieses Ding halt eben macht mit Legacy-Code und das nicht gesehen,

00:50:44.327 --> 00:50:47.307
teilweise diese Slide-Elemente wie wild durch die Gegend geklont werden.

00:50:48.387 --> 00:50:50.727
Und da kannst du ja nicht einfach dann ein Skript da dran haben,

00:50:50.907 --> 00:50:53.627
weil das ja, wenn das in ein anderes Dokument transportiert wird,

00:50:53.927 --> 00:50:57.587
dann ja möglicherweise wegen irgendwelchen Security-Kisten dann nicht mehr ausgeführt

00:50:57.587 --> 00:50:59.387
werden kann. Dann ist es irgendwie tainted oder blödsinn.

00:50:59.867 --> 00:51:02.647
Und da hat es sich tatsächlich als relativ sinnvoll erwiesen,

00:51:03.207 --> 00:51:05.687
so einfach so Inline-Event-Händler da dran zu bauen.

00:51:05.867 --> 00:51:09.447
Also so mit On und auch einem JavaScript-String da drin.

00:51:11.630 --> 00:51:15.570
Das ist halt jetzt auch nicht irgendwie so die feine englische Art und so und

00:51:15.570 --> 00:51:18.210
das sieht irgendwie relativ schön aus. Aber es ist ja immer noch was anderes, ne?

00:51:18.510 --> 00:51:26.110
Also es ist auch nicht schön, aber es ist halt nicht das gleiche wie href gleich

00:51:26.110 --> 00:51:28.450
JavaScript-Doppelpunkt.

00:51:28.850 --> 00:51:31.770
Richtig, genau. Also die Einwände von Manuel spielen da keine Rolle,

00:51:32.070 --> 00:51:35.910
aber meine sämtlichen Einwände von wegen Sicherheit, Blödsinn,

00:51:36.030 --> 00:51:40.170
was machst du da eigentlich, wo befindest du dich eigentlich da jetzt gerade mental?

00:51:40.170 --> 00:51:43.630
Und das ist halt eben genauso der Punkt, wo ich mich halt so an dieser Schnittstelle

00:51:43.630 --> 00:51:46.550
befinde aus ich muss halt diesen ganzen Legacy-Fuhr supporten oder ich will

00:51:46.550 --> 00:51:49.770
das und ich muss jetzt dieses Zeug fertig kriegen und das muss alles irgendwie

00:51:49.770 --> 00:51:53.230
funktionieren in dieser relativ einmaligen Kombination aus Constraints,

00:51:53.670 --> 00:51:56.170
dann greift man halt wirklich in die Mottenkiste und holt sich da raus,

00:51:56.270 --> 00:51:59.290
weißt du was, einfach einen JavaScript-String ins HTML reinschreiben,

00:51:59.490 --> 00:52:02.390
damit er durch Eval gejagt wird, egal wie langsam und unsicher das ist,

00:52:02.650 --> 00:52:05.650
ist zu diesem einen Zeitpunkt jetzt gerade mal genau das Richtige.

00:52:07.150 --> 00:52:11.730
Das ist auch nicht so schlimm wie von du kennst die Regeln und games das System absichtlich.

00:52:11.950 --> 00:52:18.590
Das ist ja dann immer so, das ist ja die Kür, also dass man das Regelwerk kennt

00:52:18.590 --> 00:52:23.010
und beherrscht, aber eben dann sich bewusst entscheidet, damit zu brechen,

00:52:23.710 --> 00:52:25.490
ist ja was anderes als eben.

00:52:27.006 --> 00:52:30.306
Sie zu brechen, ohne dass man sich dessen bewusst ist. Jetzt komme ich mir irgendwie

00:52:30.306 --> 00:52:33.586
vor wie so ein Formel-1-Star, der irgendwie auch sagt, wenn man nicht versucht,

00:52:33.666 --> 00:52:36.626
die Regeln zu verbiegen, dann probiert man es nicht wirklich.

00:52:36.726 --> 00:52:40.326
Dann ist das irgendwie ein Mangel an Einsatz. Dann versucht man gar nicht zu gewinnen.

00:52:40.926 --> 00:52:42.586
Aber so ein bisschen ist es. Vielleicht.

00:52:43.726 --> 00:52:48.546
Aber das ist ja, was du beschreibst, ist ja okay, solange der Nutzerin dient.

00:52:48.666 --> 00:52:53.586
Also in deinem Fall ist, ja, doch, solange es der Nutzerin dient und nicht irgendwas

00:52:53.586 --> 00:52:56.686
an der Usability oder Accessibility oder wie auch immer kaputt macht.

00:52:56.686 --> 00:52:59.906
Also das geht eher um deine Punkte und weniger um meine Punkte.

00:53:00.686 --> 00:53:04.446
Ja, ich meine, theoretisch könnte ich einfach meine Software in richtig schreiben.

00:53:04.606 --> 00:53:07.706
Statt einfach zu sagen, das Ding, was ich vor zehn Jahren gebastelt habe,

00:53:07.926 --> 00:53:09.106
muss immer noch weiter funktionieren.

00:53:09.166 --> 00:53:11.666
Weil könnte ja sein, dass irgendwer nochmal dieses alte Ding erklärt haben will.

00:53:12.506 --> 00:53:13.966
Also ich könnte es auch richtiger machen.

00:53:15.266 --> 00:53:17.106
Ja, okay. Will eigentlich.

00:53:20.886 --> 00:53:26.666
Ja. Ich habe etwas gefunden hier. Ah ja, Shep, bitte, du zuerst.

00:53:27.526 --> 00:53:30.466
Genau, also wir fallen uns manchmal ins Wort, weil wir so ein bisschen Delay

00:53:30.466 --> 00:53:32.726
haben. Dafür schon mal auf jeden Fall sorry an alle Hörenden.

00:53:33.766 --> 00:53:40.266
Du hattest ja vorhin kurz eben das Button-Unsetting beschrieben, wie du das machst.

00:53:40.466 --> 00:53:46.226
Und was ich ganz spannend finde, ist, dass der Button selber gar keinen so einen

00:53:46.226 --> 00:53:48.586
Finger-Cursor hat, so per Default.

00:53:48.846 --> 00:53:51.686
Und das ja auch immer so ein Ding ist, was man so drauf macht.

00:53:51.786 --> 00:53:54.786
Aber eigentlich soll man das nicht. Also da würde mich interessieren,

00:53:55.046 --> 00:53:59.146
wie ihr das so seht, also was so euer Default ist.

00:53:59.306 --> 00:54:03.026
Da gibt es auch so einen Blogpost von Hilde De Vries, so ein bisschen älter,

00:54:03.106 --> 00:54:05.046
glaube ich schon, aber das kann ich ja mal verlinken.

00:54:07.546 --> 00:54:10.546
Genau, und dann hat der Peter ja auch nochmal so extra Beef mit Target Blank,

00:54:10.626 --> 00:54:15.326
aber ich weiß nicht, ob wir das aufmachen wollen noch, dieses Kapitel,

00:54:15.406 --> 00:54:17.866
aber es hat ja auch was mit Accessibility zu tun, so ein bisschen, ne?

00:54:23.311 --> 00:54:26.531
Ich finde das irgendwie ein bisschen ein mühsames Thema. Es ist mir voll wurscht.

00:54:26.711 --> 00:54:30.331
Und ich glaube auch, dass es den Usern voll wurscht ist, ob da jetzt irgendwie

00:54:30.331 --> 00:54:33.011
der Default-Cursor ist oder der Pointer-Cursor.

00:54:34.151 --> 00:54:38.211
Ich weiß nicht. Ich habe da die Debatte mitbekommen damals und ich glaube,

00:54:38.251 --> 00:54:39.751
vor kurzem wurde es auch nochmal aufgewärmt.

00:54:39.851 --> 00:54:44.591
Ich glaube, der Andy Bell hat gesagt, dass er immer den Cursor ändert,

00:54:44.731 --> 00:54:47.611
weil es einfach zeigt, dass es sozusagen kein...

00:54:48.451 --> 00:54:53.031
Weil es einfach zeigt, dass es ein interaktives Element ist und es erläutern, das mir verdeutlicht.

00:54:53.931 --> 00:54:57.991
Ich mache es ehrlich gesagt auch. Ich nehme auch den Cursor-Pointer.

00:54:58.191 --> 00:54:59.271
Ich würde das auch so machen.

00:54:59.771 --> 00:55:02.371
Ich finde nur, die Debatte finde ich einfach komplett unerregt.

00:55:02.871 --> 00:55:04.331
Es bringt, ich weiß nichts.

00:55:04.991 --> 00:55:07.811
Weil da geht es, glaube ich, eher um Prinzipien und weniger um das,

00:55:07.891 --> 00:55:12.871
was sozusagen die User dann damit oder wie es die User betrifft, kommt mir vor.

00:55:13.891 --> 00:55:17.771
Absolut. Absolut, weil ich meine, wenn dein Backen nicht ohnehin als so,

00:55:17.891 --> 00:55:21.131
mit dem Ding schickst du das Formular ab, wenn das nicht ersichtlich ist,

00:55:21.631 --> 00:55:25.511
dann ist das mit dem Cursor wirklich das letzte Detail, dass da noch irgendwas

00:55:25.511 --> 00:55:29.011
dran ändert, dann hast du ein größeres Problem. Ich mache es halt auch aber aus Prinzip.

00:55:30.211 --> 00:55:35.011
Ja. Aber ich dachte, vielleicht weißt du ja zu berichten, dass es vielleicht

00:55:35.011 --> 00:55:39.291
in der Tat auch irgendwie Nutzergruppen gibt, für die das möglicherweise irritierend

00:55:39.291 --> 00:55:41.191
sein könnte. Ich bin da eher beim Beta.

00:55:41.471 --> 00:55:47.091
Also wenn die Komponente so sehr nicht eindeutig ist, dass das jetzt ein Button

00:55:47.091 --> 00:55:51.411
ist, dann liegt es in den meisten Fällen nicht am Cursor, sondern viel eher

00:55:51.411 --> 00:55:53.771
an dem Design von dem Button, der halt nicht aussieht wie ein Button,

00:55:53.871 --> 00:55:55.231
sondern vielleicht wie Text oder sonst irgendwas.

00:55:56.391 --> 00:56:03.731
Ja, also es ist eh bei ganz vielen von diesen Debatten bin ich einfach raus,

00:56:04.371 --> 00:56:07.411
über die Zeit habe ich so einen ganz massiven Pragmatismus entwickelt,

00:56:07.591 --> 00:56:10.571
wo ich einfach nur denke, okay, bringt es den Leuten was oder bringt es ihnen

00:56:10.571 --> 00:56:13.171
nicht, schadet es was oder schadet es nicht so, treffe ich meine Entscheidung

00:56:13.171 --> 00:56:17.231
fertig, ist egal, was jetzt irgendwie allgemeiner Konsens ist oder sonst irgendwie.

00:56:19.922 --> 00:56:23.002
Genau, aber schadet eben jemandem. Nicht, dass ich wüsste.

00:56:23.322 --> 00:56:26.422
Ich habe es noch nicht erlebt, dass jemand gesagt hat, hey Leute,

00:56:26.722 --> 00:56:29.622
da habt ihr einen falschen Cursor, das ist schon ein Org, ich verstehe nicht,

00:56:29.642 --> 00:56:31.742
wie ich diesen Button verwende, weil jetzt da sich der Cursor ändert.

00:56:31.842 --> 00:56:32.862
Das habe ich noch nicht erlebt.

00:56:33.442 --> 00:56:38.042
Es gibt natürlich Beispiele, wenn du den jetzt änderst zu diesem Verbotenzeichen,

00:56:38.262 --> 00:56:39.762
ich weiß jetzt den Fachausdruck nicht,

00:56:41.602 --> 00:56:45.182
solche Dinge oder Resize oder ähnliches, wenn Pfeile in die falschen Richtungen

00:56:45.182 --> 00:56:48.882
zeigen, das ist natürlich schon so etwas, aber konkret jetzt bei dem Buttonbeispiel

00:56:48.882 --> 00:56:49.782
hätte ich noch nie davon gehört.

00:56:49.922 --> 00:56:52.362
Was es wirklich auch User-negativ betrifft.

00:56:54.162 --> 00:56:56.702
Das ist mir vor allem auch noch nie aufgefallen. Also ich könnte jetzt nicht

00:56:56.702 --> 00:56:59.782
sagen, bei irgendwie gegebener Webseite X, auch wenn ich die jeden Tag benutze,

00:57:00.222 --> 00:57:01.222
ob die das machen oder nicht.

00:57:02.582 --> 00:57:06.442
Na, vor allem jetzt 2025, also bei den meisten Webseiten, ich weiß nicht alle,

00:57:06.682 --> 00:57:09.442
aber bei den meisten kommen 75% der Leute über das Smartphone.

00:57:11.322 --> 00:57:14.022
Ja. Ja. Auch ein sehr guter Grund,

00:57:16.282 --> 00:57:18.922
diesen Kram zu ignorieren, irgendwie so zu rubrizieren unter,

00:57:18.922 --> 00:57:22.502
das ist Tabs vs. Spaces 2.0. Ja, genau, voll.

00:57:23.762 --> 00:57:25.102
Für Leute, denen fad ist.

00:57:28.382 --> 00:57:31.502
Gut. Ich habe auch noch einen. Ich habe mich ja vorhin bei der Frage,

00:57:31.722 --> 00:57:34.322
was zählt hier eigentlich als Hyperlink? So ein bisschen zum Obst gemacht,

00:57:34.402 --> 00:57:35.702
als ich Link rausgekramt habe.

00:57:36.862 --> 00:57:39.742
Weil in meinem Kopf halt drin war, warte mal, du hast, aber da ist noch ein

00:57:39.742 --> 00:57:41.802
anderes Ding, das Hyperlinks macht.

00:57:42.582 --> 00:57:49.502
Was ist es? Sag Link. Ist aber gar nicht Link gewesen. Wir haben Area völlig vergessen. Das stimmt.

00:57:51.642 --> 00:57:57.842
Ja, aber ich tue mir so schwer, weil auch wenn ich jetzt nicht mehr über HTML

00:57:57.842 --> 00:58:00.742
spreche, wie oft sieht man ARIA heutzutage noch?

00:58:00.982 --> 00:58:04.882
Also ich habe noch Websites gebaut mit Image Maps, aber wie oft sieht man es

00:58:04.882 --> 00:58:05.882
noch? Kommt es noch so oft vor?

00:58:06.322 --> 00:58:09.002
Aber das stimmt schon, ja, es linkt auch quasi wohin.

00:58:11.487 --> 00:58:16.407
Ja, also ich glaube, wenn du auf Wikipedia bist und irgendwie du hast so eine

00:58:16.407 --> 00:58:20.987
Karte irgendwie, Staat hast du nicht gesehen, mit so irgendwie den Gliedstaaten

00:58:20.987 --> 00:58:24.247
da drin, irgendwie so Bundesstaaten oder ähnliches, und du klickst da drauf,

00:58:24.407 --> 00:58:25.787
ich glaube, das sind noch Image-Maps.

00:58:26.167 --> 00:58:30.127
Aber auch das ist fragwürdig, weil sowas sollte ja heutzutage eine Vektorgrafik

00:58:30.127 --> 00:58:31.507
sein. Da sind die Links dann direkt drin.

00:58:33.027 --> 00:58:37.987
Aber keine Ahnung, wenn du so irgendwie einen hochqualitativen Scan von irgendeiner

00:58:37.987 --> 00:58:41.567
mittelalterlichen Karte hast, irgendwie so, was du halt nicht vektorisieren kannst.

00:58:41.667 --> 00:58:43.867
Und da willst du halt genau wissen, wenn du da drauf drückst,

00:58:43.927 --> 00:58:48.587
landest du halt eben auf diesem Fantasiebild des Löwen, statt irgendwie im Ozean hier wie Dragons.

00:58:50.047 --> 00:58:53.007
So, Use Cases, Use Cases, ich sehe es halt nie, aber ich könnte mir welche vorstellen.

00:58:53.487 --> 00:58:55.647
Nein, nein, ich bin mir sicher, dass es welche gibt, aber üblicherweise sind

00:58:55.647 --> 00:58:58.907
es, wie du sagst, SVGs und die sind meistens dann nicht barrierefrei,

00:58:59.047 --> 00:59:01.487
weil dann einfach nur Click-Events ist auf den einzelnen Pfaden oder auf den

00:59:01.487 --> 00:59:07.047
einzelnen Elementen im SVG, die nicht benannt sind und auch nicht fokussierbar sind normalerweise.

00:59:07.047 --> 00:59:09.487
Das würde wieder für die Image-Maps sprechen.

00:59:10.907 --> 00:59:14.027
Tatsächlich habe ich die aber nie getestet. Also mir kommt es einfach nicht

00:59:14.027 --> 00:59:16.467
mehr unter. Es kommt einfach nicht mehr vor.

00:59:17.647 --> 00:59:19.727
Deswegen weiß ich da jetzt nicht, ob es da irgendwelche Probleme gibt.

00:59:19.807 --> 00:59:21.687
Ich weiß sogar nicht, wie man es am besten benennt, ob man dann,

00:59:21.787 --> 00:59:24.547
weiß ich nicht, ARIA-Label verwendet oder keine Ahnung.

00:59:25.527 --> 00:59:28.567
Es ist das letzte Mal, dass ich so eine Image-Map gesehen habe,

00:59:28.987 --> 00:59:33.387
war, wie ich es verwendet habe, wie ich eine Website gebaut habe. Und das war 2008.

00:59:35.167 --> 00:59:38.687
Also schon ein bisschen eine Weile her. Aber die war Bombe-Design.

00:59:38.787 --> 00:59:44.427
Das war komplett ein Table-Design, nur mit Bildern. Da war kein einziger Text drinnen.

00:59:45.527 --> 00:59:50.247
Durchgesliced in, wie hieß das, Fireworks und verlinkt mit Image-Maps.

00:59:51.387 --> 00:59:54.227
Das Einzige, was noch gefehlt hat, war Framesets. Dreamweaver konnte schon mal

00:59:54.227 --> 00:59:55.367
das super machen. Ja, genau.

00:59:59.703 --> 01:00:04.283
Ah ja, okay. Also ich wollte nur sagen, was so das Verhalten angeht von so Ahrefs-Attribut

01:00:04.283 --> 01:00:07.083
und aktiviere und navigieren, das ist tatsächlich das Gleiche.

01:00:07.283 --> 01:00:09.983
Das habe ich jetzt hier so den Spezifikationen entnommen. Das verweist sozusagen

01:00:09.983 --> 01:00:15.583
alles auf den gleichen Algorithmus, was dann so Barrierefreiheit und tatsächlich

01:00:15.583 --> 01:00:18.303
User Experience und so angeht.

01:00:18.863 --> 01:00:22.443
Kein Plan, weil ich habe wahrscheinlich auch 2008 oder so zuletzt so ein Ding gesehen.

01:00:23.803 --> 01:00:26.583
Also du hast recht, streng genommen müsste man eigentlich sagen,

01:00:26.803 --> 01:00:31.203
dass ich die beiden Elemente zum Flinken kommentieren kann, stimmt's.

01:00:33.156 --> 01:00:36.656
Genau, aber die Frage kann man ja auch andere... Einfach einmal und sagt dann

01:00:36.656 --> 01:00:41.036
hinterher immer nur noch Hyperlink und meint dann einfach die Area mit, dann passt das schon.

01:00:42.016 --> 01:00:45.976
Genau, und wir können unsere HörerInnen ja mal fragen, habt ihr noch irgendwas

01:00:45.976 --> 01:00:48.936
im Einsatz, das Image Maps benutzt?

01:00:49.136 --> 01:00:53.456
Dann bitte gebt uns den Link. Wir würden uns ja echt interessieren.

01:00:54.436 --> 01:00:55.556
Genau, wer weiß.

01:00:56.656 --> 01:01:00.636
Genau, dann machen wir eine Revision hier, wir roasten eure Image Maps, wie wär's?

01:01:02.716 --> 01:01:06.476
Na, die wird nicht sehr lang, glaube ich. Ja, und bevorzugt halt von modernen

01:01:06.476 --> 01:01:09.296
Websites, weil irgendeine alte kann ich sicher auch noch ausgraben.

01:01:09.416 --> 01:01:11.496
Also es gibt das ein oder andere Gasthaus in Wien beispielsweise,

01:01:12.316 --> 01:01:14.416
die auch noch Framesets verwenden und Tables.

01:01:16.216 --> 01:01:19.376
Aber spannend wäre es auf einer aktuellen Seite. Einigermaßen aktuell.

01:01:19.696 --> 01:01:21.616
So was in den letzten, was ist das, zehn Jahren oder so.

01:01:23.256 --> 01:01:26.576
Das wäre cool. Oder vielleicht gibt es auch Leute, die das irgendwie missbrauchen,

01:01:26.696 --> 01:01:28.616
um was Cooles zu hacken damit. Kann ja auch sein.

01:01:29.216 --> 01:01:33.156
Ja. Ja, das finde ich auch immer interessant, auch wenn es vielleicht irgendwie

01:01:33.156 --> 01:01:34.656
dann andere Probleme hat.

01:01:34.796 --> 01:01:38.876
Aber so spannend ist es zu sehen. Auf jeden.

01:01:39.876 --> 01:01:42.696
Ja, wunderbar. Das war doch cool. Hat Spaß gemacht.

01:01:42.876 --> 01:01:46.736
Ich habe das ja nicht so ganz genau verfolgt, wie ihr da irgendwie übereinander

01:01:46.736 --> 01:01:51.936
gestolpert seid auf Mastodon und das hier festgezohrt habt, unser Treffen.

01:01:53.516 --> 01:01:58.176
Ich kann dir das sagen, wie das war. Das war 1%. Ah, der Manuel hat was geschrieben.

01:01:58.176 --> 01:02:00.716
Da könnte ich mich auch drüber aufregen. Lass Sendung draus machen.

01:02:00.876 --> 01:02:03.036
Und die anderen 99% waren Terminfindung.

01:02:03.776 --> 01:02:07.076
Ja, das stimmt. Das war ein bisschen, ja.

01:02:07.536 --> 01:02:10.236
Aber hat super funktioniert. Und ich muss dir noch kurz Props geben,

01:02:10.376 --> 01:02:14.056
nicht, dass ich sie vergesse für die Überleitung. Die war wirklich fabelhaft. Die war sehr gut.

01:02:17.675 --> 01:02:20.715
Zum Abschluss mache ich hier einen shameless Plug für dich, Manuel,

01:02:20.955 --> 01:02:27.755
denn der diesjährige HTML-Adventskalender ist am Start mit ganz,

01:02:27.795 --> 01:02:30.235
ganz vielen wieder spannenden Beiträgen.

01:02:30.415 --> 01:02:34.735
Also der Link ist in Show Notes und genau, da solltet ihr unbedingt jeden Tag

01:02:34.735 --> 01:02:38.895
vorbeischauen und nachlesen, was es an neuen Artikeln gibt.

01:02:39.215 --> 01:02:41.595
Ja, vielen Dank. Wenn du es nicht gemacht hättest, hätt es ich gemacht,

01:02:41.815 --> 01:02:46.395
weil wir dieses Jahr jetzt zum vierten Mal in Folge, glaube ich,

01:02:46.735 --> 01:02:47.975
oder zum dritten Mal in Folge,

01:02:48.475 --> 01:02:54.915
wieder 24 plus Artikel haben von 24 plus verschiedenen AutorInnen,

01:02:54.995 --> 01:02:59.175
die exklusiv über HTML schreiben oder fast exklusiv über HTML.

01:02:59.495 --> 01:03:02.455
Also jeder Artikel, da geht es irgendwie um Barrierefreiheit oder Performance,

01:03:02.875 --> 01:03:08.455
User Experience, manchmal auch über Geschichte oder über Spezifikation oder

01:03:08.455 --> 01:03:10.955
Probleme mit gewissen Entscheidungen und so weiter.

01:03:11.055 --> 01:03:14.535
Das ist sehr spannend und ich habe die meisten auch schon gelesen und gereviewt.

01:03:14.815 --> 01:03:17.715
Und das wird wieder super werden. Und ja, checkt es aus.

01:03:18.935 --> 01:03:24.935
Jawohl. Machen wir. Dann vielen Dank, dass du da warst. Mal wieder.

01:03:25.315 --> 01:03:27.455
Vielen Dank für die Einladung. Auf bald.

01:03:28.095 --> 01:03:29.955
Das wird bestimmt nicht das letzte Mal gewesen sein.

01:03:30.795 --> 01:03:34.995
Und genau. Danke, Peter. Dann hören wir uns nächste Woche wieder.

01:03:35.115 --> 01:03:37.815
Das Thema wissen wir noch nicht. Aber wird sich schon was ergeben.

01:03:38.695 --> 01:03:42.495
Ganz bestimmt sogar. Dann bis dann. Tschüss. Danke fürs Zuhören.

01:03:43.135 --> 01:03:44.395
Dankeschön. Tschüssi. Baba.

