WEBVTT

00:00:00.017 --> 00:00:04.797
Dev-Tools ist so etwas, was immer mal wieder in der ARIA-Working-Group auch hochkommt.

00:00:04.937 --> 00:00:08.197
Und tatsächlich habe ich diese Woche auch wieder auf die Agenda für ein Meeting gesetzt.

00:00:08.937 --> 00:00:12.117
Ich habe, Peter, als du das letztes Mal erklärt hast, gedacht,

00:00:12.437 --> 00:00:13.997
finde ich das gut? Brauche ich das?

00:00:14.277 --> 00:00:18.417
Oder gefällt mir das? Hintergrund ist, wir machen im Wesentlichen ja sehr viel

00:00:18.417 --> 00:00:23.257
Server-Side-Rendert und bauen uns da die IDs, sage ich mal, sehr generisch zusammen,

00:00:23.457 --> 00:00:26.577
um sicherzustellen, dass die auch eindeutig sind und so weiter.

00:00:26.577 --> 00:00:30.997
Die gängigen Screenreaders, vor allem auf Windows, haben zwei Modi.

00:00:31.357 --> 00:00:36.677
Das ist der Browse-Modus und das ist der Fokus-Modus oder App-Modus oder Formular-Modus.

00:01:01.362 --> 00:01:07.822
Revision 707. Wir sind heute zu viert. Aus dem Team bin nur ich dabei, der Shep.

00:01:08.142 --> 00:01:12.322
Und das bedeutet, wir haben drei Gäste. Und das wäre zum einen der Pavel.

00:01:12.702 --> 00:01:14.562
Hallo Pavel. Schön Erfolg gerade.

00:01:15.062 --> 00:01:19.182
Genau, stell dich mal ganz kurz vor. Du warst ja schon bei uns zu Gast,

00:01:19.362 --> 00:01:21.882
aber stell dich doch einfach nochmal kurz vor.

00:01:21.882 --> 00:01:28.062
Mein Name ist Paweł Masarczyk und ich arbeite als Accessibility and Experience

00:01:28.062 --> 00:01:32.062
Expert bei der Agentur Wienfluss in Wien.

00:01:32.442 --> 00:01:38.442
Surprise, surprise. Und wir sind eine Agentur, die sich für Webentwicklung und

00:01:38.442 --> 00:01:39.642
Barrierfreiheit spezialisiert.

00:01:39.642 --> 00:01:45.562
Also einerseits machen wir Webseiten für unsere Kunden, aber andererseits prüfen

00:01:45.562 --> 00:01:50.462
wir auch Webseiten von anderen, die von uns so eine Prüfung oder Training oder

00:01:50.462 --> 00:01:52.642
Begleitung gerne bestellen.

00:01:52.642 --> 00:01:58.062
Und ich bin eher in diesem zweiten Bereich tätig als Tester,

00:01:58.382 --> 00:02:04.382
als Trainer, als Berater und deswegen Experience steht in meinem Titel,

00:02:04.502 --> 00:02:06.222
weil ich seit meiner Geburt blind bin.

00:02:06.522 --> 00:02:11.582
Ich bin ein native Screenreader-User und dementsprechend berate ich auch intern

00:02:11.582 --> 00:02:16.382
bei uns im Team, aber auch extern an unsere Kunden alles, was die Benutzererfahrung

00:02:16.382 --> 00:02:19.682
in Bezug auf Barrierfreiheit und Screenreaders angeht.

00:02:21.122 --> 00:02:25.562
Sehr cool. Dann haben wir den Peter. Hallo, Peter.

00:02:27.102 --> 00:02:30.962
Hallo. Schön, wieder da zu sein. Genau, du sitzt in Bonn, ne?

00:02:31.482 --> 00:02:36.662
Das ist richtig, genau. Ich sitze in Bonn. Ich bin selbstständig unterwegs und

00:02:36.662 --> 00:02:39.842
bin in dem Sinne Berater, wie man so schön sagt.

00:02:40.422 --> 00:02:46.442
Vor allem im wissenschaftlichen Verlagswesen. und außerdem bin ich ein Invited

00:02:46.442 --> 00:02:50.662
Expert, was einfach nur heißt Freiwilliger oder Ehrenamtler,

00:02:50.942 --> 00:02:55.342
bei der W3C ARIA Working Group. Ja, cool.

00:02:56.402 --> 00:02:59.982
Und dann haben wir den Marco aus Oldenburg. Oldenburg war es doch.

00:03:00.322 --> 00:03:03.222
Nein, Norderstedt. Norderstedt, ja, so. Sorry.

00:03:03.962 --> 00:03:07.242
Alles gut, ich bin glaube ich hier das Nordlicht in der Runde.

00:03:07.822 --> 00:03:13.182
War jetzt auch schon ein paar Mal mit dabei zum Thema ARIA und Und ja,

00:03:13.362 --> 00:03:16.382
ich arbeite bei der PPI AG.

00:03:16.722 --> 00:03:23.082
Wir sind ein mittlerweile fast schon Konzern, sag ich mal, der Software für

00:03:23.082 --> 00:03:29.362
Banken und Versicherungen herstellt und ja, im Wesentlichen eher eine Backend-Company.

00:03:29.582 --> 00:03:34.342
Aber wie das so ist, auch wir brauchen Frontends und ich habe da das Glück,

00:03:34.462 --> 00:03:37.582
dass ich mich um die Frontends unserer Produkte kümmern darf.

00:03:38.102 --> 00:03:41.842
Ja, und Barrierefreiheit spielt da ja auch eine große Rolle.

00:03:41.942 --> 00:03:48.162
Das spielt eine Rolle, auch wenn das je nach Kunde durchaus unterschiedlich ist.

00:03:48.302 --> 00:03:52.542
Es gibt ja öffentliche Banken oder Bundesbank, KfW zum Beispiel,

00:03:52.722 --> 00:03:56.622
die mit dem Thema Barrierefreiheit ganz anders umgehen müssen als vielleicht

00:03:56.622 --> 00:03:58.342
irgendwelche Privatbanken und Unternehmen.

00:04:00.993 --> 00:04:05.353
Genau, und die Hörenden hören das schon raus.

00:04:05.593 --> 00:04:11.493
Also es geht ja hier, irgendwie riecht es alles hier wieder nach Accessibility, Barrierefreiheit.

00:04:11.673 --> 00:04:17.533
Und das ist auch korrekt, weil wir wollen heute wieder ARIA Glücksrad spielen.

00:04:17.733 --> 00:04:22.513
Das macht uns einfach Spaß und das ist auch immer sehr erkenntnisreich.

00:04:22.513 --> 00:04:27.813
Und genau, deswegen haben wir uns letztes Mal fürs nächste Mal verabredet,

00:04:27.873 --> 00:04:31.593
was eben heute ist und genau, wir drehen wieder an unserem Glücksrad,

00:04:31.793 --> 00:04:39.913
das man unter workinggraph.de slash glücksrad findet und wir haben alles wegselektiert,

00:04:40.153 --> 00:04:44.733
außer den Accessibility-Teil und genau,

00:04:45.733 --> 00:04:49.333
wir werden dann abwechselnd den Knopf drücken und dann wird irgendwas,

00:04:49.753 --> 00:04:57.013
Barriere, Freiheitsbezogenes oder mit ARIA zu tun, haben das aus den MDN-Daten

00:04:57.013 --> 00:04:59.493
rausgefischt und uns vor die Füße geworfen.

00:04:59.653 --> 00:05:02.653
Und dann schauen wir mal, was wir so darüber wissen oder auch nicht wissen.

00:05:04.273 --> 00:05:08.653
Und ich weiß nicht, wer von euch hat Bock zu starten? Marco,

00:05:08.713 --> 00:05:10.953
willst du den ersten Knopfdruck tätigen?

00:05:11.653 --> 00:05:13.113
Ich kann das gerne machen.

00:05:13.993 --> 00:05:15.533
Ich versuche es einfach mal.

00:05:17.973 --> 00:05:22.473
Aha, ARIA Selected haben wir. ARIA Selected. Genau.

00:05:23.713 --> 00:05:26.973
Ich glaube, das hatten wir auf jeden Fall noch nicht. Also manchmal kommt das

00:05:26.973 --> 00:05:30.293
ja vor, dass wir dann so in so Glücksradrunden dann Dinge bekommen,

00:05:30.453 --> 00:05:31.193
die wir schon mal hatten.

00:05:31.393 --> 00:05:34.773
Aber Aria Selected hatten wir, glaube ich, noch nicht, oder?

00:05:37.588 --> 00:05:39.488
Ich kann mich nicht erinnern.

00:05:42.488 --> 00:05:49.928
Genau. Auf jeden Fall ist es etwas, wo es kein natives HTML-Äquivalent zu gibt.

00:05:51.408 --> 00:05:56.708
Meinst du? Ich weiß es gar nicht. Was wäre denn mit einer Chipbox oder mit einer Option?

00:05:58.088 --> 00:06:04.808
Ebenso. Also ich glaube, es gibt ein paar Control-Typen oder Elementen-Typen,

00:06:05.048 --> 00:06:06.988
die diesen Attribut haben dürfen.

00:06:07.588 --> 00:06:11.188
Mir kommt eher Option vor, weil Checkbox, das ist eher ARIA-checked,

00:06:11.248 --> 00:06:16.928
das ist ein anderes Attribut oder anderer Zustand.

00:06:17.468 --> 00:06:19.628
Aber außer Option ist,

00:06:21.177 --> 00:06:24.217
Das ist eine gute Frage, welche Elemente das noch unterstützen.

00:06:24.377 --> 00:06:29.277
Ich habe das Gefühl, das bezieht sich auf mehrere Elemente. Wobei Option ist

00:06:29.277 --> 00:06:30.357
das Erste, was mir einfällt.

00:06:31.237 --> 00:06:34.837
Soll ich es sagen? Ja, sag mal. Ich bin natürlich immer derjenige,

00:06:35.017 --> 00:06:38.337
der MDN nicht vertraut und deswegen die Spezifikation gleich offen hat.

00:06:40.357 --> 00:06:45.777
Deswegen, es sind, man möchte fast sagen, die üblichen Verdächtigen für irgendwas Kompliziertes.

00:06:46.037 --> 00:06:49.657
Das ist Grid-Cell, Option, Roll und Tab.

00:06:50.377 --> 00:06:53.957
Das sind die Rollen, für die es passieren darf.

00:06:54.417 --> 00:06:58.497
Ja, Tab. Das habe ich voll vergessen. Und dann deren Inherited,

00:06:58.657 --> 00:07:04.277
also sowas wie Column Header, Row Header und auch Tree Item interessanterweise. Genau.

00:07:05.937 --> 00:07:12.317
Und was für eine, also inwiefern, also was macht ARIA Selected anders bei einem

00:07:12.317 --> 00:07:14.897
Grid als jetzt der Fokus?

00:07:15.117 --> 00:07:18.917
Ist es dann, wenn man irgendwie mehrere Grid Cells irgendwie auswählen möchte,

00:07:18.977 --> 00:07:22.037
aus welchen Gründen noch immer, oder? Ich glaube, das ist der wesentliche Grund, ja.

00:07:23.477 --> 00:07:27.257
Mehrfach Auswahl. Ich möchte all diese E-Mails löschen, ich möchte all diese,

00:07:28.777 --> 00:07:33.077
Zeilen in meinem Spreadsheet löschen. Diese Art von Situation.

00:07:33.537 --> 00:07:36.077
Oder eben auch auswählen. Ein paar Optionen in einem TreeView,

00:07:36.337 --> 00:07:38.997
mehrere Optionszweige auswählen.

00:07:40.717 --> 00:07:43.797
Können wir mal vorstellen, wenn man so ein TreeView hat, dass man quasi den

00:07:43.797 --> 00:07:48.377
ganzen Subtree irgendwo abgreifen kann, wenn man solche Konstruktionen hat,

00:07:48.877 --> 00:07:50.197
dass man alle Optionen in dem

00:07:50.197 --> 00:07:54.917
Unterbaumstrang auswählt, dass die dann auch selected werden, damit man,

00:07:56.466 --> 00:08:02.046
Sich dann richtig ins Knie schießen kann, wenn man dann irgendwie den oberen

00:08:02.046 --> 00:08:06.306
noch selected hat, aber unten wieder was deselectet und dann geht die ganze

00:08:06.306 --> 00:08:09.046
Logik flöten. Wie ist das bei Rolllistbox?

00:08:10.786 --> 00:08:15.946
Es gibt Listen mit Mehrfachauswahl. Wir haben das letzte Mal besprochen, glaube ich.

00:08:16.606 --> 00:08:21.066
Und ich habe auf APG Patterns, also diese ARIA-Beispiele von Level 3C,

00:08:21.666 --> 00:08:26.346
ein paar Implementierungen gesehen und es ist da, es sind tatsächlich weniger,

00:08:26.666 --> 00:08:31.486
wo man mehrere Elemente auf einmal auswählen kann, so dass der Screenreader

00:08:31.486 --> 00:08:34.966
auch zum Beispiel vorliest, was gerade ausgewählt ist und was nicht.

00:08:36.466 --> 00:08:39.726
Was wäre dann für Listbox der Fall? Wäre das auch selected?

00:08:40.046 --> 00:08:44.586
Da hast du dann die, genau, da sind die Options, also Option ist erlaubt und

00:08:44.586 --> 00:08:46.066
das ist ja in der Listbox.

00:08:46.526 --> 00:08:51.066
Ja, ja, ja. Oder? Habe ich es falsch im Kopf? Ihr seid der Firma wahrscheinlich.

00:08:52.901 --> 00:08:56.421
Ja, da hast du schon wahrscheinlich recht. Ich hab das jetzt auch nicht im Kopf, müsste schauen.

00:08:59.301 --> 00:09:02.281
Also hier in der MDM steht ja auch noch was von den Tabs. Ich glaube,

00:09:02.341 --> 00:09:06.081
Peter, da war es auch zu den üblichen Verdächtigen gezählt.

00:09:06.281 --> 00:09:12.161
Und ich finde, das ist wieder so ein gutes Beispiel, wo man das auch als Ruck

00:09:12.161 --> 00:09:13.721
für das Styling verwenden kann.

00:09:14.501 --> 00:09:19.881
Also auch da den aktiven, ausgewählten Tab entsprechend kennzeichnen.

00:09:19.881 --> 00:09:26.201
Und also im Markup mit ARIA-Selected kennzeichnen und dann das Styling darüber ansetzen.

00:09:26.701 --> 00:09:31.241
Man greift da eine bekannte oder standardisierte Semantik auf,

00:09:31.341 --> 00:09:37.681
muss sich keine Extraklasse ausdenken, wie das wahrscheinlich in 95% aller Fälle im Web so ist.

00:09:38.001 --> 00:09:41.881
Und ich glaube, als wir letztes Mal zusammengesessen haben, kam uns ja in dem

00:09:41.881 --> 00:09:47.281
Zusammenhang auch irgendwie das ARIA-Multi-Select vor und da sind wir auch darüber gestolpert,

00:09:47.941 --> 00:09:51.201
dass man auch mehrere Tabs auf einmal auswählen kann und haben uns gefragt,

00:09:51.841 --> 00:09:54.421
what, was, keine Ahnung.

00:09:54.881 --> 00:10:00.461
Und im Nachhinein habe ich dann nochmal überlegt und ein bisschen mit Kollegen gesprochen.

00:10:00.841 --> 00:10:04.761
Und es gibt ja nicht nur, sage ich mal, so statische Tabs.

00:10:04.861 --> 00:10:08.421
Also man hat so eine Tab-Liste, um sozusagen den Content, den man hat,

00:10:08.561 --> 00:10:12.781
vielleicht ein bisschen runterzubrechen, kleine Sektionen, die man einzeln annavigieren kann.

00:10:13.561 --> 00:10:18.141
Wenn wir uns beispielsweise mal Excel anschauen, Also so ein Excel-Sheet besteht

00:10:18.141 --> 00:10:25.741
ja auch aus mehreren Sheets, eine Excel-Datei, die durch so eine Tab-Strukturrunden

00:10:25.741 --> 00:10:27.621
voneinander getrennt werden.

00:10:27.761 --> 00:10:30.761
Und da kann ich mir schon vorstellen, dass ich mehrere von denen selektieren

00:10:30.761 --> 00:10:33.861
kann, um sich vielleicht auch zu löschen, zu verschieben, whatever.

00:10:33.861 --> 00:10:36.861
Und genau, vielleicht als Nachtrag.

00:10:36.981 --> 00:10:40.901
Ich glaube, das wäre eine Verwendungsform, wenn man so etwas baut,

00:10:41.461 --> 00:10:48.561
wo das Multi-Select bei Tab-Strukturen auch irgendwie Sinn ergibt und helfen kann.

00:10:49.804 --> 00:10:56.644
Ich würde gerne eine Implementierung von mehreren Tabs, die auf einmal ausgewählt

00:10:56.644 --> 00:10:59.784
sind, gerne anhören, wie sich das mit einem Screenreader anhört,

00:10:59.984 --> 00:11:01.764
also inwiefern die Unterstützung da läuft.

00:11:01.764 --> 00:11:07.484
Ist das einfach, im Browse-Modus des Screenreaders muss ich mich erkundigen,

00:11:07.644 --> 00:11:11.684
welche ausgewählt sind, weil sonst, also im klassischen Tab-Buddle werden die

00:11:11.684 --> 00:11:14.564
Tabs sofort mit Pfeiltasten, wenn das korrekt implementiert ist natürlich.

00:11:16.904 --> 00:11:20.984
Sofort auf die Tab umgestellt, die ich gerade ausgewählt habe mit den Pfeiltasten.

00:11:21.164 --> 00:11:26.304
Also das ist keine gute Umgebung, um etwas zu prüfen, was ausgewählt ist und was nicht.

00:11:26.864 --> 00:11:31.924
Also dann die Frage eben, wie Screenreader auf sowas reagiert.

00:11:32.084 --> 00:11:34.484
Ich nehme an, einfach ein Browse-Modus müsste man inspizieren.

00:11:36.404 --> 00:11:40.244
Gibt es denn bei Google Kalk, die machen ja sowas, so eine Art Excel-Sheet im

00:11:40.244 --> 00:11:48.364
Browser, gibt es da auch verschiedene Tabs, wo man verschiedene kannst du schon machen? Ja, gibt es.

00:11:50.004 --> 00:11:54.164
Google ist ja eigentlich gut, oder? Also die müssen das doch sauber implementiert haben.

00:11:54.884 --> 00:11:58.104
Ich würde auch da zuerst probieren. wahrscheinlich. Ich habe mehrere Karten

00:11:58.104 --> 00:11:59.584
in einem Google Doc gesehen.

00:11:59.744 --> 00:12:02.244
Also Google Docs können auch, also klassische Textdokumente,

00:12:02.544 --> 00:12:05.084
können auch sogenannte Karten haben.

