Übungsaufgaben zu Webtechnologien

https://bildung.social/@oerinformatik/

https://oer-informatik.de/webtechnologien-uebungsaufgaben

HTML, CSS, dynamische Website, Web-App, native App, Progressive Web App, Frontend, Backend, Zeichenkodierung, Übungsaufgaben, Prüfungsvorbereitung

tl/dr; (Bearbeitungszeit insgesamt 70 min, mehrere Aufgaben): Vier Übungsaufgaben zu Webtechnologien: eine falsche Vorstellung von „dynamisch“ richtigstellen, Aufgaben von HTML, CSS und JavaScript zuordnen, Aussagen zu Webanwendung, Desktop-Programm und App prüfen, die Wirkung von HTML-Zeilen erläutern, ein fehlendes Stylesheet und falsch dargestellte Umlaute als Fehler analysieren, Responsive Design erläutern, native Apps, Web-App und Progressive Web App in einer Vergleichstabelle bewerten, die Erinnerungsfunktion systematisch testen sowie die Freischaltung eines Internetauftritts beurteilen und eine fehlerhafte HTML-Seite korrigieren. Alle Lösungen sind ausgeblendet und mit Punkteverteilung versehen [AI-Assisted]. (Zuletzt geändert am 29.10.2026)

Dieser Artikel ist Teil einer Artikelreihe zu Benutzeroberflächen und Web: Webtechnologien / Usability und Barrierefreiheit / Wiki und CMS / Übungsaufgaben zu Webtechnologien

Diese Übungsaufgaben gehören zum Artikel Webtechnologien: Websites, HTML/CSS, Web-Apps und native Apps.

Wortwolke mit den Begriffen der Übung, u. a. HTML, CSS, JavaScript, Web-App, native App, Progressive Web App, dynamische Website, Frontend und Backend (mit KI erstellt)

Hinweise zur Bearbeitung: Bis zur Teil-1-Prüfung der IT-Berufe solltest Du die Basiskompetenz beherrschen, also Aufgabe 1.1. Als ISE oder IKD musst Du zur Teil-2-Prüfung Aufgaben auf Kernkompetenz-Ebene lösen können, das ist Aufgabe 2.1. Von IKD wird zusätzlich erwartet, dass ihnen Aufgaben auf Profilkompetenz-Ebene (Aufgabe 3.1 und Aufgabe 3.2) keine Probleme bereiten. Bearbeite die Teilaufgaben schriftlich, bevor Du die Beispiellösung aufklappst. Bei Fragen nach Kriterien, Ursachen, Prüfschritten oder Problemen sind auch andere sinnvolle Antworten richtig.

Du möchtest eigene Aufgaben zum Üben von einem KI-Sprachmodell generieren lassen?

Kopiere den Text in ein KI-Sprachmodell Deiner Wahl und passe Kompetenzstufe, Anzahl, Bearbeitungszeit und Szenario bei Bedarf an. Wie die Aufgaben aufgebaut sind, beschreibt der Artikel Wie sind die Aufgaben aufgebaut?. Prüfe die Ergebnisse mit dem Lehrartikel: KI-Sprachmodelle machen Fehler.

Erstelle neue Übungsaufgaben zum Thema „Webtechnologien“.

Bauplan: Halte Dich an Aufbau, Kompetenzstufen, Operatoren,
Anforderungsbereiche, Punkte und Zeitschätzung, die im Artikel
https://oer-informatik.de/aufgaben-aufbau beschrieben sind.

Fachliche Grundlage:
- https://oer-informatik.de/webtechnologien
- https://oer-informatik.de/usability-barrierefreiheit
- https://oer-informatik.de/wiki-cms
- https://oer-informatik.de/nutzwertanalyse-make-or-buy
- Stilbeispiel: https://oer-informatik.de/webtechnologien-uebungsaufgaben

