diff --git a/.gitignore b/.gitignore
index a8801eb..a8d908a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
build/
*.pdf
*.html
+!slides/*/assets/demos/**/*.html
.dev-index/
# Dependencies
diff --git a/slides/223015c/01-geschichte-grundlagen-html.md b/slides/223015c/01-geschichte-grundlagen-html.md
index 7a08840..8274822 100644
--- a/slides/223015c/01-geschichte-grundlagen-html.md
+++ b/slides/223015c/01-geschichte-grundlagen-html.md
@@ -877,7 +877,7 @@ Kostenlos freigegeben → darum existiert es
-
+
diff --git a/slides/223015c/assets/demos/_frame-template.html b/slides/223015c/assets/demos/_frame-template.html
new file mode 100644
index 0000000..0d61709
--- /dev/null
+++ b/slides/223015c/assets/demos/_frame-template.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: __TITLE__
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/a11y-error-frame.html b/slides/223015c/assets/demos/a11y-error-frame.html
new file mode 100644
index 0000000..fcee2c2
--- /dev/null
+++ b/slides/223015c/assets/demos/a11y-error-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: a11y-error
+
+
+
+
+
+
+
+ file:///beispiel/email-form.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/a11y-error.html b/slides/223015c/assets/demos/a11y-error.html
new file mode 100644
index 0000000..d6dad6d
--- /dev/null
+++ b/slides/223015c/assets/demos/a11y-error.html
@@ -0,0 +1,31 @@
+
+
+
+
+ Fehlermeldung
+
+
+
+
+
+
+ Bitte geben Sie eine gültige E-Mail-Adresse ein.
+
+
+
diff --git a/slides/223015c/assets/demos/a11y-error.png b/slides/223015c/assets/demos/a11y-error.png
new file mode 100644
index 0000000..d25ee48
Binary files /dev/null and b/slides/223015c/assets/demos/a11y-error.png differ
diff --git a/slides/223015c/assets/demos/a11y-focus-frame.html b/slides/223015c/assets/demos/a11y-focus-frame.html
new file mode 100644
index 0000000..c51f019
--- /dev/null
+++ b/slides/223015c/assets/demos/a11y-focus-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: a11y-focus
+
+
+
+
+
+
+
+ file:///beispiel/focus.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/a11y-focus.html b/slides/223015c/assets/demos/a11y-focus.html
new file mode 100644
index 0000000..59b5cb5
--- /dev/null
+++ b/slides/223015c/assets/demos/a11y-focus.html
@@ -0,0 +1,24 @@
+
+
+
+
+ Fokus-Indikator
+
+
+
+ Tab-Taste drücken:
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/a11y-focus.png b/slides/223015c/assets/demos/a11y-focus.png
new file mode 100644
index 0000000..e95465c
Binary files /dev/null and b/slides/223015c/assets/demos/a11y-focus.png differ
diff --git a/slides/223015c/assets/demos/a11y-semantic-frame.html b/slides/223015c/assets/demos/a11y-semantic-frame.html
new file mode 100644
index 0000000..0791f7a
--- /dev/null
+++ b/slides/223015c/assets/demos/a11y-semantic-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: a11y-semantic
+
+
+
+
+
+
+
+ file:///beispiel/klick.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/a11y-semantic.html b/slides/223015c/assets/demos/a11y-semantic.html
new file mode 100644
index 0000000..5093866
--- /dev/null
+++ b/slides/223015c/assets/demos/a11y-semantic.html
@@ -0,0 +1,31 @@
+
+
+
+
+ div vs button
+
+
+
+ Schlecht (div)
+ Klick mich
+ ❌ Tab überspringt, kein Enter, kein Screenreader
+
+ Gut (button)
+
+ ✅ Tastatur + Screenreader eingebaut
+
+
diff --git a/slides/223015c/assets/demos/a11y-semantic.png b/slides/223015c/assets/demos/a11y-semantic.png
new file mode 100644
index 0000000..4e61bbb
Binary files /dev/null and b/slides/223015c/assets/demos/a11y-semantic.png differ
diff --git a/slides/223015c/assets/demos/button-frame.html b/slides/223015c/assets/demos/button-frame.html
new file mode 100644
index 0000000..becb6a0
--- /dev/null
+++ b/slides/223015c/assets/demos/button-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: button
+
+
+
+
+
+
+
+ file:///beispiel/button.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/button.html b/slides/223015c/assets/demos/button.html
new file mode 100644
index 0000000..30d026a
--- /dev/null
+++ b/slides/223015c/assets/demos/button.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Button
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/button.png b/slides/223015c/assets/demos/button.png
new file mode 100644
index 0000000..6f31adc
Binary files /dev/null and b/slides/223015c/assets/demos/button.png differ
diff --git a/slides/223015c/assets/demos/details-closed-frame.html b/slides/223015c/assets/demos/details-closed-frame.html
new file mode 100644
index 0000000..0498f65
--- /dev/null
+++ b/slides/223015c/assets/demos/details-closed-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: details-closed
+
+
+
+
+
+
+
+ file:///beispiel/details.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/details-closed.html b/slides/223015c/assets/demos/details-closed.html
new file mode 100644
index 0000000..9595261
--- /dev/null
+++ b/slides/223015c/assets/demos/details-closed.html
@@ -0,0 +1,13 @@
+
+
+
+
+ Details/Summary
+
+
+
+ Klick mich!
+ Dieser Text war versteckt.
+
+
+
diff --git a/slides/223015c/assets/demos/details-closed.png b/slides/223015c/assets/demos/details-closed.png
new file mode 100644
index 0000000..6e36c8f
Binary files /dev/null and b/slides/223015c/assets/demos/details-closed.png differ
diff --git a/slides/223015c/assets/demos/details-open-frame.html b/slides/223015c/assets/demos/details-open-frame.html
new file mode 100644
index 0000000..e36bbcd
--- /dev/null
+++ b/slides/223015c/assets/demos/details-open-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: details-open
+
+
+
+
+
+
+
+ file:///beispiel/details.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/details-open.html b/slides/223015c/assets/demos/details-open.html
new file mode 100644
index 0000000..3b9c3c4
--- /dev/null
+++ b/slides/223015c/assets/demos/details-open.html
@@ -0,0 +1,13 @@
+
+
+
+
+ Details/Summary (offen)
+
+
+
+ Klick mich!
+ Dieser Text war versteckt.
+
+
+
diff --git a/slides/223015c/assets/demos/details-open.png b/slides/223015c/assets/demos/details-open.png
new file mode 100644
index 0000000..729f961
Binary files /dev/null and b/slides/223015c/assets/demos/details-open.png differ
diff --git a/slides/223015c/assets/demos/dialog-frame.html b/slides/223015c/assets/demos/dialog-frame.html
new file mode 100644
index 0000000..1aaca49
--- /dev/null
+++ b/slides/223015c/assets/demos/dialog-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: dialog
+
+
+
+
+
+
+
+ file:///beispiel/dialog.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/dialog.html b/slides/223015c/assets/demos/dialog.html
new file mode 100644
index 0000000..e203467
--- /dev/null
+++ b/slides/223015c/assets/demos/dialog.html
@@ -0,0 +1,15 @@
+
+
+
+
+ Dialog
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/dialog.png b/slides/223015c/assets/demos/dialog.png
new file mode 100644
index 0000000..17cd97c
Binary files /dev/null and b/slides/223015c/assets/demos/dialog.png differ
diff --git a/slides/223015c/assets/demos/grundgeruest-frame.html b/slides/223015c/assets/demos/grundgeruest-frame.html
new file mode 100644
index 0000000..5c9b4ac
--- /dev/null
+++ b/slides/223015c/assets/demos/grundgeruest-frame.html
@@ -0,0 +1,33 @@
+
+
+
+
+Preview: Grundgerüst
+
+
+
+
+
+
+
+ file:///portfolio/index.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/grundgeruest.html b/slides/223015c/assets/demos/grundgeruest.html
new file mode 100644
index 0000000..9213b2b
--- /dev/null
+++ b/slides/223015c/assets/demos/grundgeruest.html
@@ -0,0 +1,12 @@
+
+
+
+ Portfolio von ...
+
+
+
+
+ Hallo Welt!
+ Das ist mein erster Absatz.
+
+
diff --git a/slides/223015c/assets/demos/grundgeruest.png b/slides/223015c/assets/demos/grundgeruest.png
new file mode 100644
index 0000000..0bfc310
Binary files /dev/null and b/slides/223015c/assets/demos/grundgeruest.png differ
diff --git a/slides/223015c/assets/demos/input-frame.html b/slides/223015c/assets/demos/input-frame.html
new file mode 100644
index 0000000..4b3b9b5
--- /dev/null
+++ b/slides/223015c/assets/demos/input-frame.html
@@ -0,0 +1,34 @@
+
+
+
+
+Preview: input
+
+
+
+
+
+
+
+ file:///beispiel/input.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/input.html b/slides/223015c/assets/demos/input.html
new file mode 100644
index 0000000..df07605
--- /dev/null
+++ b/slides/223015c/assets/demos/input.html
@@ -0,0 +1,13 @@
+
+
+
+
+ Input/Eingabefeld
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/input.png b/slides/223015c/assets/demos/input.png
new file mode 100644
index 0000000..3e357e7
Binary files /dev/null and b/slides/223015c/assets/demos/input.png differ
diff --git a/slides/223015c/assets/demos/tag-attribut-frame.html b/slides/223015c/assets/demos/tag-attribut-frame.html
new file mode 100644
index 0000000..5cefc71
--- /dev/null
+++ b/slides/223015c/assets/demos/tag-attribut-frame.html
@@ -0,0 +1,33 @@
+
+
+
+
+Preview: Tag mit Attribut
+
+
+
+
+
+
+
+ file:///beispiel/absatz.html
+
+
+
+
+
+
diff --git a/slides/223015c/assets/demos/tag-attribut.html b/slides/223015c/assets/demos/tag-attribut.html
new file mode 100644
index 0000000..312d459
--- /dev/null
+++ b/slides/223015c/assets/demos/tag-attribut.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Tag mit Attribut
+
+
+ Das ist ein Absatz.
+
+
diff --git a/slides/223015c/assets/demos/tag-attribut.png b/slides/223015c/assets/demos/tag-attribut.png
new file mode 100644
index 0000000..d83208b
Binary files /dev/null and b/slides/223015c/assets/demos/tag-attribut.png differ