00:12:05.364 --> 00:12:07.904
Also der Inhalt ist auf mehrere.

00:12:12.284 --> 00:12:14.104
Kategorien oder so unter Dokumente

00:12:14.104 --> 00:12:18.744
geteilt. Und das ist als ein Treeview präsentiert für den Screenreader.

00:12:19.024 --> 00:12:23.944
Das ist eine extra Ansicht. Also man muss das durchtappen und das ist dann als

00:12:23.944 --> 00:12:25.424
Treeview implementiert.

00:12:26.124 --> 00:12:28.264
Ich weiß nicht, ich bist dabei die Schiedste, müsste ich schauen.

00:12:31.629 --> 00:12:34.409
Das kriegen wir wahrscheinlich so schnell jetzt nicht getestet.

00:12:34.949 --> 00:12:40.109
Aber vielleicht weißt du das, kannst du das beim nächsten Mal berichten.

00:12:40.309 --> 00:12:43.449
Vielleicht hast du es dann mal geschafft, dir das anzugucken.

00:12:45.049 --> 00:12:50.369
Nur nochmal von der Spezifikationsseite aus. Wenn man in die Core-AAM schaut,

00:12:50.829 --> 00:12:59.409
dann sind die Mappings alle sehr standardmäßig auf irgendwelche Selection APIs,

00:13:00.009 --> 00:13:01.409
Accessibility APIs.

00:13:01.629 --> 00:13:03.449
Auf der Betriebssystem-Ebene.

00:13:03.769 --> 00:13:08.549
Also scheint mir, dass das ein relativ etabliertes Pattern sein müsste.

00:13:10.389 --> 00:13:14.809
Aber ich habe es auch noch nie getestet. Was mir noch aufgefallen ist,

00:13:14.869 --> 00:13:17.849
wo ich mich so ein bisschen darüber gewundert habe, und vielleicht kann das,

00:13:18.389 --> 00:13:20.109
einer von euch erklären,

00:13:20.729 --> 00:13:27.249
also dieses Attribut kann ja true sein oder false und es kann aber auch,

00:13:28.469 --> 00:13:32.769
also undefined haben als Wert als,

00:13:33.009 --> 00:13:36.529
ich verstehe das so, dass das dann ein, weiß nicht, ist es dann ein Stringwert

00:13:36.529 --> 00:13:40.709
oder so, aber genau, es gibt ja andere Attribute, die nur True und False haben

00:13:40.709 --> 00:13:45.169
und wo man auch ein Undefined, glaube ich, bekommt, wenn es einfach nicht gesetzt ist, also,

00:13:46.269 --> 00:13:51.089
wie ist das gemeint, also weiß das einer?

00:13:51.409 --> 00:13:54.069
Warum gibt es da noch diesen dritten State, Undefined?

00:13:55.049 --> 00:13:59.629
Da steht halt, wenn was steht hier?

00:14:00.489 --> 00:14:05.229
Das Element ist einfach nicht auswählbar. Genau, dann, also,

00:14:07.489 --> 00:14:11.069
wissen wir auch nicht. Also in der Speck steht es auch so drin,

00:14:11.229 --> 00:14:15.869
also die kennen eben diese True-False-Geschichte und dann gibt es eben auch

00:14:15.869 --> 00:14:22.149
Attribute, die True-False und Undefined haben, zum Beispiel Area Expanded kann auch Undefined.

00:14:25.328 --> 00:14:28.168
Okay. Dann bleibt das auch erst mal offen.

00:14:28.608 --> 00:14:31.368
Ich meine, es kann einerseits, also manchmal kommt es einfach von,

00:14:31.588 --> 00:14:36.968
also ich habe auch gerade in der Core-AAM nachgeschaut, das ist nicht gemappt.

00:14:38.088 --> 00:14:41.908
Ich weiß jetzt nicht genau, wie die Geschichte hierbei ist. Manchmal ist es

00:14:41.908 --> 00:14:49.908
einfach aus sozusagen Spezifikations- oder irgendwelchen User-Agent-Interner heraus notwendig,

00:14:50.088 --> 00:14:53.828
dass wir so ein Value noch dabei haben.

00:14:54.808 --> 00:14:58.008
Aber ja, in diesem Fall weiß ich es nicht.

00:14:58.008 --> 00:15:02.688
Also bei uns, wir hatten vor kurzem gerade, das ist gar nicht so lange her,

00:15:02.928 --> 00:15:08.548
die Diskussion mit unseren Usability-Ingenieur-Experten,

00:15:08.808 --> 00:15:15.088
weil ein Produkt auch so eine Tab-Liste hat und einige dieser Tabs sind in bestimmten

00:15:15.088 --> 00:15:17.648
Zuständen deaktiviert.

00:15:17.648 --> 00:15:22.888
Und die Diskussion war, soll es sowas eigentlich geben können?

00:15:25.128 --> 00:15:27.908
Wollen wir das haben oder kann das weg, so nach dem Motto?

00:15:28.348 --> 00:15:32.508
Und wenn man sich jetzt entscheidet, das zu haben, aus welchem Grund auch immer,

00:15:33.148 --> 00:15:36.028
dann kann man an der Stelle vielleicht nicht sagen oder es ist nicht definiert,

00:15:36.108 --> 00:15:39.968
ob das selektiert ist oder nicht, weil es irgendwie deaktiviert ist.

00:15:42.568 --> 00:15:47.068
Aber was Klügeres fällt mir zu dem Zustand auch nicht an. Das ist halt auch

00:15:47.068 --> 00:15:49.508
das, was die ARIA-Spec dann sagt.

00:15:49.968 --> 00:15:52.328
Also undefined ist so in der Beschreibung.

00:15:52.828 --> 00:15:58.348
Also false heißt, is not selected. True heißt, is selected. Und undefined heißt, is not selectable.

00:15:58.748 --> 00:16:02.508
Also das, was die Spec nahelegt. Aber wenn das dann nicht gemappt ist auf irgendwas

00:16:02.508 --> 00:16:06.908
auf der Betriebssystemebene, dann weißt du auch nicht wirklich,

00:16:07.088 --> 00:16:11.368
also dann müsste man jetzt sehr raten, was denn da tatsächlich beim User ankommt.

00:16:12.348 --> 00:16:15.368
Ja, und ich wüsste gerne, was der Unterschied ist zu ich lasse das Attribut

00:16:15.368 --> 00:16:19.328
dann einfach weg, weil warum sollte ich es setzen, wenn das ein Element ist,

00:16:19.388 --> 00:16:20.848
was sowieso nicht selektierbar ist.

00:16:23.248 --> 00:16:26.428
Und da kommst du dann halt, glaube ich, auch einfach schnell in so Probleme,

00:16:26.548 --> 00:16:28.808
dass du nicht klar kommunizieren kannst.

00:16:29.028 --> 00:16:33.908
Ist es jetzt nicht selectable, aber selected, weil es halt ein always on ist

00:16:33.908 --> 00:16:38.308
oder irgendwie forced, weil du halt die Art von User bist oder irgendwas?

00:16:38.768 --> 00:16:43.448
Oder ist es not selectable, weil du nicht darfst?

00:16:43.548 --> 00:16:48.028
Das ist einfach von der Kommunikation her dann doch immer schwierig. Ja.

00:16:50.708 --> 00:16:53.808
Mysteriös. Vielleicht ist es ja auch einfach so ein, weiß ich nicht,

00:16:53.868 --> 00:16:55.068
so ein Legacy-Überbleibsel.

00:16:55.328 --> 00:16:58.348
Ich meine, manchmal ist es, also man sieht das ja auch bei HTML und CSS,

00:16:58.608 --> 00:17:03.528
dass so Dinge, die am Anfang entstanden sind, da war noch nicht alles so,

00:17:03.668 --> 00:17:07.388
da lief es noch nicht so ganz rund und dann hat man halt so ein paar Merkwürdigkeiten

00:17:07.388 --> 00:17:09.188
drin, die es halt später einfach nicht mehr gibt.

00:17:12.548 --> 00:17:18.588
Okay. Nein, das ist doch nie passiert. Nein. Natürlich nicht. Ja.

00:17:20.328 --> 00:17:26.388
Ich würde sagen, nächstes Attribut. Und, Pavel, willst du mal probieren?

00:17:28.108 --> 00:17:28.908
Schauen wir mal.

00:17:31.488 --> 00:17:39.368
Aria Level. Level, das bezieht sich nämlich an, ich glaube, ich habe das schon

00:17:39.368 --> 00:17:43.728
auch mal gelesen, bin mir ziemlich sicher, auf Baumansicht, auf Treeviews.

00:17:44.268 --> 00:17:48.908
Also, welche Ebene von dem Baum haben wir jetzt.

00:17:49.388 --> 00:17:56.328
Ob das Ebene 0 ist oder Ebene 1, also in Baumansichten kann man endlos die Elemente

00:17:56.328 --> 00:18:01.128
in der Struktur einbauen und das geht dann in die Ebenen und in die Ebenennummer.

00:18:03.343 --> 00:18:06.963
Ja, stimmt. Und dann gibt es noch einen wichtigen zweiten Fall und dann gibt

00:18:06.963 --> 00:18:08.983
es einen neuen Fall. Aha.

00:18:10.223 --> 00:18:11.963
Der zweite Fall, würde ich sagen, sind Headings.

00:18:13.683 --> 00:18:18.403
Wenn man ein Heading selber macht, dann muss man ihm ein Level geben.

00:18:19.503 --> 00:18:23.883
Also quasi ein Nicht-Heading-Element mit Rollheading ausfattet.

00:18:24.323 --> 00:18:27.923
Genau, es gibt nur Rollheading, es gibt nicht Rollheading Level 1.

00:18:28.983 --> 00:18:31.163
Und dann muss man ein Level geben.

00:18:32.543 --> 00:18:36.583
Und es passiert Lustiges, wenn man das versucht. Oder wenn man es wechselst,

00:18:36.683 --> 00:18:42.023
dann ist es auch ein bisschen inkonsistent über die Browser hinweg und die AT.

00:18:43.243 --> 00:18:47.503
Und außerdem sollte man auch da nicht über 10 gehen. Ja, ich wollte gerade sagen,

00:18:47.943 --> 00:18:50.823
da kannst du dann über 6 nämlich hochgehen.

00:18:51.203 --> 00:18:53.343
Genau, das ist ja auch nicht schlecht.

00:18:55.143 --> 00:18:59.703
Oder was ich manchmal sehe und auch mache, ist, wenn man halt eine Überschrift

00:18:59.703 --> 00:19:03.623
hat, jetzt in einem langen Dokument wie in einem Buch oder so,

00:19:03.743 --> 00:19:09.523
dann hat man halt manchmal Headings, die im Absatz integriert sind.

00:19:09.963 --> 00:19:11.803
Und dann kannst du natürlich kein Heading-Element mehr nehmen,

00:19:11.943 --> 00:19:13.603
also musst du es dann selber bauen.

00:19:14.383 --> 00:19:17.463
Weil du das im Fluss haben willst, oder was meinst du?

00:19:18.463 --> 00:19:22.543
Genau, weil es einfach vom Layout du es so haben willst, dass es im Textfluss drinsteht.

00:19:23.783 --> 00:19:28.943
Ich habe anscheinend eine Anekdote zu ARIA-Levels. Ja, bitteschön.

00:19:29.163 --> 00:19:35.363
Na, also wir haben tatsächlich vor einiger Zeit eine Frage bekommen von einer

00:19:35.363 --> 00:19:41.403
Universitätsfüchstetik, was tut man in einem Word-Dokument, wo,

00:19:42.612 --> 00:19:46.672
Die Überschriften bis 6 nicht ausreichen und man braucht 7, 8, 9.

00:19:46.972 --> 00:19:54.232
Das ist, von was wir gehört haben, der Fall in juristischen Texten vor allem.

00:19:54.352 --> 00:20:00.232
Da sind die Überschriftenstrukturen sehr, sehr dicht mit Absätze und Artikel und so weiter.

00:20:01.812 --> 00:20:05.632
Und ich habe festgestellt, dass Jaws damals das unterstützt hat,

00:20:05.772 --> 00:20:10.232
also 789, die Evenen im Word, aber LVDA nicht.

00:20:11.172 --> 00:20:15.832
Und ich habe einen Pull Request, soweit bin ich noch nicht, aber Issue geschrieben

00:20:15.832 --> 00:20:20.652
und da hat sich jemand schon sofort gefunden, der das implementiert hat.

00:20:21.372 --> 00:20:25.872
Aber erst nur für Word und dann kam ein Stück Feedback von sonst jemandem.

00:20:26.532 --> 00:20:28.012
Ja, aber das kann man auch mit ARIA.

00:20:30.512 --> 00:20:34.812
Hinzufügen. Nicht nur die sechs Ebenen, die HTML von Anfang an anbietet,

00:20:34.952 --> 00:20:36.612
sondern auch Level 7, 8, 9.

00:20:37.252 --> 00:20:41.232
Und dann hat die Person tatsächlich das auch für Web hinzugefügt.

00:20:41.352 --> 00:20:46.092
Und dann haben sich die Benutzer irgendwie gewundert, nachdem die Version mit

00:20:46.092 --> 00:20:50.612
dieser Änderung rausgekommen ist, wozu braucht man die Ebenen 7, 8 und 9?

00:20:51.632 --> 00:20:56.052
Und es sieht aus, dass nicht viele BenutzerInnen selbst sogar wissen,

00:20:56.232 --> 00:21:01.812
dass es diese Möglichkeit gibt und wozu könnte man so eine tiefe Struktur verwenden?

00:21:05.451 --> 00:21:11.371
Also NVDA unterstützt das seit einiger Zeit auch. Und jetzt kommt ja auch noch

00:21:11.371 --> 00:21:13.771
HTML dazu und macht jetzt nochmal was Neues.

00:21:15.191 --> 00:21:19.711
Bei HTML wird ja jetzt gerade an der Heading Offset, an Heading,

00:21:19.751 --> 00:21:21.011
wie heißt das? Heading Offset?

00:21:21.271 --> 00:21:27.911
Ja, ich glaube, das heißt Heading Offset, ja. Gebastelt, damit man quasi doch

00:21:27.911 --> 00:21:32.891
wieder den alten Document-Outline-Algorithmus so ein bisschen machen kann.

00:21:33.711 --> 00:21:36.351
Also sprich, man kann dann auf einmal auf eine Section setzen,

00:21:38.151 --> 00:21:41.491
wie viel man zum Heading-Level dazu addieren möchte.

00:21:41.771 --> 00:21:46.391
Und dann werden die H1 halt zum, wenn du da den Offset 3 setzt,

00:21:46.511 --> 00:21:49.951
dann wird das H1 halt zum H3 oder zum H4, ich weiß es nicht.

00:21:51.911 --> 00:21:56.631
Und das ist natürlich auch dann nochmal ein schönes Durcheinander für die nächste

00:21:56.631 --> 00:22:05.871
Zeit wahrscheinlich. Ja, aber es ist ja auch eine sehr willkommene Ergänzung von HTML.

00:22:08.091 --> 00:22:15.811
Schade, dass das nicht geklappt hat mit der ursprünglichen Outline-Idee.

00:22:17.740 --> 00:22:22.260
Genau, ich wollte noch hinzufügen, dass ich ARIA Level auch gerne benutze,

00:22:22.520 --> 00:22:29.900
um HTML-Struktur, die SEO-demoliert ist, wieder gerade zu ziehen.

00:22:30.180 --> 00:22:33.440
Also da gibt es ja immer irgendwelche Verschwörungstheorien,

00:22:33.540 --> 00:22:35.580
die die dann gerade verfolgen.

00:22:35.680 --> 00:22:40.720
Sowas wie H2 sind die besten Überschriften, müssen alles in H2 machen.

00:22:41.300 --> 00:22:46.920
Und dann blutet mir das Herz und aber,

00:22:47.960 --> 00:22:53.760
SEOs kann sich immer durchsetzen, obwohl die überhaupt keine Beweise in der

00:22:53.760 --> 00:22:58.820
Hand haben für ihre kruden Thesen, aber das ist so, die verkaufen ihr Snake Oil,

00:22:59.720 --> 00:23:05.820
und dann korrigiere ich das eben immer, indem ich dann die Heading Levels einbaue

00:23:05.820 --> 00:23:09.520
oder Tags, die sie sich wünschen, aber korrigiere es dann mit dem ARIA Level

00:23:09.520 --> 00:23:11.760
Attribut auf das Korrekte.

00:23:14.040 --> 00:23:17.720
Weißt du, ob das dann Auswirkungen auf die Suchmaschinen hat? Nee.

00:23:19.300 --> 00:23:23.760
Da bin ich mir ziemlich sicher, dass sie sich das gar nicht angucken.

00:23:27.565 --> 00:23:33.125
Wir schauen, wie das wird jetzt mit KI. Also an was ich jetzt denke,

00:23:33.325 --> 00:23:38.385
ist eben, dass wenn OpenAI, ihren Comet, war das Comet-Browser?

00:23:39.485 --> 00:23:45.325
Oder Atlas oder so. ausgestellt hat, die haben diesen Vorschlag geteilt und

00:23:45.325 --> 00:23:50.525
einen Ratschlag eben, dass barrierefreie Webseiten sollten viel ARIA verwenden.

00:23:50.765 --> 00:23:54.025
Und da kommt irgendwie dieser Gedanke bei mir,

00:23:54.185 --> 00:24:01.345
wenn sie auch irgendwie ihre eigenen SEO-Techniken ansetzen für ihre Agentic-Process

00:24:01.345 --> 00:24:06.465
und Agentic-Desund-Innes und wenn sie diesen Pfad verfolgen,

00:24:06.645 --> 00:24:09.545
dass ARIA bedeutet gleichzeitig Barrierfreiheit,

00:24:11.025 --> 00:24:15.985
und irgendwie definiert auch den Code der Seite und hat so eine große Bedeutung,

00:24:16.525 --> 00:24:22.865
wird sich das bei den Modellen auch so auswirken, dass sie sich auch ARIA anschauen werden?

00:24:25.068 --> 00:24:30.888
Nur so eine Theorie. Ich weiß nicht, ob es Beweise gibt oder Hinweise oder sonst Spuren.

00:24:33.148 --> 00:24:37.748
Ja, ich glaube, dass es im Endeffekt, ja, nutzen die das genauso,

00:24:38.368 --> 00:24:45.448
um sich durch eben die Webseitenstruktur zu hangeln und die zu benutzen,

00:24:45.528 --> 00:24:48.548
wobei ich mir vorstellen könnte, dass das durch dieses,

00:24:48.888 --> 00:24:55.908
die haben noch jetzt, wie heißt das, dieses Interface für Coding Agents,

00:24:56.588 --> 00:24:57.988
wo die so Tooling benutzen können.

00:24:58.648 --> 00:25:01.668
Nee, also das ist einfach so eine Schnittstelle, wo du dann,