Die Aufgaben sollen Inhalte zu diesen Schlagwörtern abdecken:
- HTML
- CSS
- dynamische Website
- Web-App
- native App
- Progressive Web App
- Frontend
- Backend
- Zeichenkodierung

Kompetenzstufe: Profilkompetenz (alternativ: Basiskompetenz, Kernkompetenz, Expertise)
Anzahl: 1 Aufgabe mit Teilaufgaben
Bearbeitungszeit in Minuten ca.: <5 bis 30 min>
Szenario: eines der Szenarien aus dem Bauplan

Vorgehen:
1. Lies zuerst die verlinkten Artikel. Kannst Du keine Webseiten
   abrufen, sag mir das, statt zu raten.
2. Steht bei einer Angabe noch ein Platzhalter in <…>, frag mich
   zuerst danach. Richte Punkte und Zahl der Teilaufgaben nach der
   Bearbeitungszeit (ca. 0,9 min je Punkt).
3. Gib je Aufgabe Titel mit Kompetenzstufe, Ausgangssituation und
   Teilaufgaben mit Operator und Punktzahl aus, dazu die geschätzte
   Bearbeitungszeit.
4. Gib die Beispiellösungen mit Punkteverteilung erst aus, wenn ich
   danach frage.

Aufgabe 1.1: Eine Website für das Barcamp (Basiskompetenz)

(ca. 11 min Bearbeitungszeit)

Für das Barcamp „Lernen.Digital.Leben 2027“ am Ratz und Rübe Berufskolleg in Bielefeld soll eine Website entstehen. Sie soll den Ablauf, die Anfahrt und den Sessionplan zeigen. Der Sessionplan ändert sich bis zum Veranstaltungstag ständig, weil Referent*innen Sessions einreichen und die Orga sie Räumen und Zeiten zuordnet. Dimitrios Papadopoulos, der die Organisation leitet, bittet Dich um Unterstützung.

  1. In der ersten Orga-Besprechung sagt ein Helfer: „Wir machen den Sessionplan dynamisch, indem wir ihn mit CSS-Animationen und wechselnden Farben gestalten.“ Erläutere, was an dieser Aussage nicht stimmt, und grenze dabei eine dynamische von einer statischen Website ab. (4 Punkte)

Die Aussage verwechselt Bewegung und Gestaltung mit Dynamik (1 Punkt): Animationen und Farbwechsel legt das Stylesheet fest, der Inhalt bleibt für alle gleich. Eine statische Website besteht aus fertigen Dateien, die der Server unverändert ausliefert; eine neue Session erscheint erst, wenn jemand die Datei ändert und hochlädt (1 Punkt). Bei einer dynamischen Website erzeugt ein Programm auf dem Server die Seite erst beim Aufruf, z. B. aus der Datenbank der eingereichten Sessions (2 Punkte). Nur so zeigt der Sessionplan ohne Handarbeit den aktuellen Stand.

  1. Der Sessionplan soll auf dem Webspace der Schule laufen. Beschreibe, was dort neben dem Webserver vorhanden sein muss, damit die Seite bei jedem Aufruf neu erzeugt werden kann. (2 Punkte)
  • eine serverseitige Laufzeitumgebung für die Sprache, in der die Seite programmiert ist, z. B. ein PHP-Interpreter, Python mit einem Web-Framework oder Node.js (1 Punkt),
  • eine Datenbank (z. B. MariaDB) oder eine andere Datenquelle für Sessions, Räume und Zeiten (1 Punkt).

HTML und CSS allein reichen nicht, weil der Browser sie nur darstellt.

  1. Ordne die Aussagen jeweils der Sprache zu, auf die sie zutrifft. Trage dazu H (HTML), C (CSS) oder J (JavaScript) ein. (3 Punkte)