00:25:01.848 --> 00:25:06.108
wo du denen sagst, so hier ist Playwright, du kannst es so und so bedienen und

00:25:06.108 --> 00:25:09.488
dann liegt mir auf der Zunge. Das gibt es auf jeden Fall jetzt.

00:25:12.108 --> 00:25:16.108
Eigentlich weiß ich das auch. Das ist mir jetzt entfallen und davon soll es

00:25:16.108 --> 00:25:18.388
ja auch eine Web-Version geben für Webseiten.

00:25:18.988 --> 00:25:22.708
Also das ist so quasi so diese. Also MCP? Ja, genau. MCP, genau.

00:25:25.728 --> 00:25:34.188
Genau, das ist gerade, also sowohl Microsoft als auch Google ist da gerade sehr hinterher.

00:25:37.167 --> 00:25:39.487
Genau, gucke ich. Jetzt möchte ich aber noch den neuen Fall reinbringen.

00:25:39.747 --> 00:25:42.447
Ich habe übrigens vergessen, es gibt auch noch ARIA Level of Rows.

00:25:42.607 --> 00:25:46.507
Das ist dann so wie bei Tree, also bei Grids, wenn man dann gedöhnt hat.

00:25:46.747 --> 00:25:51.527
Aber weil ich es so schön finde, dass es gerade dort drin steht,

00:25:51.667 --> 00:25:53.487
und wir letztes Mal auch so ein bisschen drüber geredet haben,

00:25:53.687 --> 00:25:55.387
über ARIA Details, glaube ich,

00:25:57.467 --> 00:26:01.067
ist die Comment Roll für Kommentare.

00:26:01.787 --> 00:26:09.847
Und da ist der Level gedacht, um vernestete, Ich kann kein Deutsch mehr. Also Nesting.

00:26:11.027 --> 00:26:11.887
Verschachtelt. Ja,

00:26:14.247 --> 00:26:17.947
so Antworten auf Antworten. Da kann ich mir sogar vorstellen,

00:26:18.067 --> 00:26:19.287
dass man mehr als 10 braucht.

00:26:23.507 --> 00:26:27.347
Die Einschränkung mit 10 ist ja nur bei Heading. Die ist nicht bei den anderen.

00:26:27.747 --> 00:26:29.907
Also bei einem Tree oder einem Grid. Ja.

00:26:32.351 --> 00:26:38.631
Ja, coole Property und irgendwie dann auch wieder ein gutes Beispiel dafür,

00:26:39.091 --> 00:26:41.311
wie viel man da rausholen kann.

00:26:44.111 --> 00:26:51.491
Also meistens denkt man ja erstmal, ja, bei Headings braucht man das und das

00:26:51.491 --> 00:26:55.131
war's, aber jetzt haben wir da auch schon locker zehn Minuten drüber gesprochen.

00:26:56.271 --> 00:26:59.751
Und dann sage ich noch eine Sache von der, bei uns, also in der Working Group

00:26:59.751 --> 00:27:06.571
gibt es seit längerem den Vorschlag, dass die Spec ein bisschen härter gegenüber User Agents ist,

00:27:06.951 --> 00:27:11.651
was es selber ausrechnen, das selber Ausrechnen angeht.

00:27:12.151 --> 00:27:14.831
Dass man also irgendwie versucht, zu dem Punkt zu kommen, wo,

00:27:15.071 --> 00:27:20.451
wenn alles in der DOM ist, dann bitte auch der Browser selber die Level berechnen kann.

00:27:21.111 --> 00:27:25.391
Also zum Beispiel bei Trees, dass er einfach aus der Struktur des Accessibility

00:27:25.391 --> 00:27:29.611
Trees dann auch einfach selber bitte schön die Level und die anderen verwandten

00:27:29.611 --> 00:27:31.551
Eigenschaften dann hinkriegt.

00:27:31.871 --> 00:27:34.891
Und das wäre natürlich dann schön, dass man das dann wirklich,

00:27:35.091 --> 00:27:39.731
wenn man es auch vergisst, trotzdem diese Struktur eben automatisch den Nutzern geben kann.

00:27:39.811 --> 00:27:42.891
Wenn man jetzt nicht gerade ein Infinite-Ding hat, was gekürzt wird,

00:27:43.051 --> 00:27:46.871
weil die DOM sonst zu groß wird. Also eigentlich auch so. Bei Marco vielleicht.

00:27:47.311 --> 00:27:53.471
Nicht ein Document Outline, sondern dann so eine quasi lokale Structural Outline,

00:27:54.391 --> 00:27:55.971
wo der Browser einfach abschüttelt.

00:27:56.591 --> 00:27:59.711
Ich glaube wieder bei Heading redet da keiner drüber, weil es da ein Must schon

00:27:59.711 --> 00:28:02.871
immer ist, ein Author Must, den Level anzugeben, aber bei den anderen,

00:28:02.991 --> 00:28:07.051
dass man das eben abschwächt, dass man eben einen Tree oder eben so eine,

00:28:07.571 --> 00:28:09.951
Kommentarstruktur, dass das einfach der Browser selber kann.

00:28:10.191 --> 00:28:12.011
Das ist ja nicht so. Ja, das ist auch total sehr gefreut.

00:28:14.661 --> 00:28:23.081
Finde ich gut. Dann würde ich sagen, Peter, willst du mal schauen, was bei dir rauskommt?

00:28:24.001 --> 00:28:26.621
Gerne. Bei mir hakt zwar gerade das Internet so ein bisschen,

00:28:26.821 --> 00:28:30.701
scheint mir, aber ich drucke jetzt trotzdem drauf. Ja, es passiert was.

00:28:32.221 --> 00:28:37.401
Juche. Oh Gott. ARIA owns Elements.

00:28:39.781 --> 00:28:44.161
Beziehungsweise, ah nee, ach nee, guck. Also ARIA owns ist eigentlich die Property

00:28:44.161 --> 00:28:50.101
und ARIA-Owns-Elements ist dann sozusagen die DOM-API,

00:28:50.761 --> 00:28:55.141
also wo du letztes Mal ja schon mal meintest, hey, ihr habt doch gar nicht über

00:28:55.141 --> 00:28:57.341
ARIA-Detail-Elements gesprochen.

00:28:57.881 --> 00:29:03.461
Sehr cool, weil dann kann man das eben auch per JavaScript zuweisen.

00:29:03.721 --> 00:29:08.281
Und das scheint jetzt hier bei diesem ARIA-Owns, wieso man das tut, auch möglich zu sein.

00:29:09.181 --> 00:29:13.941
Ich habe, Peter, als du das letztes Mal erklärt hast, so gedacht,

00:29:14.761 --> 00:29:16.481
finde ich das gut? Brauche ich das?

00:29:16.761 --> 00:29:21.941
Oder gefällt mir das? Hintergrund ist, wir machen im Wesentlichen ja sehr viel

00:29:21.941 --> 00:29:26.781
Server-Side-Rendert und bauen uns da die IDs, sage ich mal, sehr generisch zusammen,

00:29:26.961 --> 00:29:31.721
um sicherzustellen, dass die auch eindeutig sind und so weiter und die Produkte da nicht irgendwie.

00:29:34.223 --> 00:29:40.243
Ja, doppelte IDs vergeben können. Und ja, nichtsdestotrotz, ja,

00:29:40.303 --> 00:29:42.643
haben wir natürlich auch kleinenseitige Logik.

00:29:42.743 --> 00:29:47.063
Und ein Kollege, ich glaube, der das auch hier gehört hat, hat dann mal deinen

00:29:47.063 --> 00:29:48.563
Tipp genau noch das eingebaut.

00:29:48.923 --> 00:29:54.843
Und ich hatte dann ein Review von ihm zu einer ganz anderen Aufgabe auf dem

00:29:54.843 --> 00:29:59.063
Tisch und habe mir das so ein bisschen angeguckt und bin darüber gestolpert,

00:29:59.243 --> 00:30:02.043
dass das irgendwie komisch in den DevTools aussah,

00:30:02.603 --> 00:30:06.223
weil dieses Element da ja gar keinen Wert hat im Sinne von,

00:30:06.843 --> 00:30:11.803
das steht da zwar, aber es hat ja keine ID, um es anzeigen zu können.

00:30:12.023 --> 00:30:13.763
Und das hat mich ein bisschen irritiert.

00:30:14.223 --> 00:30:18.063
Ich dachte, okay, da haben wir wahrscheinlich irgendwas falsch gemacht und serverseitig

00:30:18.063 --> 00:30:22.983
den Wert nicht richtig gesetzt und das als Anmerkung in den Review-Kommentar geschrieben.

00:30:23.263 --> 00:30:29.563
Und er sagt, nee, nee, das habe ich genauso gemacht, wie das in dem Podcast quasi beschrieben ist.

00:30:29.563 --> 00:30:36.783
Ja, also da bin ich einfach reingefallen, weil das ja für mich zumindest gewöhnungsbedürftig

00:30:36.783 --> 00:30:38.303
dargestellt wurde in den DevTools,

00:30:38.763 --> 00:30:43.163
weil man hat nur das Attribut und kein Wert und ja, da muss man sich noch ein

00:30:43.163 --> 00:30:48.283
bisschen, ich musste mich dran gewöhnen, aber jetzt weiß ich das und wie heißt

00:30:48.283 --> 00:30:50.083
das so schön, aus Fehlern lernt man immer am besten.

00:30:51.535 --> 00:30:53.555
Da öffnest du jetzt einen riesen Fass.

00:30:55.735 --> 00:31:00.975
DevTools ist so etwas, was immer mal wieder in der ARIA Working Group auch hochkommt.

00:31:01.115 --> 00:31:04.415
Und tatsächlich habe ich diese Woche auch wieder auf die Agenda für ein Meeting gesetzt,

00:31:04.775 --> 00:31:07.535
weil viele in der Gruppe das Gefühl haben, da könnte man viel,

00:31:07.535 --> 00:31:14.075
viel mehr Positives mit schaffen, wenn einfach viel mehr Fehler an die Entwickler

00:31:14.075 --> 00:31:16.275
weitergegeben werden, wenn die DevTools offen sind.

00:31:17.435 --> 00:31:21.335
Auch einfach, um zu klären, was passiert ist. Also.

00:31:24.235 --> 00:31:28.775
Zum Beispiel, wenn man irgendwie Role Presentation, Role None,

00:31:29.075 --> 00:31:31.955
wenn man das falsch gebraucht oder wenn man ARIA Hitten falsch gebraucht,

00:31:32.035 --> 00:31:33.455
sodass es vom Browser ignoriert wird.

00:31:33.675 --> 00:31:37.695
Das sind so diese klassischen Situationen, wo inzwischen viel Korrektur da ist

00:31:37.695 --> 00:31:41.095
in den Browsern und auch in der Spezifikation, aber auch noch zusätzlich vielleicht

00:31:41.095 --> 00:31:44.675
Heuristiken drin sind, um einfach für die Nutzer was wieder nutzbar zu machen,

00:31:44.675 --> 00:31:46.455
was ein Entwickler aus, was ihn kaputt gemacht hat.

00:31:46.755 --> 00:31:50.875
Und du kriegst es gar nicht mit als Entwickler. Es funktioniert einfach. Es war super.

00:31:51.175 --> 00:31:56.155
Meine End-User sagen auch, klasse, es funktioniert mit deren assistiven Technologien.

00:31:57.035 --> 00:32:00.295
Aber du machst eigentlich was falsch und du läufst nur in die Fehlerkorrektur.

00:32:00.855 --> 00:32:03.395
Und das ist natürlich auch so ein Beispiel. Und das ist auch so ein Beispiel.

00:32:03.855 --> 00:32:06.975
Ich habe es gesehen, ich glaube, bei Chrome kann man schon zum Beispiel,

00:32:07.515 --> 00:32:11.115
wenn man jetzt, wir hatten letztes Mal, glaube ich, ARIA labeled by Elements

00:32:11.115 --> 00:32:13.095
oder ihr vorletztes Mal.

00:32:13.515 --> 00:32:16.275
Und wir hatten nochmal drüber gesprochen und da kannst du es dann tatsächlich

00:32:16.275 --> 00:32:19.675
im Accessible Name glaube ich sehen, dass du den richtigen hinkriegst,

00:32:20.355 --> 00:32:23.895
wenn du dir ein Beispiel baust und dann siehst du, dass der sozusagen berechnete

00:32:23.895 --> 00:32:27.555
Accessible Name, der in den DevTools angezeigt wird, der ist dann tatsächlich

00:32:27.555 --> 00:32:34.275
das, was du dir aus drei Stücken, die du in Elements API übergeben hast, zusammengesetzt wird.

00:32:34.395 --> 00:32:37.735
Also da kannst du dann so ein bisschen um die Ecke gedacht das rekonstruieren,

00:32:37.875 --> 00:32:43.575
aber sobald es komplizierter wird und gerade bei dem Beispiel, ARIA owns ist so oder so.

00:32:45.264 --> 00:32:49.404
Mit Vorsicht zu genießen. Sollen wir darüber reden, was das eigentlich macht?

00:32:49.804 --> 00:32:51.884
Ja klar, wir haben es ja jetzt gemacht.

00:32:52.764 --> 00:32:56.184
Könnte auch einfach nur so lästern. Ja, oder wir lassen es auch so als Cliffhanger stehen.

00:32:58.504 --> 00:33:02.424
Also ARIA-Owns ist so eine Property, die man vermeiden sollte, wenn es nur um die geht.

00:33:02.644 --> 00:33:06.624
Sie ist dafür da, um den Accessibility-Tree umzubauen. Um zu sagen,

00:33:07.384 --> 00:33:12.644
dieses Element besitzt ein Element, das ganz woanders in der DOM steht,

00:33:12.824 --> 00:33:14.664
als sozusagen Accessibility-Challenge.

00:33:15.444 --> 00:33:19.104
Und also im Accessibility Tree wird es einfach von ganz woanders in der DOM

00:33:19.104 --> 00:33:23.104
unter dieses Element gesetzt oder an die Kinder dran gepumpft.

00:33:23.424 --> 00:33:27.644
Und das führt ganz leicht zu Fehlern und Problemen.

00:33:28.064 --> 00:33:32.004
Und man sollte es möglichst lassen. Und das ist jetzt die Elements API da oben

00:33:32.004 --> 00:33:36.504
drauf, die dann eben ermöglicht, dass man nicht einfach eine Liste von IDs übergibt,

00:33:36.604 --> 00:33:41.744
sondern tatsächlich, wenn man in JavaScript arbeitet, ein Array von Loads übergeben kann.

00:33:43.024 --> 00:33:45.784
Was natürlich noch viel lustiger ist, wenn man das Ganze in JavaScript macht

00:33:45.784 --> 00:33:50.884
und dann einfach irgendwelche Elemente von der DOM im Accessibility-Tree umschreibt

00:33:50.884 --> 00:33:55.484
und das gar nicht mehr sieht, weil man das alles nur auf der Skript-Ebene gemacht hat.

00:33:55.484 --> 00:33:58.084
Aber warum würde man das überhaupt machen wollen?

00:33:58.304 --> 00:34:04.344
Also was wäre dann, also was ist so die ursprüngliche Idee oder Motivation gewesen zu diesem Attribut?

00:34:06.557 --> 00:34:11.497
Da bin ich überfragt. Das ist so alt. Das haben wir schon immer so gemacht.

00:34:11.637 --> 00:34:13.597
Das ist da, glaube ich, die Antwort für.

00:34:14.137 --> 00:34:16.597
Und es führt auch trotzdem immer noch zu Problemen.

00:34:19.557 --> 00:34:23.097
Also wahrscheinlich aus Unwissenheit, aber wir haben es hier so auf die grüne

00:34:23.097 --> 00:34:26.357
Liste gesetzt, im Sinne von, ja, das kann man durchaus verrennen.

00:34:27.677 --> 00:34:34.597
Wenn man halt im DOM eben nicht die semantische Hierarchie hat,

00:34:34.817 --> 00:34:42.177
wahrscheinlich aus Darstellungsgründen, dann kann man das hier quasi wieder gerade biegen.

00:34:43.057 --> 00:34:46.377
Du sagtest jetzt mit Vorsicht zu genießen oder lieber gar nicht,

00:34:46.497 --> 00:34:47.817
weil man viel kaputt machen kann.

00:34:48.257 --> 00:34:51.597
Ich würde jetzt vermuten, kaputt ist es ja eigentlich schon,

00:34:51.697 --> 00:34:55.757
wenn man im DOM selbst nicht die semantische Hierarchie hat.

00:34:58.357 --> 00:35:03.697
Ja, aber warum man das möglicherweise sonst gebrauchen könnte, weiß ich auch nicht.

00:35:05.217 --> 00:35:09.277
Es gab da so ein schönes Artikel von Leonie Watson. Genau.

00:35:11.797 --> 00:35:14.517
Also was halt schiefgehen kann, ist dann zum Beispiel sowas,

00:35:14.817 --> 00:35:20.697
also wir haben letztens festgezurrt in den Spezifikationen, was passiert,

00:35:20.897 --> 00:35:28.057
wenn du mit ARIA-Owns etwas ins Ziel nimmst, also zu dir ziehen willst als Element,

00:35:28.757 --> 00:35:31.297
was unter einem ARIA-Hiddenbaum steckt?

00:35:32.856 --> 00:35:36.336
Ja, also wer gewinnt?

00:35:36.596 --> 00:35:40.716
Ist es immer noch hidden und du hast einfach nur was Verstecktes unter dein

00:35:40.716 --> 00:35:43.376
anderes Element gezogen oder nicht?

00:35:43.636 --> 00:35:48.796
Ja, und das kann relativ schnell passieren, wenn man so klassische Konstrukte macht,

00:35:48.936 --> 00:35:53.096
wie irgendwie vielleicht sich was für sein Label hinzuzieht und dann ist man

00:35:53.096 --> 00:35:56.676
plötzlich in einem Dialog und dann ist irgendwie das andere auf hidden gesetzt

00:35:56.676 --> 00:36:02.596
und dann, weil man ein Model gebaut hat und dann weiß man nicht mehr, was funktioniert.

00:36:03.236 --> 00:36:09.276
Oder ich hatte letztens ein Beispiel, wo wieder Role-Presentation,

00:36:09.576 --> 00:36:13.336
bei Role-None-Role-Presentation gibt es dieses Konzept der Inheritance,

00:36:13.616 --> 00:36:19.256
dass wenn man ein Role-None auf, sagen wir mal, ein Table-Element macht,

00:36:19.696 --> 00:36:22.996
dann wird das vererbt auf alle typischen Table-Elemente.

00:36:24.036 --> 00:36:27.256
Damit man nicht immer überall Rollnone, Rollnone, Rollnone anschreiben muss,

00:36:27.476 --> 00:36:33.556
wird es halt vererbt auf die klassische, also auf die, die im HTML-Content-Modell halt dazugehören.

00:36:33.756 --> 00:36:35.756
Also Table Body, Table Rolls, Table Cells.

00:36:36.296 --> 00:36:39.476
Aber natürlich nur den ersten Level, falls du da drin wieder eine Tabelle hast

00:36:39.476 --> 00:36:41.716
und so einen Wahnsinn machen willst.

00:36:43.616 --> 00:36:45.896
Und dann hast du aber auch das Problem, was ist, wenn ich jetzt,

00:36:45.996 --> 00:36:48.196
sagen wir mal, eine Liste habe, die habe ich Rollnone gemacht,

00:36:48.296 --> 00:36:51.856
dadurch sind die Listen-Items auch Rollnone und jetzt habe ich aber eins von

00:36:51.856 --> 00:36:54.936
diesen Listen-Items irgendwo ARIA-Owned von was anderem.

00:36:55.376 --> 00:36:58.716
Ist es dann wieder ein Listen-Item plötzlich oder ist es immer noch ein Roan-Owned?

00:36:59.096 --> 00:37:04.636
Das sind halt einfach so Sachen, die passieren so leicht im Chaos der UI.

00:37:07.433 --> 00:37:10.833
Und dann wird es schwierig. Und an sich, der Accessibility-Tree ist schwierig.

00:37:12.713 --> 00:37:16.553
Du hast mich überzeugt, ich werde das jetzt mal auf die gelbe Liste bei uns setzen.

00:37:17.033 --> 00:37:20.973
Aber du hast grundsätzlich recht. Es ist so alt, dass es ziemlich robust ist.

00:37:21.113 --> 00:37:26.053
Aber es gibt halt diese komischen Nebeneffekte und die sind halt dann echt schwer,

00:37:26.173 --> 00:37:27.813
wenn man nicht tief in der Spektren steckt.

00:37:28.473 --> 00:37:30.393
Und auch wenn man in der Spektren steckt.

00:37:32.213 --> 00:37:37.053
Ja, man bräuchte eigentlich so etwas wie so einen HTML-Parser.

00:37:37.433 --> 00:37:40.973
Der ja dann irgendwann spezifiziert wurde, weil die Browser-Shell-Answerter

00:37:40.973 --> 00:37:46.773
so verschiedene Edge-Cases jeder für sich individuell auf eine Art und Weise gelöst hat.

00:37:47.213 --> 00:37:54.493
Und man dann ja bei ungültigen oder nicht ganz sauberen HTML dann wirklich unterschiedliche

00:37:54.493 --> 00:37:57.793
Ergebnisse in verschiedenen Browsern hatte, was man so vor sich sah.

00:37:58.593 --> 00:38:01.653
Und das ist ja jetzt überhaupt nicht mehr der Fall.

00:38:01.893 --> 00:38:06.733
Also es war, glaube ich, sehr viel Arbeit, das so zu vereinheitlichen und sozusagen

00:38:06.733 --> 00:38:12.333
die Quintessenz aus diesen ganzen Herangehensweisen dann in einen Speck niederzuschreiben.

00:38:12.613 --> 00:38:18.733
Aber jetzt, ich habe das wirklich Ewigkeiten nicht mehr gesehen oder seitdem

00:38:18.733 --> 00:38:25.653
gar nicht mehr gesehen, dass HTML oder dasselbe HTML in unterschiedliche DOM-Strukturen

00:38:25.653 --> 00:38:27.533
resultieren würde in verschiedenen Browsern.

00:38:29.413 --> 00:38:34.193
Außer sie können halt irgendwas nicht wie ein HR-Element in Select oder sowas

00:38:34.193 --> 00:38:37.233
relativ Neues oder das Geolocation-Element oder so.

00:38:40.405 --> 00:38:44.685
Ja, genau, da gibt es auch immer wieder Diskussionen, wie wir da irgendwie hinkommen.

00:38:45.085 --> 00:38:50.445
Ich denke, der eine Teil ist der Accessibility-Tree, der einfach nicht spezifiziert,

00:38:50.705 --> 00:38:56.285
fertig spezifiziert ist, weil er von dem Betriebssystem abhängt,

00:38:56.325 --> 00:38:57.965
zu sehr noch historisch.

00:38:58.565 --> 00:39:01.605
Und das andere ist natürlich, dass ARIA gerade dafür da ist,

00:39:01.665 --> 00:39:03.965
wenn es halt nicht mit HTML geht.

00:39:04.205 --> 00:39:08.085
Und deswegen sind halt von Anfang an etwas wildere Konstruktionen möglich.

00:39:09.325 --> 00:39:13.665
Und das macht es manchmal echt schwer. Und vor allem schwer, wenn man es halt mischt.

00:39:13.865 --> 00:39:20.225
Also wenn du halt ARIA nur auf Diffs anwendest, dann ist es meistens viel robuster,

00:39:20.425 --> 00:39:24.085
als wenn du halt anfängst, eine Liste umzuschreiben.

00:39:24.845 --> 00:39:30.085
Aber das ist halt häufig ja auch durchaus sinnvoll, wenn man ein natives Element

00:39:30.085 --> 00:39:34.125
nimmt, dessen Funktionalität man haben möchte, zumindest als Ballback oder vielleicht

00:39:34.125 --> 00:39:38.745
auch als einfach als Teil der Funktionalität, die man bauen will.

00:39:40.665 --> 00:39:45.305
Ich dachte gerade, du wolltest jetzt eine Lanze brechen, Buttons doch mit Diffs zu bauen.

00:39:47.265 --> 00:39:53.585
Nein, nein, nein, nein. Wir reden über sowas wie TreeGrid oder so, wo wir kein HTML haben.

00:39:55.065 --> 00:39:59.245
Genau, ich glaube, sonst würde Manuel Matusowitsch auch sofort hier auftauchen in unserem Podcast.

00:40:00.445 --> 00:40:03.965
Der würde das... Mit dem habe ich letztens über ARIA-Owns, äh,

00:40:04.285 --> 00:40:07.965
über so eine ähnliche... Das war Road-Presentation, egal.

00:40:08.405 --> 00:40:10.665
Ach, das war das mit den SVGs wahrscheinlich, oder?

00:40:11.525 --> 00:40:16.065
Genau, da haben wir uns kurz ausgetauscht. Ja, können wir auch nochmal verlinken.

00:40:16.185 --> 00:40:23.565
Der hat einen Artikel darüber geschrieben, wenn man SVG einbindet, also in sein HTML,

00:40:24.305 --> 00:40:30.465
ob es eben reicht, denen ein Role-Presentation zu geben oder eben ob man ARIA

00:40:30.465 --> 00:40:36.225
hidden gleich true setzen sollte und Letztos wäre wohl besser,

00:40:36.305 --> 00:40:40.585
weil man damit einfach sicherstellt, dass da wirklich gar nichts rausliegt dann

00:40:40.585 --> 00:40:42.205
aus dem SVG, was man nicht haben möchte.

00:40:43.695 --> 00:40:46.815
Genau, ich suche das mal. Genau, und da war wieder so ein Beispiel dafür,

00:40:47.315 --> 00:40:52.135
was man eben leicht übersieht, wenn man dann halt das SVG mit Role Presentation

00:40:52.135 --> 00:40:57.055
oder Role None bezeichnet, aber dann ein ARIA-Label draufpackt,

00:40:57.495 --> 00:41:01.315
dann gibt es tatsächlich eine Regel in der Spezifikation, die sagt,

00:41:01.415 --> 00:41:04.095
wenn du ein globales ARIA-Attribut nimmst,

00:41:04.915 --> 00:41:06.235
dann ist die Role Presentation weg.

00:41:07.497 --> 00:41:11.817
Weil du dann gesagt hast, hier mache ich was Wichtiges und dann kannst du es

00:41:11.817 --> 00:41:12.917
nicht einfach Presentation machen.

00:41:13.597 --> 00:41:17.777
Da gibt es einfach die sogenannte Conflict Resolution und das ist halt wie erwartet

00:41:17.777 --> 00:41:21.157
und da wäre es zum Beispiel super toll, wenn das einfach in den DevTools irgendwie angezeigt würde.

00:41:21.697 --> 00:41:24.917
Okay, dann ist aber die Conflict Resolution ja so ein bisschen so dieses,

00:41:25.137 --> 00:41:26.937
was ich eben meinte mit dieser Parser,

00:41:29.177 --> 00:41:32.397
Spezifizierung, Standardisierung. Für diesen einen Fall. Genau. Ja. Ja.

00:41:36.457 --> 00:41:41.477
Hey, kurze Werbeansage von uns. Seit 2011 sind wir regelmäßig auf der Beyond

00:41:41.477 --> 00:41:44.337
Tellerrand, einer Konferenz für Kreative und Entwickler.

00:41:44.557 --> 00:41:46.797
Und sie inspiriert uns bis zum heutigen Tag.

00:41:47.217 --> 00:41:53.837
Das nächste Mal findet die Konferenz am 27. und 28. April 2026 in Düsseldorf statt.

00:41:54.557 --> 00:42:01.237
Tickets kosten 349 Euro, was für zwei Tage Konferenz mit dem Line-Up ein Schnapper ist.

00:42:01.397 --> 00:42:04.237
Und Wir würden uns freuen, Dich dort zu treffen.

00:42:04.877 --> 00:42:09.817
Auf der Webseite beyondtellerand.com ohne Bindestrich gibt es alle Infos.

00:42:10.617 --> 00:42:16.177
Und noch ein Tipp. Gönnt Euch ein Zimmer im Holiday Inn oder im New Tab neben der Venue.

00:42:16.337 --> 00:42:21.017
Denn abends kann man dort oft noch mit den Speakern und der Community an der Bar abhängen.

00:42:21.597 --> 00:42:26.217
Wir alle freuen uns, wenn Du dabei bist. Und wer Dir über den Haus noch Bock

00:42:26.217 --> 00:42:30.437
hat, dem gebe ich persönlich gerne eine Führung durch Düsseldorf,

00:42:30.437 --> 00:42:35.857
inklusive Königsallee, Altstadt, Medienhafen und japanischem Viertel.

00:42:40.677 --> 00:42:45.137
Okay, dann wäre jetzt der Marco wieder dran zu drücken.

00:42:45.897 --> 00:42:48.857
Was ist mit dir? Ich bin nur der Host.

00:42:50.057 --> 00:42:56.877
Ihr seid hier die Stars. Du hast den Generator geschrien, du beißt jetzt schon, was rauskommt.

00:42:56.957 --> 00:43:01.517
Ja genau, ich bin schon beißt. ich steuere das eigentlich hier, was herauskommt.

00:43:02.397 --> 00:43:04.077
Ah ja, disabled ist es geworden.

00:43:09.424 --> 00:43:13.504
Würde ich auf den ersten Blick sagen, ist so ein Attribut, das wir in 30 Sekunden

00:43:13.504 --> 00:43:16.624
erklärt haben, aber wahrscheinlich ist es nicht so, oder?

00:43:17.664 --> 00:43:21.244
Das ist vielleicht wieder ein Trugschluss. Doch, ich glaube schon.

00:43:25.964 --> 00:43:31.084
Wir haben es hier auf die rote Liste gesetzt. Also hier kann ich wieder sagen,

00:43:31.184 --> 00:43:40.764
es geht um die JavaScript API, also um die Reflected Property und nicht um das Attribut?

00:43:42.404 --> 00:43:43.704
Genau, aber das liegt... Das ist

00:43:43.704 --> 00:43:46.024
nur so ein kleines Detail, aber das ist ziemlich wurscht an der Stelle.

00:43:46.284 --> 00:43:50.784
Genau, aber das ist ja technisch bedingt, also die tatsächlich,

00:43:52.084 --> 00:44:00.024
ist irgendwie war die MDM MDN ist so aufgebaut, dass ich bei den ARIA-Sachen

00:44:00.024 --> 00:44:06.504
nicht die Attribute so leicht rausfischen kann, sondern immer die DOM Version, die DOM Varianten,

00:44:07.404 --> 00:44:11.044
aber genau so Gemeint wäre jetzt im Grunde beides.

00:44:14.573 --> 00:44:18.093
Und ja, ihr habt das wahrscheinlich auf der roten Liste, Marco,

00:44:18.393 --> 00:44:23.073
weil ihr dann direkt das Disabled-Attribut wahrscheinlich nehmen würdet.

00:44:23.553 --> 00:44:29.533
Man könnte das höchstens für Elemente benutzen, für die es keine nativen HTML-Elemente

00:44:29.533 --> 00:44:32.093
gibt, die trotzdem Disabled sein müssten.

00:44:33.233 --> 00:44:37.573
Genau, wobei man ja grundsätzlich auch sagen muss, dass überhaupt das E-Bild

00:44:37.573 --> 00:44:40.833
ja sehr kritisch gesehen wird.

00:44:41.293 --> 00:44:48.333
Also wir hatten Manuel Matusowitsch, ich glaube in seinem Buch hier, schreibt er auch,

00:44:48.713 --> 00:44:57.013
man soll das gar nicht verwenden oder er sieht keinen wirklich sinnvollen Use Case.

00:44:59.573 --> 00:45:05.573
Ich weiß, dass wir das auch diskutiert haben und in den Fällen,

00:45:05.673 --> 00:45:06.953
wo es wahrscheinlich sinnvoll ist,

00:45:08.293 --> 00:45:14.253
haben wir tatsächlich das native oder für uns sinnvoll ist, das native verwendet,

00:45:15.393 --> 00:45:20.213
aber für React Entwickler ist das vielleicht dann wichtig für React, wow,

00:45:21.193 --> 00:45:25.253
die müssen ja leider, es geht ja technisch ist das ja nicht anders möglich die

00:45:25.253 --> 00:45:28.993
müssen ja Disks dann nehmen für alles Und dann müssen wir natürlich bei defrollbutton

00:45:28.993 --> 00:45:32.653
den per array disabled true auf disabled setzen.

00:45:34.193 --> 00:45:39.113
Nein, Quatsch. Das war jetzt natürlich nur ein bisschen trolling hier. Was?

00:45:40.833 --> 00:45:43.273
Ja, ich wüsste auch nicht, wann ich es benutzen würde.

00:45:47.433 --> 00:45:54.293
Genau. Und man müsste es dann ja auch in JavaScript zusätzlich auch dysfunktional machen.

00:45:54.293 --> 00:46:01.433
Und vielleicht auch das CSS entsprechend machen, dass es vielleicht so UserSelectableNone

00:46:01.433 --> 00:46:05.413
und PointEventsNone und so, damit es dann auch wirklich sich so verhält,

00:46:05.473 --> 00:46:08.273
wie man es sonst kennt von DisabledAttribut.

00:46:08.673 --> 00:46:13.833
Ja, damit es auch von der Fokusreihenfolge mit der Tastatur verschwindet. Das ist auch...

00:46:16.299 --> 00:46:21.239
Also disablte Input-Elemente kann man nicht fokussieren. Das ist so.

00:46:21.259 --> 00:46:23.479
Genau, das glaube ich so.

00:46:24.839 --> 00:46:27.119
Na, das kann man nicht.

00:46:29.319 --> 00:46:33.379
Aber kriegt man die angesagt? Also wenn ich jetzt zum Beispiel so ein Formular

00:46:33.379 --> 00:46:35.879
hätte mit einem disablten Submit-Knopf,

00:46:36.139 --> 00:46:43.039
weil ich den erst enablen will, wenn das Formular valide ist,

00:46:43.039 --> 00:46:45.319
Also weil ich Required-Felder habe oder sowas,

00:46:45.799 --> 00:46:51.379
würde man diesen Submit-Button dann kommuniziert bekommen oder wäre der dann auch im Grunde wie weg?

00:46:52.959 --> 00:46:58.179
Ich glaube, dazu eine kleine Erklärung für Menschen, die sich weniger mit der Materie beschäftigen.

00:46:58.459 --> 00:47:02.219
Die gängigen Screenreaders, vor allem auf Windows, haben zwei Modi.

00:47:02.619 --> 00:47:06.079
Ich habe das heute schon ein bisschen angekündigt. Das ist der Browse-Modus

00:47:06.079 --> 00:47:11.899
und das ist der Fokus-Modus oder App-Modus oder Formular-Modus.

00:47:11.899 --> 00:47:16.599
Hat es auch in JAWS geheißen oder heißt es anscheinend immer noch.

00:47:16.979 --> 00:47:23.599
Es geht darum, dass im Browse-Modus die Pfeiltasten sind einfach Navigator-Tasten,

00:47:23.739 --> 00:47:29.139
also wir betrachten nicht, also normalerweise scrollen die Pfeiltasten die Seite

00:47:29.139 --> 00:47:30.439
für sehende BenutzerInnen.

00:47:31.239 --> 00:47:35.479
In diesem Modus des Screenreaders aber, wir betrachten die Seite Element nach

00:47:35.479 --> 00:47:40.599
Element, so wie das von dem Barrierfreiheitsbaum ausgegeben ist.

00:47:41.319 --> 00:47:45.539
Das heißt, wir navigieren über alles, also über interaktive und nicht interaktive

00:47:45.539 --> 00:47:49.779
Elemente gleichzeitig oder je nachdem, nach der Reihenfolge.

00:47:50.919 --> 00:47:56.639
Und dann wird wirklich alles angesagt. Also egal, ob das fokussierbar oder nicht

00:47:56.639 --> 00:48:00.239
fokussierbar ist, interaktiv oder nicht interaktiv ist, in dem Fall hört man

00:48:00.239 --> 00:48:02.379
einfach Submit-Taste nicht verfügbar.

00:48:03.429 --> 00:48:07.269
Okay, das ist jetzt der Browse-Modus, ne? Genau, das ist der Browse-Modus.

00:48:07.549 --> 00:48:13.009
Und der Formular-Modus ist einfach ein Modus, in dem sich die Tastatur.

00:48:14.509 --> 00:48:20.309
Warum wir den Browse-Modus auch brauchen, ist, weil wir mit den diversen Buchstaben

00:48:20.309 --> 00:48:24.489
unserer Tastatur zu Elementen eines diversen Tipps springen können.

00:48:24.689 --> 00:48:27.489
Zum Beispiel die Buchstabe H springt zur nächsten Überschrift,

00:48:28.949 --> 00:48:31.909
T zur nächsten Tabelle, L zur nächsten Liste und so weiter.

00:48:32.549 --> 00:48:36.429
Deswegen können wir auch in diesem Modus keine Buchstaben zum Eintippen von

00:48:36.429 --> 00:48:39.689
Texten zur Angabe nicht verwenden.

00:48:40.049 --> 00:48:43.749
Und dann brauchen wir den Formular-Modus. Und im Formular-Modus verhält sich

00:48:43.749 --> 00:48:46.669
die Tastatur wie für alle anderen BenutzerInnen-Gruppen.

00:48:47.209 --> 00:48:50.329
Also Tab und Shift-Tab springt zwischen den interaktiven Elementen.