Aussage Sprache
1. legt fest, dass der Name einer Session als Überschrift ausgezeichnet wird
2. färbt alle Sessions im Raum „Aula“ blau
3. prüft beim Absenden des Anmeldeformulars, ob eine E-Mail-Adresse eingetragen ist
4. ordnet den Sessionplan auf dem Smartphone untereinander statt nebeneinander an
5. bindet das Foto einer Referentin mit einem Alternativtext ein
6. lädt alle 60 Sekunden die aktuelle Raumbelegung nach, ohne dass die Seite neu geladen wird

1 – H, 2 – C, 3 – J, 4 – C, 5 – H, 6 – J (je richtiger Zuordnung 0,5 Punkte).

  1. Für die Anmeldung am Veranstaltungstag stehen zwei Check-in-Terminals (Windows-PCs) bereit. In der Orga-Besprechung fallen drei Aussagen. Gib zu jeder Aussage an, ob sie zutrifft, und korrigiere die falschen. (3 Punkte)
  1. „Wenn wir den Check-in als Webanwendung bauen, müssen wir sie auf beiden Terminals installieren und jedes Update dort einzeln einspielen.“
  2. „Ein Desktop-Programm auf den Terminals könnte die vorab geladene Teilnehmendenliste auch bei einem WLAN-Ausfall durchsuchen.“
  3. „Eine native Android-App, die wir für die Smartphones der Helfer*innen entwickeln, läuft ohne Änderung auch auf den Windows-Terminals.“

Je Aussage 1 Punkt:

  1. trifft nicht zu: Eine Webanwendung läuft im Browser. Updates werden nur auf dem Server eingespielt und gelten sofort an beiden Terminals.
  2. trifft zu: Ein lokal installiertes Programm kann Daten auf dem PC speichern und ohne Netz darauf zugreifen.
  3. trifft nicht zu: Eine native App ist an das Betriebssystem gebunden, für das sie entwickelt wurde. Für Windows müsste sie neu oder mit einem plattformübergreifenden Framework entwickelt werden.

Aufgabe 2.1: Die Flurmonitore der Mitfahr-App (Kernkompetenz)

(ca. 19 min Bearbeitungszeit)

Am Ratz und Rübe Berufskolleg zeigen vier Flurmonitore die offenen Angebote und Gesuche der Mitfahr-App „RatzFahrt“ anonym an. Auf jedem Monitor läuft ein Mini-Player, dessen Browser im Vollbild die folgende Seite des RatzFahrt-Servers anzeigt. Svenja Krämer von der Schul-IT OWL bittet Dich, die Seite zu dokumentieren:

Zeile  1 | <!DOCTYPE html>
Zeile  2 | <html lang="de">
Zeile  3 | <head>
Zeile  4 |   <meta charset="UTF-8">
Zeile  5 |   <meta http-equiv="refresh" content="60">
Zeile  6 |   <title>RatzFahrt – Fahrten heute</title>
Zeile  7 |   <link rel="stylesheet" href="flurmonitor.css">
Zeile  8 | </head>
Zeile  9 | <body>
Zeile 10 |   <h1>Mitfahrgelegenheiten heute</h1>
Zeile 11 |   <table>
Zeile 12 |     <tr><th>Richtung</th><th>Treffpunkt</th><th>Uhrzeit</th><th>Plätze</th></tr>
Zeile 13 |     <tr><td>Gütersloh</td><td>Haltestelle Schulzentrum</td><td>15:40</td><td>2</td></tr>
Zeile 14 |   </table>
Zeile 15 |   <p class="hinweis">Mitfahren? Melde Dich in der App an.</p>
Zeile 16 | </body>
Zeile 17 | </html>
  1. Erläutere die Wirkung der Zeilen 1, 4, 5 und 7. (8 Punkte)