00:48:50.649 --> 00:48:55.349
Die Buchstaben geben Text ein und so weiter. Und dann wird es natürlich übersprungen.

00:48:55.949 --> 00:49:01.829
Wenn wir schon Formulare ausfüllen, dann springt man meistens mit der Tab-Taste von Feld zu Feld.

00:49:01.909 --> 00:49:05.569
Weil das ist einfach schneller als Modus einschalten, Schreiben,

00:49:05.689 --> 00:49:08.609
Modus ausschalten, zum nächsten Feld Modus einschalten und so weiter.

00:49:09.149 --> 00:49:13.369
Und dann wird natürlich vieles übersprungen. Da wird Text übersprungen,

00:49:13.669 --> 00:49:15.789
wenn zwischen zwei Felder,

00:49:16.929 --> 00:49:21.909
befindet sich was am Text, da kann man schon denken, ob in dem einen oder anderen

00:49:21.909 --> 00:49:27.689
Fall eine Verknüpfung durch ARIA Describe by nicht sinnvoll wäre oder einfach ein ARIA Description.

00:49:29.489 --> 00:49:31.129
Dann werden auch,

00:49:32.119 --> 00:49:36.019
Nicht fokussierbare Elemente übersprungen und so weiter. Aber im Browse-Modus

00:49:36.019 --> 00:49:39.159
ist alles erlaubt, solange für Screenreader sichtbar.

00:49:39.619 --> 00:49:46.359
Okay, das heißt, man würde in diesem Formular-Modus eben auch disablte Felder

00:49:46.359 --> 00:49:50.639
gar nicht bemerken? Nein, nein, tatsächlich nicht.

00:49:51.099 --> 00:49:56.319
Das ist eben die Frage, weil wenn die nur ARIA disabled sind,

00:49:56.699 --> 00:50:01.699
also ARIA disabled haben, aber nichts sonst gemacht geworden ist,

00:50:01.879 --> 00:50:06.639
um die auszuschalten, also zum Beispiel, die werden nicht verhindert,

00:50:06.719 --> 00:50:08.959
mit der Tastatur fokussiert zu sein,

00:50:09.719 --> 00:50:12.919
dann könnte ich mir schon vorstellen, dass irgendwas angesagt wird,

00:50:13.259 --> 00:50:15.579
aber wir können das trotzdem nicht bedienen.

00:50:16.979 --> 00:50:20.939
Oder ist das vielleicht nur eine Ansage? ARIA im Grunde, glaube ich,

00:50:21.819 --> 00:50:24.719
in vielen Fällen sorgt für die Ansagen von den Screenreadern,

00:50:24.739 --> 00:50:25.699
ist mein Gefühl zumindest.

00:50:25.939 --> 00:50:29.899
Und dann wird einfach angesagt, nicht verfügbar, aber fokussiert kann es trotzdem

00:50:29.899 --> 00:50:33.539
sein, weil die andere Elemente... Ja, genau, da ändert sich nichts.

00:50:34.539 --> 00:50:40.259
Das ist ja dann sozusagen das Eiquivalent. Also wenn wir das disabled machen,

00:50:40.459 --> 00:50:43.579
dann sieht der Anwender ja noch, dass die Funktion.

00:50:45.047 --> 00:50:49.427
Also dass es eine Funktion da gibt, die aber aktuell nicht für ihn verfügbar

00:50:49.427 --> 00:50:52.067
ist, aber er kann es sehen.

00:50:52.247 --> 00:50:57.987
Und jetzt verstehe ich, wenn es disabled ist, dann würdet ihr in dem Formular-Modus

00:50:57.987 --> 00:51:01.067
das gar nicht entdecken.

00:51:01.167 --> 00:51:06.887
Das wäre sozusagen eher so, wie würden wir das ganz ausblenden, das Element.

00:51:06.887 --> 00:51:14.167
Ja, und das heißt, man könnte ARIA disabled verwenden, weil der Fokus ja dann,

00:51:14.947 --> 00:51:19.867
also die Elemente wären nach wie vor fokussierbar.

00:51:20.067 --> 00:51:25.547
Das heißt, ihr würdet sie in dem Formularmodus entdecken können.

00:51:25.767 --> 00:51:32.647
Das wäre dann ja analog, wie die sehenden User die disabled Elemente sehen können.

00:51:36.008 --> 00:51:40.828
Also hätte das in der Form ja vielleicht sogar ein, weiß ich nicht,

00:51:40.888 --> 00:51:46.648
ob es ein gewünschter Effekt ist, aber zumindest hätte man etwas Analoges für

00:51:46.648 --> 00:51:48.148
den Accessibility Tree geschaffen.

00:51:48.948 --> 00:51:54.128
Ich glaube, das hängt von Fall zu Fall ab. Weil natürlich, wir wollen immer

00:51:54.128 --> 00:51:55.588
die gleiche Erfahrung haben.

00:51:55.968 --> 00:52:02.288
Die Frage ist auch immer, ob dieser hinzugefügte, diese zusätzliche Erfahrung einen Mehrwert bringt.

00:52:02.488 --> 00:52:09.248
Weil die meisten von uns arbeiten mit Sprachausgabe. Und das ist ein sehr langsames Einnahmekanal.

00:52:10.168 --> 00:52:17.408
Und dann ist es auch wichtig, so wenig Inhalt wie, so viel wie nötig,

00:52:17.468 --> 00:52:22.268
so wenig wie es geht vorzustellen, damit man relativ schnell durch die Seite

00:52:22.268 --> 00:52:24.628
navigieren kann. Also wenn etwas keinen Mehrwert bringt.

00:52:25.008 --> 00:52:30.768
Es gibt natürlich auch Read-Only-Controls, also Felder, die nur zum Lesen sind.

00:52:31.308 --> 00:52:35.008
Die kann man auch fokussierbar machen und den Inhalt darstellen,

00:52:35.168 --> 00:52:43.468
ohne sie auszuschalten oder die Säbel zu machen. Die sind einfach Read-only und die kann man lesen.

00:52:43.868 --> 00:52:48.228
Man kann von denen was auswählen, aber nicht bearbeiten.

00:52:48.608 --> 00:52:56.608
Und das ist anders angesagt. Das ist als nur Lesen-Eingabefeld angesagt.

00:52:56.948 --> 00:52:59.768
Und dann weiß ich auch, ich kann hier nichts bearbeiten, aber vielleicht kann

00:52:59.768 --> 00:53:01.768
ich das lesen oder auswählen.

00:53:04.348 --> 00:53:08.128
Ja, dann wäre das vielleicht eine gute Alternative zumindest für Input-Felder,

00:53:08.708 --> 00:53:15.148
die man sozusagen ausblendet unter bestimmten Bedingungen oder so quasi leicht wegblendet.

00:53:16.268 --> 00:53:22.328
Aber um sie eben den Sehenden noch so zu zeigen, dass das eine Möglichkeit wäre,

00:53:23.068 --> 00:53:28.928
wenn man denn zum Beispiel irgendwas im Formular anhakt und so könnte man das

00:53:28.928 --> 00:53:35.828
dann replizieren für Screenreader-User, aber für Buttons ist das natürlich, geht das ja nicht Ja,

00:53:36.688 --> 00:53:37.708
ich glaube, das Schwierige ist,

00:53:38.628 --> 00:53:47.488
wenn du ARIA disabled auf echten HTML-Elementen verwendest, du ja ein sehr schwaches

00:53:47.488 --> 00:53:52.988
Signal nur hast an die Nutzer und tatsächlich ja nicht die Funktionalität blockierst.

00:53:52.988 --> 00:53:58.188
Das heißt, du kannst ganz leicht reinlaufen, dass das Element noch was tut,

00:53:58.608 --> 00:54:01.148
scheinbar, wenn es jetzt eine Checkbox ist.

00:54:02.368 --> 00:54:08.908
Und dann wird es arg schnell wahrscheinlich. ja, das muss man dann,

00:54:08.988 --> 00:54:12.128
da muss man das alles zusammen dann auch richtig machen, ne?

00:54:12.448 --> 00:54:16.368
Also sowas wie irgendwie Tabindex minus eins oder Ja,

00:54:16.948 --> 00:54:24.848
also es gibt Stimmen, die sagen es muss auch irgendwie, also die Menschen oder

00:54:24.848 --> 00:54:28.988
viele, die sagen Disabled nicht verwenden, die haben das Argument,

00:54:29.828 --> 00:54:36.448
dass dieses Element dann eben gerade nichts macht und der User kein Feedback

00:54:36.448 --> 00:54:39.668
bekommt und jetzt gar nicht weiß, warum das nichts macht.

00:54:40.048 --> 00:54:44.968
Sondern die wünschen sich eher, dass da schon noch was passiert und dass dann

00:54:44.968 --> 00:54:49.148
die explizite Fehlermeldung erscheint, warum er diese Aktion jetzt nicht ausführen kann.

00:54:50.948 --> 00:54:55.668
Und deswegen gibt es Stimmen, die sagen, Disabled gar nicht verwenden.

00:54:57.368 --> 00:55:01.848
Es gibt Corner-Cases, wo das schon sinnvoll ist.

00:55:01.948 --> 00:55:06.508
Also insbesondere, wenn man viel mit Power-Usern zu tun hat, die ähm,

00:55:08.471 --> 00:55:17.731
Ja, das dann gut kennen. Also da kann man nochmal mehr an Bediengeschwindigkeit rausholen,

00:55:17.851 --> 00:55:21.751
weil durch den deaktivierten Zustand vielleicht genau das kommuniziert wird,

00:55:21.831 --> 00:55:24.131
was der Anwender wissen möchte und so weiter.

00:55:24.671 --> 00:55:27.391
Also es ist nicht so ganz einfach, glaube ich.

00:55:30.509 --> 00:55:34.929
Ja, ich bin da auch einfach nicht erfahren genug, glaube ich, in dem Bereich.

00:55:35.589 --> 00:55:42.189
Ich kann mir gut vorstellen, dass zum Beispiel, wenn man zum Beispiel daran

00:55:42.189 --> 00:55:45.449
denkt, es gibt ja in der WCAG die Ausnahme für Disabled Elemente,

00:55:45.569 --> 00:55:46.949
was zum Beispiel Kontrast angeht.

00:55:49.529 --> 00:55:55.169
Das heißt ja aber nicht, dass man nicht trotzdem was zusätzliches an Informationen bereitstellen kann,

00:55:56.149 --> 00:56:00.429
nicht wahr und wenn man das dann tut um es eben klarer zu machen,

00:56:00.609 --> 00:56:04.749
weil es eben sonst schwer nutzbar ist dann kann man das ja vielleicht auch einfach

00:56:04.749 --> 00:56:08.449
auf eine Art und Weise machen, die dann eben funktioniert,

00:56:09.549 --> 00:56:13.669
ohne dass das, also die zum Beispiel eben in der Tab-Reihenfolge steht und einfach

00:56:13.669 --> 00:56:17.289
diese zusätzliche Informationen hat dass hier was war, was nicht funktioniert.

00:56:19.149 --> 00:56:21.929
Aber, wie gesagt, ich bin da nicht erfahren genug.

00:56:22.929 --> 00:56:28.029
Ich habe jetzt testweise die Zufallsgenerator-Taste hier auf meiner Seite lokal

00:56:28.029 --> 00:56:31.769
mit ARIA disabled versehen, um zu schauen, was NVDA damit tut.

00:56:32.609 --> 00:56:36.329
Der fokussiert es immer noch im Formular-Modus, aber sagt dazu nicht verfügbar.

00:56:37.849 --> 00:56:38.409
Ah.

00:56:40.609 --> 00:56:44.509
Also du hast ARIA disabled aufgelegt oder disabled?

00:56:45.189 --> 00:56:48.429
ARIA disabled. Ah ja, okay.

00:56:48.989 --> 00:56:52.089
Also das ist das Einzige, was es von meiner Perspektive ausmacht,

00:56:52.229 --> 00:56:55.849
ist, es versorgt die Taste mit der Ansage nicht verfügbar.

00:56:56.109 --> 00:56:58.549
Nichts anderes. Also es wird nicht für mich ausgeblendet.

00:56:59.549 --> 00:57:02.329
Es wird nichts anderes getan. Ja, aber das ist ja bei ARIA eigentlich auch nie

00:57:02.329 --> 00:57:05.949
der Fall, dass es irgendwelche anderen Effekte hat.

00:57:06.229 --> 00:57:10.869
Also man kann Dinge dann auch nicht auf einmal klicken, weil also wenn dann

00:57:10.869 --> 00:57:17.329
bei Rollbutton das jetzt und genau Und insofern fällt es sich, wie man das kennt.

00:57:19.868 --> 00:57:24.268
Genau. Und, um jetzt direkt die Überleitung zu machen, du hast es dann auch

00:57:24.268 --> 00:57:29.568
getestet und geklickt und hast auch ein, das nächste, also du warst auch dran,

00:57:29.748 --> 00:57:33.348
also es passt alles und hast jetzt direkt das nächste Attribut hier.

00:57:34.588 --> 00:57:39.788
ARIA-Controls. Und das ist so ein Attribut, der mich durch den Kopf ziemlich

00:57:39.788 --> 00:57:42.408
oft läuft, weil ich sehe, ihn oft angewendet.

00:57:44.128 --> 00:57:50.268
Und es ist von meinem Screenreader, also NVDA, mit dem ich am meisten teste, nicht unterstützt.

00:57:52.168 --> 00:57:55.908
Und ich habe ein bisschen dazu gelesen, also nur zur Erklärung,

00:57:56.148 --> 00:58:02.788
wenn ich das richtig verstehe, der ARIA-Controls informiert die BenutzerInnen darüber,

00:58:03.348 --> 00:58:08.148
Dass ein Element ein anderes Element kontrolliert.

00:58:08.888 --> 00:58:15.128
Und so ein typischer Fall für mich, wo das gut funktionieren würde,

00:58:15.668 --> 00:58:20.728
ist ein Formular, in dem ein Element weitere Elemente auslöst.

00:58:20.728 --> 00:58:29.708
Also ich checke einen Checkbox und als Resultat dieser Aktivierung erscheinen

00:58:29.708 --> 00:58:33.528
weitere Felder irgendwo weiter unten auf der Seite.

00:58:34.048 --> 00:58:39.048
Das war, glaube ich, der Prinzip hinter diesem Attribut.

00:58:39.868 --> 00:58:45.128
Und das Problem ist da, das ist zumindest die Diskussion im NVDA GitHub Repositorium

00:58:45.128 --> 00:58:51.028
gewesen, die Praxis hat gezeigt, es ist in meisten Fällen so,

00:58:51.128 --> 00:58:53.108
dass das Element, das kontrolliert wird,

00:58:54.482 --> 00:58:58.602
im DOM direkt nach dem Element, der kontrolliert liegt.

00:58:59.162 --> 00:59:04.142
Also die beiden sind nebeneinander und es ist normalerweise oder in meiste Fälle

00:59:04.142 --> 00:59:10.982
sollte nicht notwendig sein, diese Verknüpfung noch zusätzlich dazu zu erstellen.

00:59:12.362 --> 00:59:17.542
Ich habe aber schon Formulare gesehen, wo eine Auswahl, die wir irgendwo früher

00:59:17.542 --> 00:59:20.522
treffen, sich auf Felder weiter unten bezieht.

00:59:20.742 --> 00:59:25.942
Es ist nicht oft, aber ich habe vor kurzem sowas getestet und da habe ich mir

00:59:25.942 --> 00:59:29.282
gedacht, ja, hier wäre ARIA-Controls eigentlich super geeignet.

00:59:29.442 --> 00:59:33.922
Das Problem ist tatsächlich, dass die Unterstützung sehr begrenzt ist.

00:59:34.022 --> 00:59:38.502
JAWS unterstützt das, soweit ich weiß, aber es ist standardmäßig ausgeschaltet,

00:59:38.642 --> 00:59:44.022
dass es benachrichtigt, dass ein Element ein anderes kontrolliert und es sollte

00:59:44.022 --> 00:59:47.582
auch möglich sein, zwischen den beiden zu hüpfen.

00:59:47.882 --> 00:59:54.522
Also von den kontrollierten zu den Kontrollierten hin und her,

00:59:54.642 --> 00:59:58.802
wie bei Details, wie bei Flow to und Flow from und so weiter.

01:00:00.922 --> 01:00:05.302
Und auf Apple weiß ich nicht, ob das auch unterstützt ist.

01:00:05.402 --> 01:00:07.982
Ich habe das noch nie auf iOS gesehen, macOS habe ich nicht,

01:00:08.202 --> 01:00:13.722
aber ich glaube, die Unterstützung ist, wie gesagt, über begrenzt und ich weiß

01:00:13.722 --> 01:00:18.482
nicht, ob es einen Konsensus im W3C Community gibt, Peter,

01:00:19.282 --> 01:00:24.542
ob dieser Attribut weiter unterstützt sein sollte.

01:00:25.522 --> 01:00:28.162
Aber vielleicht bin ich da nicht bestens informiert.

01:00:31.985 --> 01:00:36.965
Ich glaube, da lehne ich mich jetzt nicht weit aus dem Fenster an der Stelle,

01:00:37.385 --> 01:00:40.345
aber ich glaube, die Situation stimmt, wie du sie beschreibst.

01:00:41.545 --> 01:00:48.005
Was die Hoffnung angeht, ARIA-Controls nützlich zu machen, ist dann immer schwierig,

01:00:48.165 --> 01:00:54.405
weil es eben letztlich auf ein Problem hinausläuft, das außerhalb der W3C steht,

01:00:54.765 --> 01:00:57.745
nämlich die assistiven Technologien selber.

01:00:59.025 --> 01:01:04.825
ARIA und alle anderen Spezifikationen hören halt beim User Agent auf und was

01:01:04.825 --> 01:01:10.365
darüber hinausgeht und das ist sozusagen, ich finde mal, einer der schwierigsten

01:01:10.365 --> 01:01:12.625
Punkte von der ARIA-Welt,

01:01:13.085 --> 01:01:19.625
da kommt halt eigentlich der wesentliche Teil dann außerhalb und über den kann

01:01:19.625 --> 01:01:21.245
die Spezifikation nichts sagen.

01:01:21.245 --> 01:01:25.605
Die kann dann vielleicht Hinweise geben, wie man was machen kann oder wie man

01:01:25.605 --> 01:01:30.805
irgendwas den Usern bereitstellen können sollte und so weiter,

01:01:30.965 --> 01:01:34.645
aber sie kann letztlich keine verpflichtenden Aussagen machen.

01:01:34.845 --> 01:01:41.125
Und das ist einfach so ein Grundkonflikt, der es so unglaublich schwer macht,

01:01:41.345 --> 01:01:46.105
diese Spezifikationen auch voranzutreiben, dass wir da eben nicht nur ...

01:01:47.470 --> 01:01:51.230
Also nicht bis zum Ende Spezifikationen schreiben können.