Je Zeile 2 Punkte:

  • Zeile 1: Die Dokumenttyp-Angabe teilt dem Browser mit, dass das Dokument dem HTML5-Standard entspricht. Er stellt die Seite dann standardkonform dar (ohne Kompatibilitätsmodus).

  • Zeile 4: Legt die Zeichenkodierung UTF-8 fest, damit Umlaute wie in „Gütersloh“ und Sonderzeichen richtig angezeigt werden.

  • Zeile 5: Der Browser lädt die Seite alle 60 Sekunden automatisch neu. So zeigen die Monitore ohne Bedienung immer die aktuellen Fahrten.

  • Zeile 7: Bindet die externe CSS-Datei flurmonitor.css ein, die die Darstellung (Schriftgröße, Farben, Layout) der Seite festlegt.

  1. Drei Monitore zeigen die Seite in großer Schrift mit farbigen Tabellenzeilen. Der Monitor im Erdgeschoss zeigt dieselben Fahrten in kleiner schwarzer Schrift ohne Rahmen und Farben, so wie der Browser eine Seite ohne Gestaltung darstellt. Beschreibe, welche Aufgabe die in Zeile 7 eingebundene Datei übernimmt, und nenne zwei mögliche Ursachen für das Fehlerbild. (5 Punkte)

Aufgabe (1 Punkt): flurmonitor.css ist ein Stylesheet. Es legt die Darstellung fest (Schriftgröße, Farben, Rahmen, Layout), getrennt vom Inhalt im HTML. Fehlt es, nutzt der Browser seine Standarddarstellung.

Ursachen (je 2 Punkte), z. B.:

  • Der Player erhält beim Abruf von flurmonitor.css einen Fehler, z. B. weil die Datei auf dem Server umbenannt wurde oder der Abruf im WLAN abbricht; das HTML kommt an, das Stylesheet nicht.
  • Auf diesem Player ist eine andere Adresse eingetragen (z. B. eine lokal gespeicherte Kopie der Seite); der relative Pfad flurmonitor.css zeigt dann ins Leere.
  • Ein Web-Filter der Schule oder eine Browsererweiterung blockiert die CSS-Datei.
  1. Künftig sollen Schüler*innen die Seite auch auf dem Smartphone aufrufen. Erläutere die Begriffe Responsive Design und Media Query und gib die Zeile an, die dafür im Kopf der Seite ergänzt werden sollte, mit Begründung. (4 Punkte)
  • Responsive Design (1 Punkt): Eine Seite passt ihr Layout an die Bildschirmbreite an, statt für jedes Gerät eine eigene Fassung zu haben, z. B. wird die Tabelle auf schmalen Bildschirmen zu untereinanderstehenden Karten.
  • Media Query (1 Punkt): CSS-Regeln, die nur unter einer Bedingung gelten, z. B. @media (max-width: 600px) { … } für schmale Bildschirme.
  • Zeile (1 Punkt): <meta name="viewport" content="width=device-width, initial-scale=1">
  • Begründung (1 Punkt): Ohne diese Angabe stellt der Smartphone-Browser die Seite wie auf einem breiten Bildschirm dar und verkleinert sie; die Media Queries für schmale Bildschirme greifen dann nicht.
  1. Nach einer Überarbeitung der Seite fehlt Zeile 4, und der Server sendet keine Angabe zur Zeichenkodierung. Ein Player zeigt nun „Gütersloh“ statt „Gütersloh“, weil sein Browser die Seite als Windows-1252 auswertet. Erläutere, wie diese Anzeige entsteht, gib an, wie viele Byte das Wort „Gütersloh“ in UTF-8 belegt, und nenne eine Abhilfe. (4 Punkte)
  • Entstehung (2 Punkte): Die Datei ist in UTF-8 gespeichert. Dort belegt „ü“ zwei Byte (hexadezimal C3 BC), Buchstaben aus dem ASCII-Bereich je ein Byte. Windows-1252 ordnet jedem Byte ein eigenes Zeichen zu: C3 wird als „Ó, BC als „¼“ angezeigt.
  • Speicherbedarf (1 Punkt): 8 ASCII-Zeichen · 1 Byte + 1 · 2 Byte = 10 Byte.
  • Abhilfe (1 Punkt): Zeile 4 <meta charset="UTF-8"> wieder einfügen oder den Webserver den Header Content-Type: text/html; charset=utf-8 senden lassen.