01:01:51.830 --> 01:01:56.490
Das höchste der Gefühle, was da in anderen Spezifikationen mir einfällt,

01:01:56.590 --> 01:02:02.870
ist halt, dass die CSS-Color-Modelle, die Farbmodelle, die jetzt neuere Monitore brauchen,

01:02:03.170 --> 01:02:06.850
das ist so ungefähr das Einzige, was mir da einfällt.

01:02:06.850 --> 01:02:09.550
Und das ist dann halt auch doch eher ein kleineres Problem.

01:02:10.230 --> 01:02:15.210
Und bei uns ist es doch essentiell der Teil, den wir gar nicht ansprechen können

01:02:15.210 --> 01:02:18.770
und der auch leider häufig nicht vertreten ist in den Prozessen,

01:02:19.030 --> 01:02:22.570
weil die Projekte häufig klein sind. Ich meine, die Screenreader sind ja noch,

01:02:22.690 --> 01:02:25.130
die sind schon klein und die sind noch ziemlich groß.

01:02:25.270 --> 01:02:32.350
Aber wenn man an andere assistive Technologien denkt, wie einfach nur Browsertools zum Vorlesen,

01:02:32.570 --> 01:02:38.570
die sich vielleicht auf Dyslexie spezialisiert haben oder irgendwie die E-Book-App,

01:02:38.770 --> 01:02:41.530
die halt auch einen Vorlesemechanismus hat und all diese Dinge,

01:02:41.970 --> 01:02:46.890
die kommen halt gar nicht, also die haben überhaupt keine Ressourcen, um präsent zu sein.

01:02:47.710 --> 01:02:49.970
Das ist einfach ein Riesenproblem.

01:02:51.690 --> 01:02:57.410
Aber das heißt, dass also die, also JAWS war das jetzt, oder?

01:02:57.610 --> 01:02:58.930
Wir hatten ja über JAWS gesprochen.

01:02:59.330 --> 01:03:04.710
Der kann kein ARIA-Controls auswerten. Also damit kann er nichts anfangen.

01:03:04.890 --> 01:03:06.890
Also NVDA kann das komplett nicht.

01:03:07.270 --> 01:03:12.230
JAWS kann das, wenn man irgendwas Erweitertes in Einstellungen einschaltet.

01:03:12.510 --> 01:03:17.470
Und dann kann man glaube ich auch zwischen den Elementen hin und her springen.

01:03:18.250 --> 01:03:19.750
Also du kannst von den Checkboxen Ja, natürlich.

01:03:20.850 --> 01:03:27.090
Also einfach, weil ich das Gefühl habe, dass das so als Best Practice auch kolportiert

01:03:27.090 --> 01:03:31.090
wird, zum Beispiel bei so Menüs, die man mit Submenüs, die man aufklappen kann,

01:03:31.210 --> 01:03:35.210
da hat man ja eigentlich immer diese Kombo aus ARIA-Controls und ARIA-Expanded und so.

01:03:37.050 --> 01:03:42.650
Und das heißt dann letztlich, dass die meisten Three-Reader-Drager keine Beziehungen

01:03:42.650 --> 01:03:44.930
zwischen diesen Elementen herstellen können.

01:03:46.533 --> 01:03:51.393
Ja, das würde so sein. Die Frage ist dann nur in einem Menü,

01:03:51.493 --> 01:03:55.753
also wenn ich mir so ein Navigationsmenü mit Unterpunkten, mit Hamburgers vorstelle,

01:03:56.433 --> 01:04:01.353
dann kommt in der Tab-Reihenfolge oder auch im Browse-Modus im Barrierefreiheitsbaum

01:04:01.353 --> 01:04:07.853
die ausgeklappte Liste direkt nach dem Auslöser, direkt nach dem Accordion-Taste, nach dem Trigger.

01:04:07.853 --> 01:04:13.573
Und dann ist die Frage, brauchen wir wirklich eine extra Verbindung herzustellen,

01:04:13.873 --> 01:04:15.873
wenn die Elemente so nah aneinander liegen?

01:04:19.513 --> 01:04:24.313
Ja, aber genau, aber du willst, ja, okay.

01:04:25.873 --> 01:04:29.453
Aber was würde man denn dann machen? Also du möchtest ja, wenn du jetzt so ein,

01:04:30.313 --> 01:04:33.813
mehrere Ebenen tiefes Menü hast, dann willst du ja vielleicht erstmal in der

01:04:33.813 --> 01:04:38.213
obersten Ebene, wenn man da tappt, dass man eben auch quasi nur durch die oberste Ebene durchgeht,

01:04:38.853 --> 01:04:44.613
und On-Demand das Untermenü erst aufklappt und dann wäre das sozusagen auch,

01:04:44.773 --> 01:04:47.873
sagen wir mal, von Display None auf Display Block geschaltet.

01:04:48.073 --> 01:04:53.373
Damit wäre es auch antappbar. Dann würde es, wenn die HTML-Struktur korrekt ist,

01:04:53.693 --> 01:04:56.273
also manchmal ist das ja teilweise layout-technisch schwierig,

01:04:56.393 --> 01:05:01.653
aber wenn das dann quasi eine Liste in, eine Unterliste in dem Listenpunkt wäre,

01:05:01.933 --> 01:05:03.913
könnte man das dann dadurch laufen.

01:05:04.673 --> 01:05:08.413
Genau, aber man bräuchte ja dann trotzdem eben diesen Trigger,

01:05:08.553 --> 01:05:14.773
der das Untermenü dann sichtbar schaltet und vielleicht auch wieder wegschaltet,

01:05:14.913 --> 01:05:17.553
wenn man dann merkt, dass man es doch nicht gebrauchen kann.

01:05:18.493 --> 01:05:22.453
Wie würdest du das denn machen? Das Wegschalten geht immer mit Escape normalerweise, oder?

01:05:24.667 --> 01:05:30.447
Es ist so... Würde ich bei dem Pattern jetzt, glaube ich... Also hätte ich jetzt

01:05:30.447 --> 01:05:37.087
nicht so verbaut, aber wenn ihr sagt, dass das eigentlich so erwartet würde.

01:05:38.167 --> 01:05:42.067
Und das ist auch eine Sache von nicht nur Screenreader-Berdienung,

01:05:42.127 --> 01:05:44.947
aber auch Tastatur-Berdienung für sehende BenutzerInnen.

01:05:45.567 --> 01:05:47.167
Und die haben dann keine ARIA.

01:05:49.027 --> 01:05:57.047
Wie macht man denn? Welchen Hinweis bräuchtest du, damit du eben weißt,

01:05:57.267 --> 01:06:02.947
dass ein Button noch ein Untermenü aufklappt, einfach nur also das ARIA expandet, ist das wichtig?

01:06:03.367 --> 01:06:05.467
Ja, schon. Schon, ja.

01:06:06.427 --> 01:06:11.787
Okay, und kein Verweis aber auf das, was es expandet, der ist dann nicht nötig aus deiner Sicht.

01:06:12.047 --> 01:06:16.627
Das kommt normalerweise von der Beschriftung. Also, was ich gesehen habe öblich,

01:06:16.767 --> 01:06:19.067
ist einfach irgendwas unter Menü.

01:06:19.267 --> 01:06:21.327
Und das schreibt man.

01:06:24.127 --> 01:06:30.267
Mehr für Kontakte oder mehr für das und jenes ausklappen, sind schon die Entwicklungsdeams

01:06:30.267 --> 01:06:31.947
kreativ mit dem ARIA-Label.

01:06:33.547 --> 01:06:41.367
Okay. Ah, verstaunlich. Ich glaube schon, es gibt Platz tatsächlich für ARIA-Controls,

01:06:41.507 --> 01:06:45.747
wie gesagt, bei solchen komplizierten Formularen, wo man weiß nicht,

01:06:45.887 --> 01:06:48.307
dass eine Entscheidung, die ich getroffen habe,

01:06:49.407 --> 01:06:50.907
irgendwann späte Konsequenzen hat.

01:06:51.027 --> 01:06:55.507
Jetzt, dass ich das sage, erinnert mich an einen Pen & Paper RPG-Rollenspiel,

01:06:55.587 --> 01:06:56.627
den ich gespielt habe da.

01:06:57.187 --> 01:06:59.067
Wie heißt das? Direkt verlinken hier?

01:07:00.505 --> 01:07:08.845
Na, ich meine ganz allgemein die Art von Spielen, wie Dungeons & Dragons zum

01:07:08.845 --> 01:07:10.145
Beispiel, das ist auch so.

01:07:11.605 --> 01:07:16.125
Eine Art von Spielen, wo wir durch eine Geschichte von einem Game Master geführt

01:07:16.125 --> 01:07:20.065
werden und wir können selbst entscheiden, erstens, was für einen Charakter wir

01:07:20.065 --> 01:07:23.685
einkörpern und dann auch, was für Entscheidungen wir treffen.

01:07:24.325 --> 01:07:29.285
Das Einzige ist nur, das Spiel hat einen Mechanismus, also wir dürfen nicht

01:07:29.285 --> 01:07:33.085
alles machen, was uns nur einfällt, ohne Konsequenzen dafür zu tragen.

01:07:33.705 --> 01:07:37.145
Es ist einfach so, wenn wir irgendeine Entscheidung treffen,

01:07:37.605 --> 01:07:43.665
es kommt dann in eine, zwei, drei Runden auf uns zu, dass diese Entscheidung

01:07:43.665 --> 01:07:45.745
irgendeine Konsequenz mit sich gebracht hat.

01:07:46.045 --> 01:07:49.585
Und das ist irgendwie die Assoziierung, die ich habe, wenn ich an diese Formulare denke.

01:07:49.765 --> 01:07:56.085
Also ich habe irgendwie ganz oben einen Checkbox angehakelt und der Ergebnis

01:07:56.085 --> 01:07:58.045
davon ist, dass irgendwo weiter,

01:07:58.765 --> 01:08:05.005
nach vielleicht einer Taste und zwei Checkboxes und einer Radio Group sind weitere

01:08:05.005 --> 01:08:09.305
zwei Eingabefelder rausgekommen, die nur da sind, weil ich eine Option früher

01:08:09.305 --> 01:08:13.285
angecheckt habe und das Formular ist eigentlich nicht,

01:08:14.425 --> 01:08:19.045
mehrschrittiger, sondern da werden mehrere Sachen auf einmal auf einer Seite angezeigt.

01:08:21.463 --> 01:08:24.483
Aber ich würde gerne auch Area Control sehen, mit Unterstützung.

01:08:24.883 --> 01:08:26.643
Aber es gibt schon Platz dafür.

01:08:28.043 --> 01:08:34.423
Genau, dein Checkbox-Beispiel würdest du ja auch nicht mitgeteilt bekommen,

01:08:34.603 --> 01:08:38.043
weil eben NBDA das gar nicht unterstützt und auch JAWS eben nur,

01:08:38.143 --> 01:08:39.823
wenn du ihn dazu zwingst.

01:08:40.223 --> 01:08:43.263
Genau, das ist mein Wissensstand.

01:08:45.543 --> 01:08:53.503
Ich würde da gerne noch mal ein bisschen auch die also eine andere Seite einbringen.

01:08:53.683 --> 01:08:55.483
Also für mich wird da eine Semantik

01:08:55.483 --> 01:09:00.223
zwischen verschiedenen Elementen hergestellt, die es sonst nicht gibt.

01:09:00.483 --> 01:09:06.763
Und ich glaube, zumindest kenne ich auch Anwendungsfälle, wo das eben nicht

01:09:06.763 --> 01:09:09.823
komplett durch HTML-Struktur implizit passiert kann.

01:09:10.383 --> 01:09:16.263
Also bei uns, wir haben Tabellen und die sind komplex und da kann der User dann

01:09:16.263 --> 01:09:20.883
auch einstellen, welche Spalten er ein- und ausblenden will und so weiter und so fort.

01:09:21.383 --> 01:09:24.603
Und wenn ich jetzt gerade diesen Spalten-Toggler mal hernehme,

01:09:24.843 --> 01:09:28.503
da gibt es einen Backen, den kriegt er auf, dann kommt so ein Pop-Over,

01:09:28.583 --> 01:09:31.243
wo dann alle Spalten aufgelistet sind, dann finde ich.

01:09:32.193 --> 01:09:36.173
Kann darüber, also dieses interaktive Element,

01:09:36.893 --> 01:09:40.213
ja genau auf diese Spaltenüberschrift referenzieren,

01:09:40.333 --> 01:09:47.493
um zu sagen, hier gibt es einen Zusammenhang, das steuert diese Spalte und ich

01:09:47.493 --> 01:09:52.413
finde, das ist ein Mehrwert alleine schon für die Entwickler,

01:09:52.693 --> 01:09:57.453
ohne dass das jetzt unbedingt auf den Accessibility Tree durchschlägt,

01:09:57.453 --> 01:10:02.333
Weil diesen Zusammenhang muss ich ja sowieso irgendwie herstellen, wenn ich möchte,

01:10:02.573 --> 01:10:05.773
dass an irgendeiner Stelle, wo ich ein interaktives Element habe,

01:10:05.833 --> 01:10:08.073
ein Button, wo ich drauf klicke, dass etwas passiert,

01:10:08.613 --> 01:10:10.433
muss ich die Verbindung herstellen.

01:10:10.433 --> 01:10:14.173
Und ich finde das sehr gut, dass es hier einen ARIA-Standard gibt,

01:10:14.373 --> 01:10:20.153
der vielleicht auf der anderen Seite von den assistiven Technologien noch nicht so unterstützt wird.

01:10:20.373 --> 01:10:23.393
Aber ich sehe da durchaus auch einen Mehrwert für die andere Seite.

01:10:24.253 --> 01:10:28.473
Nämlich für die Entwickler, die können den Zusammenhang sehen.

01:10:28.593 --> 01:10:31.833
Ich kann JavaScript darauf zugreifen, ich kann mir das referenzierte Element

01:10:31.833 --> 01:10:35.453
holen und dann dafür sorgen, dass zum Beispiel die Spalte einmal ausgeblendet

01:10:35.453 --> 01:10:41.413
wird. und von daher finde ich dieses Element eigentlich gut.

01:10:41.673 --> 01:10:46.673
Das heißt, du machst im Grunde das, was wir jetzt gesagt haben mit dem ARIA

01:10:46.673 --> 01:10:52.013
Selected und so, wo du das als Hook nimmst für deinen CSS, so nutzt du ARIA

01:10:52.013 --> 01:10:54.153
Controls als JavaScript.

01:10:55.433 --> 01:11:00.393
Also um JavaScript zu informieren, was es eben zu toggeln hat zum Beispiel.

01:11:01.073 --> 01:11:05.133
Ja, genau. Das mache ich auch so. Also es ist eigentlich ganz cool,

01:11:05.133 --> 01:11:10.653
Wenn man das so einmal gebaut hat, dann muss man das nicht jedes Mal neu verdrahten.

01:11:12.293 --> 01:11:16.313
Ich dachte, man erschlägt dann zwei Fliegen mit einer Klappe,

01:11:16.613 --> 01:11:18.513
man erschlägt aber doch nur eine wohl.

01:11:20.593 --> 01:11:25.573
Aber die musst du erschlagen und du könntest dir jetzt wieder selber einen Nichtstandard

01:11:25.573 --> 01:11:30.353
überlegen wie du es machst und so kannst du einen Standard nutzen,

01:11:30.553 --> 01:11:35.213
weil das ist ja genau das was du möchtest, ich habe ein Element hier, was,

01:11:36.056 --> 01:11:39.956
eine Liste von anderen Elementen kontrolliert oder steuert.

01:11:42.156 --> 01:11:49.016
Vielleicht eine kleine gute Nachricht ist, dass wenn man sich das Issue im NVDA-Repositorium

01:11:49.016 --> 01:11:55.336
anschaut über ARIA-Controls, da hat jemand schon eine Basis für einen Pull-Request vorgestellt.

01:11:55.616 --> 01:12:01.796
Also es gibt einen Proof-of-Concept-Code, dass ARIA-Controls in NVDA funktionieren kann.

01:12:01.916 --> 01:12:06.676
Es wäre jetzt nur die Sache, dass jemand das vollständig zu Ende schreibt codet

01:12:06.676 --> 01:12:09.796
und testet und das wäre so gut wie fertig.

01:12:09.976 --> 01:12:12.276
Ich weiß, ich kann es nicht einschätzen, wie viel Arbeit das wäre,

01:12:12.476 --> 01:12:15.436
aber jemand hat schon die Arbeit vor einigen Jahren angefangen.

01:12:16.896 --> 01:12:22.476
Was mir jetzt noch läuft, ich wollte dich später fragen, gibt es vielleicht

01:12:22.476 --> 01:12:29.476
welche neue HTML-Elemente, die ARIA-Controls als Verbindung verwenden?

01:12:29.616 --> 01:12:34.456
Also so wie wir von Pop-Over-Attribute gesprochen haben, dass dort ARIA-Details

01:12:34.456 --> 01:12:41.456
und ARIA-Discuitant ja, das ARIA Details dort verbindet und es gibt ARIA Expanded für die Tasten.

01:12:41.696 --> 01:12:46.656
Gibt es welche APIs in HTML, die ARIA Controls verwenden? Weißt du von sowas?

01:12:49.415 --> 01:12:52.635
Ähm, da bin ich überfragt an der Stelle.

01:12:55.335 --> 01:12:58.695
Vielleicht gibt auch keiner ab. Ich fahre nur neugierig. Ja.

01:13:00.295 --> 01:13:03.755
Nee, ey, mir fällt auch nichts ein, was ein Kandidat sein könnte.

01:13:04.035 --> 01:13:08.215
Naja, so hier diese Command-Invoker. Genau, Command-Invoker.

01:13:08.995 --> 01:13:13.995
Also Command und Command-Vor. Das ist auch in der Mache, dass wir ein Kandidat.

01:13:14.935 --> 01:13:19.715
Ich meine, letztlich die Mappings, ich meine, es gibt natürlich die Mappings

01:13:19.715 --> 01:13:23.035
in die Accessibility-APIs, die existieren natürlich alle.

01:13:23.995 --> 01:13:29.315
Soweit ich die Kritik an ARIA-Controls, ich habe auch nochmal einen ganz alten

01:13:29.315 --> 01:13:36.235
Artikel von Hayden Pickering verlinkt, der immer noch glaube ich aktuell ist,

01:13:37.015 --> 01:13:41.635
ist einfach die Hauptkritik, dass unklar ist, was für Informationen eigentlich.

01:13:43.555 --> 01:13:47.195
Damit an den Nutzer weitergegeben werden. Vor allem, weil eben,

01:13:48.135 --> 01:13:52.235
und da kommen wir jetzt zu einem anderen Thema, also wir haben ja gerade gehört,

01:13:52.315 --> 01:13:54.895
JAWS geht so ein bisschen und sonst ist es unklar.