Aufgabe 3.1: Web-App, native App oder PWA für RatzFahrt? (Profilkompetenz)

(ca. 22 min Bearbeitungszeit)

Die Mitfahr-App „RatzFahrt“ läuft bisher als Web-App im Browser. Die Schülervertretung wünscht sich eine „richtige App“ mit Symbol auf dem Startbildschirm und einer Erinnerung, wenn eine Fahrt in 30 Minuten beginnt. Eine Agentur hatte vor dem Start angeboten, je eine native App für Android und iOS zu entwickeln. Thomas Becker, der das Projekt für die Schule leitet, bittet Dich, die Möglichkeiten für ein Gespräch mit der Schulleitung aufzubereiten.

  1. Bereite die Entscheidung als Vergleichstabelle vor: Wähle vier Kriterien, die für die Schule wichtig sind, und bewerte die drei Varianten „zwei native Apps (Angebot der Agentur)“, „bestehende Web-App“ und „PWA auf Basis der Web-App“ je Kriterium in Stichworten. (8 Punkte)

Je sinnvollem Kriterium 0,5 Punkte, je zutreffender Bewertung 0,5 Punkte, z. B.:

Kriterium zwei native Apps bestehende Web-App PWA
Kosten für Entwicklung und Pflege hoch: zwei Codebasen, Entwicklerkonten, jede Änderung doppelt niedrig: eine Codebasis niedrig: eine Codebasis, zusätzlich Manifest und Service Worker
Symbol auf dem Startbildschirm ja nur als Lesezeichen ja, über „Zum Home-Bildschirm“
Erinnerung vor der Fahrt ja, über Push-Benachrichtigungen nur bei geöffneter Seite oder per E-Mail ja, über Web-Push (auf iPhones nur installiert, ab iOS 16.4)
Updates über den Store; ältere Versionen bleiben im Umlauf sofort für alle nach dem Einspielen auf dem Server sofort; der Service Worker lädt die neue Fassung

Auch andere Kriterien sind zu werten, z. B. Erreichbarkeit ohne Installation, Abhängigkeit von Store-Regeln, Zugriff auf Gerätefunktionen, Datenschutz, Offline-Nutzung.

  1. Beschreibe, was eine Progressive Web App (PWA) ist, und erläutere, ob sie die beiden Wünsche der SV (Symbol auf dem Startbildschirm, Erinnerung vor der Fahrt) erfüllen kann. Berücksichtige dabei, dass viele Schüler*innen ein iPhone nutzen. (5 Punkte)

PWA (2 Punkte): Eine Web-App, die sich zusätzlich wie eine App verhält: Über eine Manifest-Datei lässt sie sich mit Symbol auf dem Startbildschirm ablegen und im eigenen Fenster ohne Browserleiste starten; ein Service Worker speichert Daten für den Offline-Betrieb und empfängt Push-Nachrichten. Sie bleibt eine Anwendung mit einer Codebasis ohne Store.

Wünsche (3 Punkte):

  • Startbildschirm: erfüllt; die Nutzenden legen die PWA über „Zum Home-Bildschirm“ ab.

  • Erinnerung: möglich über Web-Push-Benachrichtigungen. Die Nutzenden müssen der Benachrichtigung zustimmen. Auf iPhones funktionieren Push-Nachrichten erst ab iOS 16.4 und nur, wenn die PWA zum Home-Bildschirm hinzugefügt wurde. Das muss in der Anleitung stehen; für ältere Geräte bleibt z. B. eine Erinnerung per E-Mail.

Fazit: Eine PWA erfüllt die Wünsche weitgehend, ohne zwei native Apps entwickeln zu müssen.

  1. Die Schule entscheidet sich für die PWA. Im ersten Test erscheint auf keinem Gerät eine Erinnerung, obwohl alle Testpersonen den Benachrichtigungen zugestimmt haben. Beschreibe vier Prüfschritte, mit denen Du eingrenzt, ob der Fehler im Frontend oder im Backend liegt. (4 Punkte)

Je sinnvollem Prüfschritt 1 Punkt, z. B.:

  • Service Worker (Frontend): In den Entwicklerwerkzeugen des Browsers prüfen, ob der Service Worker registriert und aktiv ist; ohne ihn kommt keine Push-Nachricht an.
  • Abonnement übertragen (Frontend → Backend): Im Netzwerk-Tab prüfen, ob das Push-Abonnement nach der Zustimmung tatsächlich an den Server gesendet wird und welche Antwort zurückkommt.
  • Abonnement gespeichert (Backend): In der Datenbank nachsehen, ob zu den Testpersonen Abonnements gespeichert sind.
  • Zeitgesteuerter Dienst (Backend): Im Log prüfen, ob der Dienst läuft und die Testfahrten findet (z. B. Fehler durch Zeitzone UTC statt Ortszeit).
  • Versand (Backend): Antwort des Push-Dienstes auswerten; ein Fehlercode zeigt z. B. ein abgelaufenes Abonnement oder einen falschen Schlüssel.
  • Direkttest: eine Testnachricht von Hand an ein gespeichertes Abonnement senden; kommt sie an, liegt der Fehler in der Zeitsteuerung, nicht im Frontend.
  1. Lukas Hofmann ist stark sehbehindert und nutzt einen Screenreader. Nenne zwei Anforderungen, die das Frontend erfüllen muss, damit er die Erinnerungseinstellungen bedienen kann. (2 Punkte)

Je Anforderung 1 Punkt, z. B.: Formularfelder mit zugeordneten Beschriftungen (label), vollständige Bedienung per Tastatur bzw. Bildschirmgesten, Alternativtexte für Symbole und Grafiken, ausreichende Kontraste und skalierbare Schrift, sinnvolle Überschriftenstruktur, Statusmeldungen, die der Screenreader vorliest.

  1. Die Uhrzeit einer neuen Fahrt wird bereits im Browser per JavaScript geprüft. Erläutere, warum die Prüfung zusätzlich im Backend erfolgen muss. (2 Punkte)

JavaScript läuft auf dem Gerät der Nutzenden und kann abgeschaltet, verändert oder umgangen werden, z. B. indem Daten direkt an die Schnittstelle des Servers geschickt werden. Nur die Prüfung im Backend stellt sicher, dass ungültige oder manipulierte Daten (z. B. eingeschleuste Befehle) nicht gespeichert werden (2 Punkte).

  1. Formuliere für das Gespräch mit der Schulleitung eine Empfehlung in drei bis vier Sätzen, die sich auf Deine Tabelle aus a) stützt. (3 Punkte)

Z. B.: „Wir empfehlen, die bestehende Web-App zu einer PWA zu erweitern. Damit erfüllen wir beide Wünsche der SV, behalten aber eine einzige Codebasis und zentrale Updates. Zwei native Apps würden die Kosten etwa verdoppeln, ohne für RatzFahrt einen wesentlichen Mehrwert zu bringen. Für iPhones mit älterem System bieten wir die Erinnerung zusätzlich per E-Mail an.“

Bewertung: klare Empfehlung 1 Punkt, Begründung mit mindestens zwei Kriterien aus der Tabelle 2 Punkte. Eine begründete andere Empfehlung ist ebenfalls zu werten.

Aufgabe 3.2: Ein Internetauftritt für den Reparaturservice (Profilkompetenz)

(ca. 18 min Bearbeitungszeit)