01:13:55.075 --> 01:13:58.515
Ich weiß auch nicht den aktuellen Stand in anderen, aber ich fürchte es einfach

01:13:58.515 --> 01:14:01.995
so, wie er bisher ist, nämlich, dass nur JAWS ein bisschen was tut.

01:14:03.035 --> 01:14:05.715
Was nützt dir die Information, dass du irgendwas kontrollierst,

01:14:06.495 --> 01:14:08.355
wenn du nicht dahin kommen kannst?

01:14:09.155 --> 01:14:14.775
Also die Hoffnung war halt, dass das dazu führt, dass man dann eben zu dem kontrollierten

01:14:14.775 --> 01:14:22.035
Element auch springen kann als Screenreadernutzer oder irgendeine andere assistive Technologie.

01:14:22.915 --> 01:14:26.995
Und dann ist schon die Frage, wie soll das funktionieren? Insbesondere,

01:14:27.195 --> 01:14:28.235
wie kommst du wieder zurück?

01:14:28.435 --> 01:14:31.555
Muss das dann auch funktionieren? Und was ist, wenn du damit interagierst?

01:14:31.875 --> 01:14:37.535
Ab wann kannst du noch erwarten, dass du zurückkommst zu dem Controller sozusagen?

01:14:38.135 --> 01:14:41.195
Und da ist einfach so viel Unklarheit gewesen.

01:14:41.675 --> 01:14:47.355
Wir haben in der Zwischenzeit andere ARIA-Properties, die auch in die Richtung gehen.

01:14:47.495 --> 01:14:51.415
Also wir hatten, glaube ich, letztes Mal über ARIA-Details gesprochen und da

01:14:51.415 --> 01:14:53.755
ist es ja auch so ein bisschen genau so eine ähnliche Verbindung.

01:14:54.315 --> 01:14:58.115
Hier sind die Details und idealerweise möchtest du da hinspringen können und

01:14:58.115 --> 01:15:02.515
dann möchtest du aber wieder zurück zum Kommentar im annotierten Word-Dokument oder.

01:15:03.795 --> 01:15:11.455
Irgendwas anderes wie ein Popover oder Da ist, glaube ich, noch von den UX-Patterns

01:15:11.455 --> 01:15:12.895
einfach noch nicht viel Klarheit.

01:15:14.695 --> 01:15:19.115
Und da kommt, glaube ich, einfach viel der Skeptik her.

01:15:20.815 --> 01:15:25.775
Und letztlich, ich meine, würde ich jetzt das Thema wechseln, wenn ich darf.

01:15:25.895 --> 01:15:29.275
Ja, klar. Oder möchte ich so ein bisschen wechseln.

01:15:30.655 --> 01:15:35.155
Was mir wieder auffällt, ist, ich weiß eigentlich nicht, wie der Support ist

01:15:35.155 --> 01:15:37.895
in Screenreadern oder anderen Technologien.

01:15:38.475 --> 01:15:42.795
Und da haben wir auch so ein Dunkelfeld, dass wir eigentlich gar nicht genug

01:15:42.795 --> 01:15:52.875
Werkzeuge haben, um das zu dokumentieren. Also vielleicht kennt man a11ysupport.io.

01:15:53.795 --> 01:16:00.195
Das ist halt auch so ein Volontierprojekt, das im Wesentlichen seit Jahren ruhig

01:16:00.195 --> 01:16:04.835
geworden ist, angetrieben halt von einem Einzelnen im Wesentlichen jahrelang.

01:16:04.835 --> 01:16:11.535
Es gibt das ARIA-AT-Projekt, das so ein bisschen mehr in der W3C beheimatet

01:16:11.535 --> 01:16:17.115
ist und was im Wesentlichen die APG-Authoring-Patterns versucht,

01:16:17.315 --> 01:16:21.415
ein bisschen automatisiert Browser-Screenreader-Kombinationen zu testen.

01:16:22.135 --> 01:16:27.695
Es gibt jetzt seit neuestem versucht ein bisschen, wie heißt Leonie Watsons Firma?

01:16:30.035 --> 01:16:34.315
Tetralogical, genau, die haben jetzt zusammen mit, da ist Steve Faulkner auch

01:16:34.315 --> 01:16:39.715
aktiv, versuchen zumindest mal den Support für HTML-Elemente ordentlich zu testen.

01:16:40.215 --> 01:16:46.335
Es gibt so ein ganz neues Projekt. Wann ist das AT-Driver?

01:16:47.507 --> 01:16:52.707
Ja, AT-Driver gehört zu ARIA. Nee, AT-Driver ist das Web-Driver-Projekt,

01:16:52.967 --> 01:16:54.407
um testen zu können, oder?

01:16:54.587 --> 01:17:00.827
Genau, aber ich glaube, die Idee ist auch, dass man dann eben assistive Technologien,

01:17:01.687 --> 01:17:06.887
so ähnlich wie Browser fernsteuern kann, um eben automatisierte Tests zu machen.

01:17:08.347 --> 01:17:13.247
Okay, dann ist es eher das, was ich zum ARIA-AT-Projekt stecken würde.

01:17:13.447 --> 01:17:19.507
Aber jetzt gibt es eben auch eine neue Idee für ein Compatibility-Data-Projekt,

01:17:19.807 --> 01:17:24.247
dass man einfach eben mal systematischer, so ein bisschen Can-I-Use-mäßig was

01:17:24.247 --> 01:17:26.467
hat, um wirklich mal Dinge nachzugucken.

01:17:26.547 --> 01:17:31.587
Aber das ist alles, wir haben da keine guten Quellen und wir haben nicht genug Dokumentation und,

01:17:32.195 --> 01:17:36.415
Es ist auch, glaube ich, eine riesige Herausforderung, weil man ARIA nun mal

01:17:36.415 --> 01:17:42.195
mit ARIA wildere Dinge konstruieren kann als mit HTML und da ist einfach eine

01:17:42.195 --> 01:17:45.135
Lücke und die Lücke ist echt schwer zu füllen,

01:17:45.555 --> 01:17:48.235
vor allem wenn jeder sein eigenes macht, aber auch insgesamt einfach.

01:17:48.235 --> 01:17:53.595
Aber das zeigt ja nur wieder, dass jemand wie Pavel einfach unabdingbar ist,

01:17:53.775 --> 01:17:57.715
wenn man wirklich ein barrierefreies Projekt bauen möchte.

01:17:57.835 --> 01:18:04.135
Einfach durch deine Erfahrung, du bist im Prinzip ja der Adressat dafür.

01:18:05.395 --> 01:18:10.575
Ich muss auch zugeben, ich arbeite nicht mit jeder möglichen AT- und Browser-Kombination,

01:18:10.835 --> 01:18:13.615
die existiert und die getestet sein sollte.

01:18:13.955 --> 01:18:17.835
Vor allem, ich bin überwiegend Windows-Benutzer und iOS-Benutzer.

01:18:18.195 --> 01:18:24.935
Mit Android habe ich zum Einigen auch Erfahrungen. Mac, vielleicht tauche ich da irgendwann ein.

01:18:25.355 --> 01:18:28.235
Linux ist für mich kompletter terra incognita.

01:18:28.735 --> 01:18:33.135
Ich weiß, dass Orca sich ständig entwickelt mit beiden, mit Gecko,

01:18:33.235 --> 01:18:35.075
also mit Firefox und mit Chromium.

01:18:37.675 --> 01:18:43.035
Aber ansonsten gibt es so viele Kombinationen und je länger ich in der Community

01:18:43.035 --> 01:18:49.215
unterwegs bin, desto mehr sehe ich, dass Menschen sich alles Mögliche ausprobieren.

01:18:49.295 --> 01:18:55.795
Es gibt so viele Screenreaders auch, die nur auf einem bestimmten nationalen Markt verfügbar sind.

01:18:55.975 --> 01:19:00.875
Da sprechen wir zum Beispiel von Ländern wie China oder Japan.

01:19:01.455 --> 01:19:03.375
Wo ganz andere Screenreaders verwendet werden.

01:19:04.215 --> 01:19:07.195
Und je nachdem, wie breit wir das angehen möchten, ich weiß,

01:19:07.295 --> 01:19:12.015
dass die W3C auch sich für Sprachen wie Japanisch und Chinesisch interessiert,

01:19:12.255 --> 01:19:14.355
ganz speziell mit ihren Working Groups.

01:19:14.935 --> 01:19:18.075
Das ist wieder eine Frage, was dann im Markt verwendet wird.

01:19:19.088 --> 01:19:22.668
Es gibt auch alternative Umfragen zu der WebAIM.

01:19:22.808 --> 01:19:27.348
Also WebAIM ist die, es ist weltweit die populärste Umfrage,

01:19:27.508 --> 01:19:33.088
aber die nimmt auch vor allem in Sicht den englischsprachigen Markt,

01:19:33.168 --> 01:19:34.888
weil die Umfrage auf Englisch ist.

01:19:34.888 --> 01:19:42.748
Und dann sind die Daten auch nicht immer das, was wir auch in Europa zum Beispiel

01:19:42.748 --> 01:19:44.448
sehen oder in bestimmten Ländern Europas.

01:19:44.468 --> 01:19:47.828
Europa ist auch kein uniformes Markt.

01:19:49.308 --> 01:19:52.788
Das sind spannende Geschichten. Ich habe vor kurzem eine japanische Umfrage

01:19:52.788 --> 01:19:57.488
gefunden und da sind die Nutzungsverhalten zu einigen komplett anders,

01:19:58.168 --> 01:20:01.668
mit einer anderen Tradition, die noch aus den 90er Jahren stammt,

01:20:01.748 --> 01:20:05.168
wo es ein lokalisierter nationale Screenreader gegeben hat.

01:20:05.668 --> 01:20:11.368
Aber ja, immer gerne, wenn ich irgendwie von Hilfe sein kann.

01:20:11.688 --> 01:20:17.948
Ich kann mich ja zur Verfügung stellen. Du bist auf jeden Fall näher dran als,

01:20:18.628 --> 01:20:20.988
wir drei anderen, sage ich mal.

01:20:21.188 --> 01:20:25.228
Also wir sind am Ende dann doch einfach Theoretiker.

01:20:26.088 --> 01:20:31.408
Was ich empfehlen kann, wenn jemand uns zuhört, dass ich mit Python und Desktop-Apps ausgehebe.

01:20:31.408 --> 01:20:36.688
NVDA ist Open Source und das heißt nicht nur, es ist kostenlos und jeder darf

01:20:36.688 --> 01:20:41.888
es benutzen, sondern auch es ist ein offenes GitHub Repository und man kann

01:20:41.888 --> 01:20:43.688
auch gerne Codes dazugeben.

01:20:44.308 --> 01:20:50.208
Und wir haben es schon gesehen, es sind Pull-Requests von der Community gut angekommen.

01:20:50.508 --> 01:20:59.708
Sie brauchen vielleicht ein bisschen verfeinern, weil NVDA eine bestimmte Regel

01:20:59.708 --> 01:21:01.908
zum Code-Styling und so weiter hat.

01:21:02.088 --> 01:21:06.768
Aber im Endeffekt, jeder von uns, der sich mit Python irgendwie auskennt.

01:21:08.008 --> 01:21:13.548
Kann dazu beitragen, dass sich diese Kompatibilitätsgeschichten wirklich ändern.

01:21:13.688 --> 01:21:16.108
Und vielleicht in einem Jahr, wenn wir uns hier treffen, sagen wir,

01:21:16.208 --> 01:21:18.368
ARIA Control ist schon unterstützt.

01:21:19.340 --> 01:21:24.100
Oder sonst was anderes, was noch fehlt. Ich habe den Link auf jeden Fall hier

01:21:24.100 --> 01:21:25.140
in meine Liste aufgenommen.

01:21:27.160 --> 01:21:30.880
Aber wundert mich auch, den gibt es ja auch schon lange, also dass der irgendwie

01:21:30.880 --> 01:21:33.880
noch nicht alle JAWS-User auf

01:21:33.880 --> 01:21:38.300
sich gezogen hat, weil JAWS ist ja auch echt nicht günstig, glaube ich.

01:21:38.440 --> 01:21:43.040
Ich glaube, die Krankenkassen, die bezahlen denen alle drei Jahre irgendwie

01:21:43.040 --> 01:21:47.160
die neueste Version, also eine Lizenz, irgendwie so. Das ist von Land zu Land unterschiedlich.

01:21:48.620 --> 01:21:54.300
Genau, also das heißt also, viele User müssen sich dann auch erstmal mit ein

01:21:54.300 --> 01:21:58.800
bisschen älteren Versionen durchschlagen, bis die Krankenversicherung dann mal

01:21:58.800 --> 01:22:01.860
wieder bereit ist, die aktuelle Version, ein Update zu bezahlen.

01:22:02.900 --> 01:22:06.400
Und deswegen hatte ich eigentlich immer gedacht, dass so ein kostenloser Screenreader

01:22:06.400 --> 01:22:10.480
ganz schnell viel populärer würde, aber das scheint nicht der Fall zu sein.

01:22:12.860 --> 01:22:18.500
JOS ist vor allem auch in Organisationen mit sehr strengen Sicherheitsvorkehrungen

01:22:18.500 --> 01:22:25.220
angewendet, weil hinter JOS steht eine kommerzielle Firma mit erweiterten Rechtsabteilungen.

01:22:26.060 --> 01:22:32.300
Und die können dafür garantieren, dass keine sichere und private Daten aus Branchen wie,

01:22:33.040 --> 01:22:37.800
Regierung, also Stadt, E-Government, Banking und so weiter rausfließt,

01:22:37.860 --> 01:22:45.420
weil die Firma verantwortet dafür mit ihrer Reputation und mit Geld und mit Haftung und so weiter.

01:22:46.180 --> 01:22:51.200
Bei NVDA, das ist Open Source, die bemühen sich schon das sicherzustellen,

01:22:51.360 --> 01:22:56.860
aber es ist noch nicht so weit mit den Sicherheitsvorkehrungen wie JAWS zum Beispiel.

01:22:57.020 --> 01:23:03.720
Man kann immer noch freilich die Python-Konsole aufmachen und jedes mögliches Code ausführen.

01:23:06.540 --> 01:23:13.060
Aber es wird dann gearbeitet. Ich finde es spannend, wie sich das in die nähere Zukunft entwickelt.

01:23:16.423 --> 01:23:21.403
Ja, werden wir auf jeden Fall beobachten. Der Fernseher halber müssten wir einmal

01:23:21.403 --> 01:23:22.603
noch den Peter drücken lassen.

01:23:22.963 --> 01:23:26.223
Ich frage aber in die Runde, ob wir noch können oder ob wir platt sind.

01:23:29.103 --> 01:23:33.603
Marco kann noch? Einer geht noch. Dann machen wir noch einen.

01:23:35.203 --> 01:23:37.183
Dann drücke ich. Jawohl.

01:23:39.523 --> 01:23:44.723
Orientation. Das ist auch spannend, weil dafür gibt es auch einen VDA-I-Show,

01:23:44.863 --> 01:23:46.283
dass es noch nicht unterstützt ist.

01:23:47.663 --> 01:23:51.463
Und da kann ich mich erinnern, da hat jemand von Slack sogar sich gemeldet,

01:23:51.543 --> 01:23:55.483
hey, wir brauchen das. Könnt ihr bitte das einführen?

01:23:58.183 --> 01:24:03.723
Es geht einfach darum, bei gewissen Controls wie zum Beispiel Sliders oder Tab-Punnels,

01:24:04.323 --> 01:24:09.203
in welche Ausrichtung die navigierbar sind. Also ist das vertikal oder horizontal?

01:24:10.083 --> 01:24:17.503
Im Essenz, wenn ich das richtig verstehe, einfach die Ansage,

01:24:18.223 --> 01:24:23.063
die einen Tastatur-Navigationsmuster komplementiert.

01:24:23.403 --> 01:24:26.823
Und es geht darum, dass gewisse Controls, also eben Stiders,

01:24:26.943 --> 01:24:29.783
Tab-Panels, die vertikal oder horizontal navigiert werden.

01:24:29.883 --> 01:24:34.023
Das heißt entweder mit Pfeiltasten links, rechts oder mit Pfeiltasten rauf und runter.

01:24:34.383 --> 01:24:38.483
Und es geht einfach darum, die BenutzerInnen darüber zu benachrichtigen und

01:24:38.483 --> 01:24:43.623
aufklären, hey, hier navigiert man mit diesen Pfeiltasten und dort mit welchen anderen.

01:24:44.043 --> 01:24:46.863
Aber vielleicht steckt sich mehr dahinten.

01:24:49.867 --> 01:24:59.327
Ja, also ich weiß, dass so im Zuge der Schreibrichtung arbeiten,

01:24:59.367 --> 01:25:03.947
die Browser diese ganzen Range Slider nachgerüstet haben,

01:25:04.087 --> 01:25:08.527
dass die eben auch so Top-to-Bottom-Schriften unterstützen und dann auch vertikal

01:25:08.527 --> 01:25:09.867
sind und nicht horizontal.

01:25:10.567 --> 01:25:16.187
Und ich überlege gerade, ob die sogar vielleicht in HTML dafür ein Attribut hatten. Naja, genau.

01:25:16.847 --> 01:25:20.327
Die haben nämlich Orient, aber das ist nicht Standard.

01:25:20.727 --> 01:25:27.087
Das würde dann das Gleiche auch tatsächlich manifestieren, also nicht nur kommunizieren,

01:25:27.767 --> 01:25:34.227
dass irgendwas vertikal oder horizontal sei, was es dann vielleicht visuell

01:25:34.227 --> 01:25:38.807
nicht ist, sondern es würde das dann auch tatsächlich visuell manifestieren.

01:25:40.987 --> 01:25:46.147
Das sind ja physische Attribute. Und eigentlich will man noch jetzt hin eher

01:25:46.147 --> 01:25:49.307
logische Attribute, so Block und Inline.

01:25:50.807 --> 01:25:56.067
Müsste man das dann nicht auch eher hier Block und Inline nennen?

01:25:58.287 --> 01:26:04.587
Vielleicht schon, aber vielleicht überfordert man damit die ARIA Working Group,

01:26:04.967 --> 01:26:09.807
also indem man dann, das geht ja schon so ein bisschen in Richtung,

01:26:09.967 --> 01:26:17.667
also es war korrekt, aber vielleicht dann auch schon sehr spitzfindig, in Anführungszeichen.

01:26:19.927 --> 01:26:23.267
Ich überlege gerade, wie das funktionieren würde.

01:26:24.367 --> 01:26:30.047
Also der Punkt von den Logical Properties ist ja, dass sie automatisch wechseln.

01:26:31.767 --> 01:26:37.627
Also würde man eine Komponente bauen, die eine Scrollbar ist und je nach.

01:26:41.719 --> 01:26:45.839
Je nach was entscheidet, ob sie horizontal oder vertikal ist.