Die CSB-Rad GmbH in Bielefeld-Sennestadt verkauft bisher nur online. Künftig soll auch die Werkstatt mit einem eigenen Internetauftritt Reparaturen für Kundschaft aus der Region anbieten. Sophie Bertram, Geschäftsführerin Vertrieb und E-Commerce, beauftragt das Projektteam, in dem Du mitarbeitest.

  1. Ein Praktikant hat für die Freischaltung unter werkstatt.csb-rad.example diese Reihenfolge notiert:
  1. Seitenstruktur, Gestaltung und Texte erstellen
  2. Website freischalten und in Newsletter und Shop bewerben
  3. Impressum und Datenschutzerklärung ergänzen
  4. TLS-Zertifikat für die Subdomain einrichten
  5. Subdomain im DNS auf den Webserver zeigen lassen

Beurteile diese Reihenfolge: Beschreibe zwei Probleme, die dabei entstehen, und gib eine sinnvolle Reihenfolge an. (5 Punkte)

Probleme (je beschriebenem Problem 2 Punkte, zwei davon):

  • Ohne Pflichtangaben online: Zwischen Schritt 2 und 3 ist ein geschäftlicher Auftritt ohne Impressum (§ 5 DDG) und ohne Datenschutzinformationen (Art. 13 DSGVO) öffentlich, obwohl er schon beworben wird. Das kann abgemahnt werden.
  • Freischalten vor dem DNS-Eintrag: Solange die Subdomain nicht auf den Webserver zeigt (Schritt 5), ist die beworbene Adresse gar nicht erreichbar; die Kundschaft landet auf einer Fehlerseite.
  • Zertifikat vor dem DNS-Eintrag: Automatisch ausgestellte Zertifikate (z. B. über ACME) setzen voraus, dass die Subdomain schon auf den Server zeigt. Bis dahin erscheint beim Aufruf eine Zertifikatswarnung, und Eingaben im Kontaktformular würden nicht verschlüsselt übertragen.

Reihenfolge (1 Punkt), z. B.: 1 → 3 → 5 → 4 → 2. Inhalte und Pflichtangaben sind fertig, bevor die Adresse erreichbar und abgesichert ist; beworben wird erst zum Schluss.

UML-Aktivitätsdiagramm der sinnvollen Reihenfolge: Inhalte erstellen, Impressum und Datenschutzerklärung ergänzen, Subdomain im DNS eintragen, TLS-Zertifikat einrichten, Website freischalten und bewerben (mit KI erstellt)
  1. Bastian Ludwig soll Öffnungszeiten, Preise und Neuigkeiten künftig selbst pflegen; er hat keine HTML-Kenntnisse. Nenne zwei charakteristische Eigenschaften eines Content-Management-Systems und begründe, ob für den Reparaturservice ein CMS eingesetzt werden sollte. (5 Punkte)

Eigenschaften (je 1 Punkt), z. B.: Inhalte werden über eine Redaktionsoberfläche ohne HTML-Kenntnisse gepflegt; Trennung von Inhalt und Gestaltung durch Vorlagen (Themes); Rechteverwaltung für Redakteur*innen; Seiten werden dynamisch beim Aufruf aus der Datenbank erzeugt; Erweiterungen (Plugins) z. B. für Formulare.

Begründung (3 Punkte), z. B.: Ein CMS ist sinnvoll, weil Bastian Ludwig Inhalte, die sich regelmäßig ändern (saisonale Öffnungszeiten, Preise, Neuigkeiten), selbst und ohne Programmierkenntnisse aktualisieren kann; die Gestaltung bleibt durch die Vorlage einheitlich. Dafür müssen Updates des CMS regelmäßig eingespielt werden. Auch die Gegenposition ist mit Begründung zu werten (z. B. wenige, kaum veränderliche Seiten → statische Seite schneller und sicherer).

  1. Bis das CMS ausgewählt ist, soll eine einfache Startseite online gehen. Ein Praktikant hat sie geschrieben; werkstatt.css, werkstatt.jpg und termin.html liegen im selben Verzeichnis wie die Seite. Im Browser erscheint die Seite ohne Gestaltung, das Foto fehlt, und der Text „Reparaturtermin online buchen“ lässt sich nicht anklicken. Finde sechs Fehler, die gegen den HTML5-Standard verstoßen oder die Funktion der Seite verhindern, und gib jeweils die Korrektur an. (6 Punkte)