01:26:47.859 --> 01:26:52.139
Also unter welchen Bedingungen würde sie wechseln, frage ich mich.

01:26:52.259 --> 01:26:55.559
Es gibt ja auch so Use Cases, wo man das eben bewusst nicht macht.

01:26:55.719 --> 01:27:00.019
Also wo man keine Logical Properties zulässt, weil das irgendwie auch keinen

01:27:00.019 --> 01:27:06.239
Sinn machen würde, das dann zu verändern mit der Schreibrichtung.

01:27:06.399 --> 01:27:11.659
Ich glaube, also zum Beispiel Scrollbounce gibt es ja jetzt zum Beispiel nicht

01:27:11.659 --> 01:27:18.419
in den Logical Properties, also es gibt es ja weiterhin nur in den entsprechenden XY-Achsen.

01:27:19.739 --> 01:27:25.319
Ich glaube, dem liegt auch so eine Argumentation zugrunde, dass es da keinen Sinn machen würde.

01:27:28.119 --> 01:27:28.679
Ja.

01:27:30.674 --> 01:27:38.894
Es ist halt wieder so eine kleine ARIA-Property, die so ein Mini-Signal dem Nutzer gibt.

01:27:40.354 --> 01:27:46.174
Aber was das dann bedeutet, hängt völlig davon ab, was die Entwickler da machen.

01:27:46.674 --> 01:27:53.454
Also da folgt ja nichts draus. Genau, aber das ist ja bei ARIA immer nur ein

01:27:53.454 --> 01:27:56.654
Versprechen für irgendwas.

01:27:57.354 --> 01:28:00.734
Ja, genau. Ja, und es ist natürlich immer gut, HTML ist auch ein Versprechen.

01:28:01.274 --> 01:28:05.354
Ja, aber da ist es ja dann meistens, dass die Browser dann auch das Versprechen

01:28:05.354 --> 01:28:06.974
gleich auch noch mit implementieren.

01:28:07.514 --> 01:28:10.154
Ja, aber wenn du nur einen Button hast, der macht ja auch nix erstmal.

01:28:10.454 --> 01:28:11.874
Also du musst ja dann trotzdem auch was tun.

01:28:12.234 --> 01:28:15.994
Es ist ein schwächeres Signal, würde ich auf jeden Fall sagen.

01:28:16.574 --> 01:28:19.634
Aber deswegen ist da so wahnsinnig, also deswegen fällt es mir auch schwer.

01:28:22.174 --> 01:28:25.874
Das ist so diese schöne Offenheit von ARIA auch manchmal. Zu sagen,

01:28:26.094 --> 01:28:30.554
du kannst jetzt hier ein bisschen was sagen, aber du musst dann trotz,

01:28:30.654 --> 01:28:31.694
das entschuldigt dich nicht,

01:28:33.534 --> 01:28:37.654
irgendwo noch mehr Dokumentation zu haben. Wie funktioniert denn die Komponente?

01:28:38.474 --> 01:28:40.274
Wie interagiert man mit der?

01:28:41.394 --> 01:28:46.134
Also was ich damit mal gebaut habe, ist so ein Bildvergleich,

01:28:46.634 --> 01:28:50.054
wo man quasi diesen Trenner,

01:28:50.534 --> 01:28:57.014
wie viel man von den zwei Bildern sieht, dann per Range-Input verschieben kann

01:28:57.014 --> 01:29:01.034
und Vielleicht würde man da auch wollen,

01:29:01.154 --> 01:29:06.694
dass man das oben-unten splittet und dann könnte man den vertikal setzen und

01:29:06.694 --> 01:29:10.894
von der Bedienung her würde ich jetzt mal, kann ich mir vorstellen, ich weiß nicht,

01:29:11.634 --> 01:29:16.074
die benutzt man wahrscheinlich mit Cursor-Tasten links-rechts und dass man das

01:29:16.074 --> 01:29:20.154
dann anders macht, eben mit oben-unten oder sowas.

01:29:22.528 --> 01:29:25.988
Ja, das war auch die Überlegung bei LWDA.

01:29:27.288 --> 01:29:32.628
Sollte das irgendwann implementiert werden? Sollte die Orientierung jedes Mal

01:29:32.628 --> 01:29:37.528
angesagt werden oder nur, wenn das vom Standard irgendwie abweicht?

01:29:37.748 --> 01:29:43.028
Also wir erwarten normalerweise, dass Sliders, das Schieberegler,

01:29:43.348 --> 01:29:46.428
sich mit Cursor-Tasten links und rechts bedienen lassen.

01:29:47.108 --> 01:29:52.568
Sollte es trotzdem angesagt werden, Slider wird horizontal oder sollte das nur

01:29:52.568 --> 01:29:56.308
dann angesagt werden, wenn das anders als erwartet ist, also nur wenn vertikal

01:29:56.308 --> 01:29:58.068
und mit den Cursor-Tasten rauf und runter.

01:29:59.328 --> 01:30:02.868
Ich glaube, das war die Position, also die Stellungnahme von NV Access,

01:30:03.668 --> 01:30:06.688
eben nur wenn das anders als erwartet sich verhält.

01:30:08.728 --> 01:30:11.608
Ja, finde ich auch sinnvoll, weil bei Checkboxen würde man das ja,

01:30:11.948 --> 01:30:17.728
wie bei Radios würde man das ja auch nicht anders handhaben,

01:30:17.788 --> 01:30:20.848
nur weil die vertikal sortiert sind und nicht horizontal.

01:30:21.288 --> 01:30:24.208
Da würde das ja auch, glaube ich, immer noch links-rechts sein.

01:30:24.468 --> 01:30:27.728
Also sich durch diese Fokusgruppe bewegen.

01:30:30.018 --> 01:30:33.358
Normalerweise funktioniert beides, habe ich das Gefühl, oder zumindest von was

01:30:33.358 --> 01:30:35.558
ich getestet habe. Je nachdem, wie das gecoded ist.

01:30:37.818 --> 01:30:41.358
Bei Radios. Da wird es dann auch lustig.

01:30:42.578 --> 01:30:51.998
Das Attribut, wenn das nicht horizontal oder vertical ist, dann gilt es als

01:30:51.998 --> 01:30:56.038
ambiguous und irgendwie unklar.

01:30:56.578 --> 01:30:59.958
Und dann kann man weitergucken und sagen, aber wie ist denn,

01:31:00.198 --> 01:31:03.798
also wenn man dann eben einen Default haben will, sollte man es eben nicht leerlassen,

01:31:03.998 --> 01:31:05.578
sondern dann sollte man es wegmachen.

01:31:05.798 --> 01:31:09.218
Und dann muss man natürlich wissen, was ist denn der Default für meine Rolle?

01:31:09.578 --> 01:31:14.318
Also ich habe gerade mal nachgeschaut, bei Scrollbar zum Beispiel ist laut Spec

01:31:14.318 --> 01:31:18.338
der Default von Orientation ist Vertical.

01:31:19.198 --> 01:31:24.718
Was man ja auch nicht, also wo man wahrscheinlich auch streiten kann.

01:31:25.058 --> 01:31:32.298
Ja, aber zumindest ist der geläufigere Fall wahrscheinlich, weil unsere Seiten

01:31:32.298 --> 01:31:37.138
so strukturiert sind, dass sie meistens oder öfters in der Vertikalen gescrollt

01:31:37.138 --> 01:31:38.518
werden als in der Horizontalen.

01:31:39.518 --> 01:31:42.318
Aber ich finde, Marco, deine Frage finde ich total super. Ich muss die mal in

01:31:42.318 --> 01:31:46.078
die ARIA-Gruppe schmeißen, wenn ich eigentlich irgendwas wie Logical Properties

01:31:46.078 --> 01:31:47.878
brauche für solche Dinge.

01:31:49.218 --> 01:31:53.678
Es gibt klügere Leute da, als mich. Nicht, dass da eine Kernschmelze direkt passiert.

01:31:57.018 --> 01:32:00.998
Ja, wie sagte Pavel vorhin, dann treffen wir uns in einem Jahr wieder und dann

01:32:00.998 --> 01:32:02.478
sehen wir, was draus geworden ist.

01:32:04.118 --> 01:32:05.718
Ja, sehr gerne.

01:32:07.142 --> 01:32:10.862
Genau, dann haben die den Peter rausgeworfen. Er ist ja nicht mehr im Wald.

01:32:13.262 --> 01:32:14.942
Ja, er ist doch ein Querulant.

01:32:20.042 --> 01:32:24.502
Ja, cool. Wir haben auf jeden Fall wieder was abgerissen. Ich fand das wieder

01:32:24.502 --> 01:32:26.682
super interessant. Sehr lehrreich.

01:32:27.742 --> 01:32:32.122
Sehr cool. Hat Spaß gemacht. Ja, auf jeden Fall. Sind wir dann jetzt schon einmal durch?

01:32:32.382 --> 01:32:35.002
Nee, es gibt noch ein paar, die wir nicht gestriffen haben, oder?

01:32:35.002 --> 01:32:38.162
Ich weiß nicht, wie viele es insgesamt sind. Ein oder zwei.

01:32:39.122 --> 01:32:42.402
Ja, es werden bestimmt auch welche übrig sein. Es sind auf jeden Fall nicht

01:32:42.402 --> 01:32:48.342
ganz so viele, natürlich, wie wenn wir irgendwie aus dem großen HTML-Fundus

01:32:48.342 --> 01:32:52.002
uns bedienen, weil das ja dann Elemente und Attribute sind.

01:32:53.402 --> 01:32:57.302
Genau, aber ein bisschen Luft haben wir noch. Es gibt ja für deinen Glücksrat für mir einen.

01:32:59.833 --> 01:33:04.533
Es gibt ja so eine Art JSON-Datei mit allen Sachen. Die nehme ich auch.

01:33:05.053 --> 01:33:07.233
Diese MDN-JSON-Datei meinst du, ne?

01:33:08.133 --> 01:33:13.573
Nee, ich meine jetzt in der Spezifikation selber gibt es so eine kleine JSON-Datei

01:33:13.573 --> 01:33:17.353
mit allen Rollen und Attributen.

01:33:17.713 --> 01:33:21.373
Ah, ah. Also Roll-Values und allen Attributen. Ja, das ist ganz gut.

01:33:22.273 --> 01:33:25.213
Weil ich nämlich... Die könnte man ja vielleicht auch reinziehen.

01:33:25.373 --> 01:33:28.373
Genau, weil ich weiß nicht, ob es euch aufgefallen ist, aber Rollen haben wir

01:33:28.373 --> 01:33:29.713
ja sehr wenig gehabt bisher.

01:33:30.273 --> 01:33:34.913
Genau, das ging mir durch den Kopf eben, ja. Genau, und das ist ein guter Hinweis.

01:33:35.333 --> 01:33:38.793
Ich versuche das mal bis zu unserem nächsten Mal dann zu verbauen,

01:33:39.053 --> 01:33:45.113
weil die Roles würden alle sozusagen in einem riesen, also das Attribut Roll

01:33:45.113 --> 01:33:46.593
könnte, das könnte kommen,

01:33:47.173 --> 01:33:51.133
und dann werden wir die ganze Sendung damit beschäftigt. Ja.

01:33:52.593 --> 01:33:56.313
Nee, das finde ich gut. Da werde ich mal nachgucken.

01:33:57.013 --> 01:34:02.073
Ich habe hier mal gezählt bei uns. Wir haben 51 ARIA-Attribute,

01:34:02.253 --> 01:34:06.173
also die mit ARIA-Bindestrich-Begin, durchgenommen.

01:34:06.373 --> 01:34:10.053
Und ich glaube, das waren in dem Zeitpunkt dann auch alle Dokumentierten,

01:34:10.153 --> 01:34:11.713
die eben nicht deprecated waren oder sowas.

01:34:13.353 --> 01:34:17.813
Bei Rollen ist es ja ein bisschen komplexer, weil da ja auch die abstrakten

01:34:17.813 --> 01:34:18.853
Rollen noch beschrieben werden.

01:34:19.933 --> 01:34:24.893
Und das ist ja eigentlich eher so ein Dokumentierungsdetail oder Hinweis.

01:34:25.473 --> 01:34:29.673
Die sollte man ja gar nicht verwenden. Also zumindest, das ist ja eher dann

01:34:29.673 --> 01:34:35.513
so für die andere Seite, also die Implementierer der assistiven Technologien,

01:34:35.713 --> 01:34:39.073
wie das zu verwenden ist und weniger für uns, oder?

01:34:40.613 --> 01:34:44.913
Oder doch, ich weiß es gar nicht. Aber trotzdem glaube ich, finde ich,

01:34:45.133 --> 01:34:49.633
oder es klingt zumindest so, als wäre das auch mal interessant,

01:34:49.813 --> 01:34:50.813
einen Blick reinzuwerfen.

01:34:53.351 --> 01:34:57.611
Also es gab ja mal einen, als ich so zu der ARIA-Gruppe stieß,

01:34:58.251 --> 01:35:06.191
für ARIA 1.2, gab es ursprünglich die Idee, dass man für jedes HTML-Element eine Rolle braucht.

01:35:08.331 --> 01:35:12.491
Oder dass man da so eine Parität herstellt. Bei den Attributen,

01:35:12.571 --> 01:35:15.931
HTML-Attributen, haben wir es dann nicht mehr uns getraut, weiterzumachen.

01:35:16.171 --> 01:35:17.471
Oder keiner hatte mehr Lust.

01:35:18.091 --> 01:35:20.731
Und schon bei den Elementen war dann irgendwann der Pushback da.

01:35:20.971 --> 01:35:24.611
Und dann wurde Generic eingeführt. Und dann brauchten wir ja eh,

01:35:24.691 --> 01:35:28.471
das war eigentlich der wesentliche Punkt, glaube ich, für die wesentliche Motivation

01:35:28.471 --> 01:35:30.271
damals, was für die Generics zu haben.

01:35:31.291 --> 01:35:35.031
Und dementsprechend sind dann ganz viele Elemente einfach auf Generic gemappt

01:35:35.031 --> 01:35:36.851
worden und dann hat man die raus.

01:35:36.931 --> 01:35:42.951
Aber es gibt dann doch ein paar Ausnahmen und die sind manchmal ganz amüsant zu betrachten.

01:35:42.951 --> 01:35:53.511
Ja, es gibt die Situation, dass verschiedene HTML-Elemente auf die gleiche Rolle gemappt werden.

01:35:53.971 --> 01:35:57.071
Ich glaube, UL und OL zum Beispiel, also diese List-Dinger.

01:35:57.551 --> 01:36:02.591
Und dann hat man aber auch das Input zum Beispiel, je nach Type,

01:36:02.631 --> 01:36:04.511
glaube ich, auf verschiedene Rollen.

01:36:04.711 --> 01:36:08.111
Also gleich ist das nicht.

01:36:08.331 --> 01:36:10.811
Also da gibt es beide Abweichungen in beide Richtungen.

01:36:13.271 --> 01:36:19.451
Ja, dann gucke ich mal, dass ich dieses JSON finde und rein verbaue.

01:36:21.291 --> 01:36:26.811
Genau, das ist eine gute Idee. Dann kommen auch noch die Rollen, oha. Ja, finde ich gut.

01:36:28.031 --> 01:36:31.771
Genau, 51 ARIA-Attribute ist auf jeden Fall auch gut. Ich glaube,

01:36:31.851 --> 01:36:35.591
das heißt, dass wir auch noch ein bisschen Futter auch an der Front haben.

01:36:37.931 --> 01:36:42.231
Ja, super. Vielen, vielen Dank euch. Genau, ich habe hier die ganzen Links mir

01:36:42.231 --> 01:36:46.111
alle hier wegnotiert, um die dann in die Shownotes zu verbauen.

01:36:47.891 --> 01:36:51.771
Auch die wir in der Vorbesprechung hatten. Genau, wir hatten in der Vorbesprechung,

01:36:51.871 --> 01:36:57.651
das wollten wir ja noch hier mit rein droppen. Hattest du, Marco,

01:36:58.071 --> 01:37:00.671
Bad UI irgendwie? Ich weiß nicht, kamen wir irgendwie drauf?

01:37:00.951 --> 01:37:05.671
Das sind so Interface-Elemente, die aus der Hölle sozusagen.

01:37:05.671 --> 01:37:12.591
Sagen, also die es einem sehr schwer machen, Eingaben, also Formulareingaben zu machen.

01:37:13.371 --> 01:37:18.971
Und das andere war userinterface.com Das ist so ähnlich, genau.

01:37:19.591 --> 01:37:24.311
User in your face. Nicht interface, sondern in your face.com Genau,

01:37:24.411 --> 01:37:29.531
das ist ein Dark Pattern Userflow, den man durchspielen kann.

01:37:30.591 --> 01:37:34.331
Der einen wahnsinnig macht. Genau.

01:37:38.228 --> 01:37:42.668
Vielen Dank euch da. Die Daniela, die letztes Mal dabei war,

01:37:42.748 --> 01:37:44.428
die hat es heute nicht gepackt.

01:37:45.488 --> 01:37:50.288
Aber vielleicht sind wir nächstes Mal dann wieder zu fünft.

01:37:51.548 --> 01:37:53.448
Hat auf jeden Fall wieder viel Spaß gemacht.

01:37:54.808 --> 01:37:58.768
Und genau, wir können ja im Anschluss noch mal einfach der,

01:37:59.548 --> 01:38:04.828
Paktikabilität halber einen Termin für das nächste Mal uns ausknobeln der kann

01:38:04.828 --> 01:38:09.508
ja wieder etwas weiter in der Zukunft fliegen und dann kommen wir wieder zusammen

01:38:09.508 --> 01:38:12.068
und setzen das hier fort, mir macht das immer Spaß.

01:38:13.748 --> 01:38:18.588
Und dann hoffentlich wieder mit Daniela in voller Runde, genau vielen Dank für

01:38:18.588 --> 01:38:23.348
die Einladung, also ich freue mich auch immer, ja gerne, vielen lieben Dank Vielen Dank.

01:38:23.648 --> 01:38:28.708
Dann vielen Dank auch den Hörerinnen und Hörern fürs Zuhören, wenn ihr Fragen habt.

01:38:29.788 --> 01:38:35.048
Alle Teilnehmenden sind in Show Notes verlinkt und ihr könnt uns aber sowohl

01:38:35.048 --> 01:38:40.288
uns vom Podcast anschreiben als auch eben unsere Gäste, wenn ihr noch Fragen

01:38:40.288 --> 01:38:43.908
oder Rückfragen habt oder Ideen, immer her damit. Genau.

01:38:44.908 --> 01:38:51.828
Und ja, dann sehen wir uns bald wieder und hören wir uns nächste Woche wieder

01:38:51.828 --> 01:38:53.728
bei der nächsten Sendung. Bis dahin.

01:38:54.148 --> 01:38:56.548
Macht's gut. Tschüss. Ciao, ciao.