Zeile  1 | <!DOCTYPE html>
Zeile  2 | <html lang="de">
Zeile  3 | <head>
Zeile  4 |   <meta charset="UTF-8">
Zeile  5 |   <title>Reparaturservice – CSB-Rad</title>
Zeile  6 |   <link rel="stylesheet" src="werkstatt.css">
Zeile  7 | </head>
Zeile  8 | <body>
Zeile  9 |   <h1>Reparaturservice</h1>
Zeile 10 |   <h2>Werkstatt Bielefeld-Sennestadt</h3>
Zeile 11 |   <p>CSB-Rad GmbH<br>Am Gewerbepark 12<br>33689 Bielefeld</p>
Zeile 12 |   <h2>Öffnungszeiten</h2>
Zeile 13 |   <ul>
Zeile 14 |     <li>Montag bis Freitag: 8 bis 18 Uhr</li>
Zeile 15 |     <li>Samstag: 9 bis 13 Uhr</li>
Zeile 16 |   </ol>
Zeile 17 |   <img href="werkstatt.jpg">
Zeile 18 |   <center>Neu: Service für E-Bikes</center>
Zeile 19 |   <a src="termin.html">Reparaturtermin online buchen</a>
Zeile 20 | </body>
Zeile 21 | </html>

Je gefundenem und korrigiertem Fehler 1 Punkt (sechs der sieben genügen):

Zeile Fehler Korrektur
6 link erwartet das Ziel im Attribut href; mit src lädt der Browser das Stylesheet nicht (daher die Seite ohne Gestaltung). <link rel="stylesheet" href="werkstatt.css">
10 Start- und Endtag passen nicht zusammen. </h2>
16 Die ungeordnete Liste wird mit dem Endtag einer geordneten Liste geschlossen. </ul>
17 Bilder werden mit src eingebunden, nicht mit href (daher fehlt das Foto). src="werkstatt.jpg"
17 Der Alternativtext fehlt; Screenreader können das Bild nicht beschreiben. alt="Blick in die Werkstatt der CSB-Rad GmbH"
18 center gehört nicht mehr zum HTML5-Standard; die Ausrichtung ist Aufgabe des Stylesheets. <p class="hinweis">Neu: Service für E-Bikes</p>, Zentrierung in werkstatt.css
19 Ein Link braucht das Attribut href; ohne href ist a nicht anklickbar. <a href="termin.html">…</a>, am besten in einem Absatz p
  1. Erläutere zwei Möglichkeiten, CSS-Angaben in eine HTML-Seite einzubinden, und begründe, welche Möglichkeit für den gesamten Internetauftritt der Werkstatt gewählt werden sollte. (4 Punkte)

Möglichkeiten (je 1 Punkt, zwei davon):

  • extern: in einer eigenen CSS-Datei, die jede Seite mit <link rel="stylesheet" href="werkstatt.css"> einbindet,
  • intern: im Kopf eines Dokuments innerhalb eines <style>-Elements,
  • inline: direkt am Element im Attribut style, z. B. <p style="color: red">.

Begründung (2 Punkte): Für den gesamten Auftritt sollte eine externe, zentrale CSS-Datei genutzt werden. Alle Seiten nutzen dieselben Regeln (einheitliches Corporate Design), Änderungen erfolgen an einer Stelle, und der Browser lädt die Datei nur einmal.


Hinweis zur Nachnutzung als Open Educational Resource (OER)

Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Übungsaufgaben zu Webtechnologien” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/webtechnologien-uebungsaufgaben veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/software-entwurf/web-schnittstellen. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 29.10.2026.

[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: