Mmt Webprogrammierung 1 Im Wintersemester 2008

  • Uploaded by: Brigitte Jellinek
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Mmt Webprogrammierung 1 Im Wintersemester 2008 as PDF for free.

More details

  • Words: 16,973
  • Pages: 94
Web Programmierung 1 Ein Skriptum zu den gleichnamigen Lehrveranstaltungen im 1. Semester von MultiMediaTechnolgy

Überblick 1.

Web Basics

6

2.

CSS Basics

23

3.

CSS für Layout und Interaktion

35

4.

Formulare, URLs, erstes Javascript

55

5.

Javascript und DOM

71

6.

jQuery

81

7.

AJAX und Ausblick

86

Quellenverzeichnis

93

Stichwortverzeichnis

94

MMT Webprogrammierung 1

2

Ziele Diese Lehrveranstaltung hat mehrere unabhängige Ziele. Am Ende des Semesters können Sie sagen: •

Ich kann Webseiten erstellen, und habe auch schon eine kleine Web-Site vollständig umgesetzt.



Ich verstehe wie das Web funktioniert, kann Fehler suchen und neue Entwicklungen einordnen. Ich kenne wichtige Problemfelder wie Browserkompatiblität, Internationalisierung, Security, Barrierefreiheit, Auffindbarkeit.



Ich kenne die Arbeitsteilung in einem Web-Projekt und kann meinen (technischen) Teil beitragen.



Ich kann die Qualität einer Webseite beurteilen. Ich kenne verschiedene Qualitäts-Kriterien und kann sie gegeneinander abwägen.



In meinem Blog zeige ich mehrere kleine Web-Projekte.

MMT Webprogrammierung 1

3

Inhaltsverzeichnis 1.

Web Basics

6

1.2

Kurze Geschichte des World Wide Web

7

1.3

Drei Standards definieren das Web

8

1.3.2

URL

10

1.3.3

HTTP

11

HTML Basics

12

1.4.1

Sonderzeichen

13

1.4.2

HTML-Tags

13

1.4.3

Whitespace

14

1.4.4

Attribute

14

1.4.5

Kompatibilität

15

1.4.6

Text formatieren

16

1.4.7

Bilder

17

1.4.8

Links

17

1.4.9

Gesamt-Struktur einer Webseite

17

1.4

1.4.10 Listen

18

1.4.11 Tabellen

18

1.5

Upload und Tools

18

1.5.1

Validator

19

1.5.2

Upload

19

CSS Basics

23

Kurzvorstellung von Stylesheets

24

2.1.1

Schriftart

24

2.1.2

Schriftgröße

25

2.1.3

Absätze

25

2.1.4

CSS erforschen mit Firebug.

25

Geschichte der Cascading Style Sheets

26

2.2.1

Stylesheet Syntax

27

2.2.2

Klassen, IDs, SPANs und DIVs

28

2.2.3

Maßeinheiten in Stylesheets

29

Graceful Degradability

32

CSS für Layout und Interaktion

35

URLs

36

3.1.1

Absolute und relative URLs

36

3.1.2

Konfiguration des Webservers und URLs

37

3.1.3

Pragmatische Tipps zu Dateienamen und URLs

39

Rahmenbedingungen für Layout

41

3.2.1

Auflösung

41

3.2.2

Brutto-Fläche vs. Netto-Fläche

42

2. 2.1

2.2

2.3 3. 3.1

3.2

MMT Webprogrammierung 1 3.2.3

Entwurf für mehrere Auflösungen

43

3.2.4

Bilder im Web

45

3.2.5

Schriftgröße

46

3.3

CSS Selektoren

47

3.4

CSS für Layout

48

3.4.1

Width und Auto

49

3.4.2

Float

49

3.4.3

Absolute Positionierung

51

Navigationsmenü mit CSS

52

:hover

53

Formulare, URLs, erstes Javascript

55

Formulare

55

4.2.1

Eingabefelder

56

4.2.2

Interaktionsmöglichkeiten

59

Daten absenden

60

4.3.1

Daten an E-Mail senden

60

4.3.2

Daten senden mit Methode GET

61

4.3.3

URL als Programm-Schnittstelle

62

Formular und Javascript

63

4.4.1

Javascript Einbetten

63

4.4.2

Popup-Fenster

63

4.4.3

Formulare

64

4.4.4

document.write

64

4.4.5

Ereignisse und Ereignisgesteuerte Programmierung

65

4.4.6

Formular prüfen

69

Javascript und DOM

71

Hintergründe

72

5.2.1

Javascript und Java

72

5.2.2

Geschichte von Javascript

72

5.2.3

Document Object Model

73

Basic Javascript

74

5.3.1

Einbindung von Javascript

74

5.3.2

Syntax von Javascript

77

5.3.3

DOM Beispiel

79

jQuery

81

Besondere Javascript-Schreibwesen in jQuery

82

6.2.1

Mein Name ist Dollar

82

6.2.2

Funktionen als first-class citizens

83

6.2.3

Anonyme Funktionen

83

6.3

Selektieren und Manipulieren mit jQuery

84

6.4

Interaktion mit jQuery

85

Ausblick

92

3.5 3.5.1 4. 4.2

4.3

4.4

5. 5.2

5.3

6. 6.2

7.

4

MMT Webprogrammierung 1

5

Quellenverzeichnis

93

Stichwortverzeichnis

94

MMT Webprogrammierung 1

1.

6

Web Basics

Der erste Termin der Lehrveranstaltung klärt organisatorische Fragen, klärt die Ursprünge des Web, stellt wichtige Fachbegriffe vor und gibt einen Einstieg in HTML

Was Sie wissen sollten •

Wer das World Wide Web erfunden hat, Wer die Standards des Webs definiert



Wie die drei Standards HTTP, URL und HTML zusammenspielen und das Web definieren.



Wie eine HTTP Anfrage funktioniert



Wie ein Dokument im XHTML-Format aufgebaut ist



Die HTML-Tags für Überschriften, Absätze, Links, Bilder



Welche Methoden des Uploads esgibt

Was Sie können sollten •

Ein einfaches Dokument im XHTML-Format erstellen, einen vorgegebenen Text in XHTML umwandeln



Die Korrektheit des XHTML-Codes mit dem Validator des World Wide Web Consortium überprüfen



Fehler in einem XHTML Dokument ausbessern, bis es valide ist



Dokumente auf einen Webserver hochladen

Weitere Informationsquellen •

Selfhtml. http://de.selfhtml.org/



Website des WWW-Consortiums. http://www.w3c.org/



HTML Validator des WWW-Consortiums. http://validator.w3.org/



Bildformate am Web. http://webwelt.horus.at/html/img/bildformate.html



Plain Old Semantic HTML (POSH). http://microformats.org/wiki/POSH

Tools •

Desktop Webbrowser: Firefox, MSIE, Opera, Safari



„exotische“ Webbrowser: Lynx, Opera Mobile, …



FireFTP, Secure File Transfer Client

MMT Webprogrammierung 1

7

1.2 Kurze Geschichte des World Wide Web Viele moderne Erfindungen sind das Ergebnis von Teamarbeit und langen Planungsprozessen. Nicht so das World Wide Web: es geht auf eine einzelne Person zurück. Tim Berners-Lee, gebürtiger Engländer und studierter Physiker, hat es in den Jahren 1989, 1990, 1991 als EDV-Mitarbeiter am CERN in der Schweiz entwickelt. Zu dieser Zeit – Anfang der 90er Jahre – war das Internet ein rein akademisches Projekt mit sehr geringen Bandbreiten, wie folgendes „fact sheet“ aus der Zeit dokumentiert: Date: Fri, 20 Mar 1992 13:50:09 From: [email protected] (Marieke G. Dekker) Subject: ebone fact sheet, for your information .... Ebone will operate a core backbone between London, Stockholm, Amsterdam, Geneva, and France (Montpellier). Stockholm

E /

\ 256 Kbps / \ 512 Kbps / \ / \ London E E Amsterdam | | | 512 Kbps | | | | | | 256 Kbps | | | France (Montpellier) E-----------------E CERN 256 Kbps Intercontinental links to the United States are provided from London, Stockholm and Geneva. The European links operate initially at speeds between 256 and 512 kilobits per second.

Neben E-Mail und FTP wurden Newsgroups – ähnlich den heutigen Diskussionsforen – als wichtigste Form Datenaustausches verwendet, meist im Textmodus, ohne grafische Oberfläche.

Abbildung 1: Der erste grafische Webbrowser, Tim Berners-Lee, die erste Webseite des CERN im Line mode browser

Berners-Lee definierte die Eckpunkte der technischen Standards (siehe nächstes Kapitel) und programmierte – gemeinsam mit KollegInnen – die erste Software. In Abbildung 1 ist links Tim BernersLee mit dem ersten grafischen Webbrowser abgebildet. Dieser Browser ist gemeinsam mit dem Betriebssystem NeXT verschwunden. Rechts ist ein Screenshot des Line Mode Browsers zu sehen, der

MMT Webprogrammierung 1

8

die damalige Homepage des CERN anzeigt. Der Line Mode Browser funktionierte auch ohne Grafik. Links konnten mit Nummern aufgerufen werden.

1.3 Drei Standards definieren das Web Für diese Veranstaltung ist eine technische Sicht auf das World Wide Web die relevante. Das World Wide Web ist also ein verteiltes (Client/Server) Informationssystem, das durch folgende drei Standards in der jeweils aktuellen Form definiert wird: •

URL (Uniform Resource Locators) nach RFC 1738 - http://www. w3. org/Addressing/rfc1738. txt



HTTP (Hypertext Transfer Protocol) nach RFC 2616 - http://www. w3. org/Protocols/rfc2616/rfc2616. html



(X)HTML (Hypertext Markup Language) in der Version XHTML 1. 0 transitional

Die entsprechenden Dokumente finden Sie unter den oben angebenen URLs am Webserver des World Wide Web Consortiums. Rund um diese drei Standards ordnen sich weitere wichtige Begriffe an:

Client/Server Das Client/Server Prinzip ist ein allgemeines Prinzip wie Dienste in einem Computernetzwerk aufgebaut sein können: Ein Server ist ein Computer der einen bestimmten Dienst anbietet, ein Client ist der „Kunde“, also der Computer der den Dienst in Anspruch nimmt. Nach diesem Prinzip funktionieren Web, E-Mail, FTP: Client

Server

Web

Webbrowser – lädt Webseiten vom Sever und zeigt sie am Bildschirm an

Webserver – liefert auf Anfrage die gespeicherten Webseiten

E-Mail

E-Mail Programm – lädt E-Mails vom Server, zeigt sie an, kann neue E-Mails an einen Server schicken der sie zustellt, …

Mailserver – speichert E-Mail in verschiedenen Postfächern

FTP

FTP-Client – lädt Dateien von einem Server runter oder auf einen Server rauf

FTP-Server – speichert Dateien

MMT Webprogrammierung 1

9

Das Gegenstück zu Client/Server ist Peer-zu-Peer. Dabei sind alle beteiligten Computer gleichberechtigt, es gibt keine verschiedenen Rollen. Nach diesem Prinzip funktionieren Datei-Tauschbörsen.

Webbrowser Ein Webbrowser, oder kurz Browser, ist ein Programm, das bei Eingabe einer URL über http eine HTML-Webseite laden und anzeigen kann, es ist also der Client zum World Wide Web. Es gibt sehr viele verschiedene Webbrowser. Abbildung 2 zeigt drei davon: den Browser „Mosaic“, der im Jahre 1993 als zweiter Webbrowser für grafische Oberflächen stark zur Verbreitung des World Wide Web beigetragen hat, und die Browser Opera und Mozilla in den Versionen, die im Jahre 2004 verwendet wurden.

Abbildung 2: Webbrowser: Mosaic (1993), Opera(2004) und Mozilla(2004)

Alle eben erwähnten Browser haben gemeinsam, dass sie auf einem typischen „BüroComputer“ eingesetzt werden, einem Computer mit grafischer Oberfläche und einem Farb-Monitor. Es gibt aber auch „exotischere“ Browser. Abbildung 3 zeigt den Browser lynx, der nur Text darstellt, aber keine Bilder. Daneben sehen Sie eine „Braille Ausgabezeile“, ein Gerät, das eine Zeile Text in eine Zeile Blindenschrift übersetzt. Mit diesem Webbrowser und diesem Ausgabegerät können Blinde im Web surfen.

Abbildung 3: Text-Only Browser lynx und Braille Ausgabegerät

MMT Webprogrammierung 1

10

Webseite Die Dokumente, die im Webbrowser dargestellt werden nennt man Webseiten. Eine Webseite ist – technisch gesehen – ein Dokument im HTML-Format. Eine Webseite kann – im Gegensatz zu einer Seite in einem Buch – beliebig lang sein. Ist die Seite zu groß / zu lang für das Browser-Fenster, dann erscheint ein Scrollbalken mit dem man den Rest der Seite erreichen kann, wie in Abbildung 4 gezeigt.

Abbildung 4: Ein Browser zeigt eine lange Webseite an

Website Als Webseite wird also ein Dokument bezeichnet. Verwechseln Sie diesen Begriff nicht mit dem englischen Wort Website. Eine Website besteht aus mehreren Webseiten auf einer gemeinsamen Domain, die zusammen gehören und untereinander verlinkt sind.

1.3.2

URL

Eine URL ist die Adresse eines Dokuments am Web oder in einem anderen Online-Informationssystem. Ein Beispiel: http://kurse.horus.at:8080/2006-ss/www-mm/index.html#literatur

Diese URL zerfällt in 4 Teile:

MMT Webprogrammierung 1

11

http

Übertragungsprotokoll

kurse.horus.at

Domain Name (oder IP-Adresse) des Webservers

8080

Port am Server. Wenn keiner angegeben ist: Port 80

/2006-ss/www-mm/index.html

Wird vom Webserver interpretiert, meist eine Pfad-Angabe

Literatur

Textmarke innerhalb des Dokuments (wird vom Browser interpretiert)

Im Zusammenhang mit Web-Formularen werden wir oft mit URLs zu tun haben, die Parameter enthalten: http://www.google.com/search?q=schokolade&ie=utf-8&oe=utf-8

Mit den Zeichen ? & = werden hier Parameter an die URL angefügt. HTTP-URLs sind nicht die einzigen URLs, ein Beispiel mit einem anderen Übertragungsprotokoll: mailto:[email protected]

1.3.3

HTTP

Das Hypertext Transfer Protocol ist ein relativ simples Protokoll, das immer TCP1-Verbindungen verwendet. Alle Aktivität wird vom Client (=Browser) initiiert. In der einfachsten Form sieht HTTP so aus (hier wieder am Beispiel der URL http://kurse.horus.at/2006-ss/www-mm/index.html#literatur):

1.

1

Eine URL wird in den Browser eingetippt, oder ein Link wird im Browser angeklickt

Mehr über TCP lernen Sie in der Lehrveranstaltung „Multimedia-Netzwerke“ im 3.Semester

MMT Webprogrammierung 1 2.

12

Der Browser analysiert die URL und ermittelt daraus den Domain Namen des Webservers (kurse.horus.at), löst diese über DNS zur IP-Adresse auf (193.80.109.212)

3.

Der Browser baut eine TCP-Verbindung zu 193.80.109.212, Port 80 auf

4.

Er sendet eine http-Anfrage: „GET /2006-ss/www-mm/index.html HTTP/1.0\n\n“

5.

Der Webserver nimmt die Anfrage entgegen und analysiert sie. Meistens interpretiert er sie als Aufforderung, eine bestimmte Datei von der Platte zu lesen

6.

Der Webserver schickt die http-Antwort an den Browser, diese besteht aus einem Statuscode, z. B. „200 OK\n\n“, gefolgt vom Inhalt der Datei index.html.

7.

Der Browser nimmt das Dokument in Empfang und stellt es geeignet dar

8.

Der Browser scrollt das Dokument bis zur Textmarke literatur

9.

Der Browser beendet die TCP-Verbindung

Die nächste Anfrage des Clients kann sich an einen anderen Server, oder wieder an denselben Server richten. Die nächste Anfrage, die der Server beantwortet, kann vom selben Client kommen, oder von einem anderen Client. Keiner der beiden (Client und Server) muß speichern mit wem er gerade Daten ausgetauscht hat, um die nächste Anfrage durchführen/beantworten zu können. Das Protokoll ist also stateless. Dadurch ist es sehr einfach einen Server zu programmieren. Das ist nur die einfachste Version des Protokolls, mit Proxies, Caching und Keep-Alive wird es komplizierter.

1.4

HTML Basics

In der Übung werden wir XHTML Version 1. 0 transitional verwendet. Die wichtigsten HTML-Tags (Links, Bilder, Tabellen, Formulare) werden Sie bald auswendig können. Alle Details können Sie am HTML-Schwindlzettl oder bei selfhtml nachschlagen. Das X von XHTML steht für die Kompatibilität mit XML. Die Dateien haben aber weiterhin die Endung .htm oder .html, ohne x. Im Unterschied zu HTML ist XHTML ein bisschen strenger in der Schreibwei-

se. Am Web finden Sie noch viele HTML-Dokumente und Tutorials zu HTML – lassen Sie sich davon nicht verwirren!

MMT Webprogrammierung 1

13

HTML-Dateien (Hyper Text Markup Language) bestehen aus reinem Text, in unserem Falle entweder aus Text im Format ISO 8859-1 (Latin-1)2 oder im Format utf-8. Abbildung 5 zeigt wie dieses Format im Windows Notpad / Editor gesetzt wird: ISO 8859-1 wird hier als ANSI bezeichnet.

Abbildung 5: Auswahl des Charactersets beim Speichern mit dem Windows Notepad / Editor

1.4.1

Sonderzeichen

Sonderzeichen in HTML nennt man „character entities“. Sie haben die From &entityname; Folgende Character Entities müssen Sie verwenden: Gewünschtes Zeichen

Character Entity

<

<

>

>

&

&

Folgende Character Entities können Sie vermeiden, indem Sie das Zeichen selbst im Code verwenden: Gewünschtes Zeichen

Character Entity

Ä

Ä

Ä

ä

ß

ß

1.4.2

HTML-Tags

Die gewünschte Formatierung des Textes wird mit HTML-Tags angegeben 1.

2

Tags sind zwischen spitzen Klammern eingeschlossen.

Das ist der ASCII-Zeichensatz, ergänzt um die in westeuropäischen Sprachen nötigen Zeichen wie

üöä ÜÖÄ ß é ñ

MMT Webprogrammierung 1 2.

14

Zu (fast) jedem "Anfangs-Tag" gibt es einen "End-Tag", der sich nur durch den Schrägstrich vom Anfangs-Tag unterscheidet. Z. B.

hier der Absatz

.

3.

(in XHTML) müssen "alleinstehende" Tags mit einem Schrägstrich am Ende geschrieben werden:


In XHTML werden Tags immer klein geschrieben (bei HTML war die Groß- oder Kleinschreibung egal). Die wichtigsten Tags werden weiter unten vorgestellt.

1.4.3

Whitespace

Sogenannter "whitespace" - das sind mehrere Leerzeichen, Tabulatoren und Zeilenumbrüche hintereinander – wird vom Browser völlig ignoriert. Ob Sie also in Ihrer HTML-Datei ein Leerzeichen oder 7 Leerzeilen einfügen macht keinen Unterschied. (gar kein Leerzeichen oder ein Leerzeichen macht schon einen Unterschied) Die folgenden beiden Dokumente sind also äquivalent:

Halli Hallo

Halli Hallo



Nur die Tags beeinflussen die Darstellung der Webseite. Sie müssen den Tag
verwenden um einen Zeilenumbruch auf der Webseite zu erzeugen – dies ist aber nur selten sinnvoll, da der Browser einen automatischen Zeilenumbruch durchführt.

1.4.4

Attribute

Manche Tags können Attribute enthalten. Ein Beispiel ist der Tag der ein Bild in die Seite einfügt (Englisch: Image). Die wichtigsten Attribute von sind src (von Source = Quelle) und alt (Alternative Darstellung). Das ist neu!

In XHTML werden Tags immer klein geschrieben (bei HTML war die Groß- oder Kleinschreibung egal). Es ist egal, in welcher Reihenfolgen Sie die Attribute schreiben: Das ist neu!

oder

alt="Das ist Neu!"

Das Attribut bli, welches HTML nicht kennt, wird wie andere unbekannte Attribute einfach ignoriert.

MMT Webprogrammierung 1

15

Der Wert eines Attributes muß in Anführungszeichen geschrieben werden. (in HTML gab es eine Ausnahme für Werte die keine Leerzeichen enthalten (wie z. B. Zahlen), diese konnten auch ohne Anführungszeichen geschrieben werden, bei XHTML ist das verboten) Das ist Neu!

ACHTUNG: ein häufiger Fehler ist es, das zweite Anführungszeichen zu vergessen: Das ist neu!Text text text, text text. Text text text, text text. Text text text, text text. Text und text text, text text.



Haupt-Überschrift (1. Ebene)

Überschriftstext



Unter-Überschrift (2. Ebene)

Überschriftstext



Unter-Überschrift (3. Ebene)

Überschriftstext



Block-Zitat (eingerückt)

Alle meine Entchen schwimmen auf dem See


Format für kleinere Text-Abschnitte Diese müssen Sie innerhalb eines Blocks verwenden. Diese Formate werden unterschieden in logische und physische Elemente. Die logischen geben die genaue Darstellung nicht vor. Sehr stark betonter Text (meist fett)

Eine <strong>wichtige Sache

Betonter Text (meist kursiv)

und eine <em>interessante Sache

Physische Elemente geben die genaue Darstellung vor und sind eigentlich „altmodische Tags“, die durch Stylesheets ersetzt wurden, und die Sie möglichst nicht mehr verwenden sollten: Fettgedruckter Text

Eine fette Sache

Kursiver Text

und eine schräge Sache

Text in einer bestimmten Schriftart

Text

Text in einer bestimmen Farbe

rot

Hier die moderne Schreibweise mit Stylesheets: Text in einer bestimmten Schriftart

<span style="font-face:Arial;">Text

Text in einer bestimmen Farbe

<span style="color:red;">rot

MMT Webprogrammierung 1

1.4.7

17

Bilder

Bilder werden in separaten Dateien gespeichert, in der HTML-Datei erfolgt nur ein Verweis auf die Bilddatei. Als Attribut src im img-Tag können Sie eine absolute oder relative URL angeben: Bild (URL absolut)



Bild (URL relativ)



Bild mit Ersatztext

neu

Bild mit Größenangabe



Bild nach links (Text fließt rechts vorbei)



Als Bildformate für Webseiten werden nur Pixel-Formate von vielen Browsern unterstützt: gif

Palette von 255 Farben + 1 Transparenz-Farbe (kein Alpha). „animiertes Gif“ enthält mehrere Bilder, die der Reihe nach angezeigt werden (Daumenkino). Besonders geeignet für Bilder mit klaren Kanten, einfärbigen Flächen, wenigen Farben, z. B. Comics, Logos.

jpg

Millionen von Farben, variable Kompression, keine Transparenz. Besonders geeignet für Bilder mit Farbverläufen, z. B. Photos.

png

Nachfolge-Format für gif, Alpha-Transparenz, diese wird aber von MSIE erst ab MSIE 7 unterstützt. Tabelle 1: Bildformate im Vergleich

Es kann jedes Bild in allen drei Formaten gespeichert werden. Ideal wäre, das Format auszuwählen, in dem das Bild nichts an Qualität verliert, und die Dateigröße möglichst gering ist.

1.4.8

Links

Als Attribut href können Sie eine absolute oder relative URL angeben: Link zu Webseite (absolute URL)

zu CNN

Link zu Webseite im selben Ordner (relative URL)

mehr

Link zu E-Mail Adresse

Mail

Bild als Link

zur Seite 2

1.4.9

Gesamt-Struktur einer Webseite

Eine HTML Seite besteht aus einem vordefinierten Grundgerüst.

MMT Webprogrammierung 1

18

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Titel der Seite Hier die Tags, die Sie schon kennen.

Achtung: es kann nur einen head und einen body geben, keine Wiederholungen!

1.4.10

Listen

Listen werden mit zwei verschachtelten Tags gebaut: der li-Tag für den einzelnen Listen-Punkt, und der ol- oder ul-Tag für die gesamte Liste.
  • punkti
  • punkti


1.4.11

  1. eins
  2. zwei
  3. drei


Tabellen

Um eine Tabelle zu erzeugen müssen Sie die Tags , und
richtig ineinander verschachteln.
Freitag Samstag Sonntag
lernen lernen lange schlafen


HTML-Tabellen wurden früher in Webseiten für das Layout der Seite verwendet, diese Tabellenlayouts sind noch auf vielen älteren Webseiten zu finden. Moderne Webseiten werden mit CSS-Layouts gestaltet (Siehe Kapitel 3).

1.5 Upload und Tools Der HTML-Code ist fertig, aber damit ist die Arbeit noch lange nicht vorbei.

MMT Webprogrammierung 1

19

1.5.1 Validator Um Fehler im HTML-Code zu finden reicht ein Webbrowser nicht aus. Wie oben beschrieben sind Webbrowser sehr tolerant, was kaputten Code betrifft. Eine strenge Prüfung des HTML-Codes macht der Validator des W3C: . http://validator.w3.org/

Abbildung 6: Der HTML-Validator des World Wide Web Consortiums

Die Fehlermeldungen des Validators muss man sorgfältig lesen, und von oben nach unten durcharbeiten und reparieren. Mit etwas Glück repariert man das erste Problem und viele Folge-Fehler fallen damit auch weg.

Abbildung 7: Fehlermeldung des Validators

Die Fehlermeldung in Abbildung 7 geht auf einen Tippfehler zurück: der schließende Tag wurde falsch geschreiben. Eine

1.5.2 Upload Die fertige Webseite muss auf einem Webserver veröffentlicht werden. In der FH stehen Ihnen zwei Webserver zur Verfügung: auf www.users.fh-salzburg.ac.at und auf multimediatechnology.at. Um die Daten vom eigenen Computer auf den Webserver zu laden gibt es verschiedene Methoden, die wichtigsten sind FTP, WebDAV, SFTP. Für die Webserver der FH kann nur SFTP verwendet werden. Bei jeder Upload-Methode brauchen Sie folgende Informationen: den Namen des Servers, Userna-

MMT Webprogrammierung 1

20

men, Passwort, in welchen Ordner Sie die Daten speichern, unter welcher URL die Daten im Web sichtbar sind. Der Server www.users wird von allen Studiengängen verwendet: Upload-Methode Name des SFTP-Servers Username + Passwort Ordner bei Upload URL

SFTP www.users.fh-salzburg.ac.at

fhs666 – gleich wie bei FH-Mail htdocs/ http://www.users.fh-salzburg.ac.at/~fhs666/

Der Server multimediatechnology.at ist auch unter dem Namen multimediaart.at bekannt, und wird nur von MMA+MMT verwendet: Upload-Methode Name des SFTP-Servers Username + Passwort Ordner bei Upload URL

SFTP multimediatechnology.at

fhs666 – gleich wie bei FH-Mail public_html/ http://multimediatechnology.at/~fhs666/

oder eigene Subdomain, z.B. http://ichbinich.multimediatechnology.at/

Folgende Programme zum Upload sind in den FH-Labors installiert, bzw. können Sie selbst installieren: •

Dreamweaver: Upload ist nach der Definition einer „Site“ möglich



Secure File Transfer Client: nur für SFTP



FireFox: AddOn von Firefox, freie Software, können Sie selbst installieren

Achten Sie beim Upload darauf, dass die Ordnerstruktur und die relative Position der Dateien beibehalten wird; nur dann funktionieren die relativen Links! Dreamweaver und FireFTP bieten Hilfe beim Erhalt der Struktur. In Abbildung 8 wurde recht (am lokalen Computer) eine Datei ausgewählt und dann der Button „Datei bereitstellen“ gedrückt. Dreamweaver beachtet, dass die Datei lokal im Ordner html-ue1 liegt, und lädt Sie in den entsprechenden Ordner am Webserver hoch.

MMT Webprogrammierung 1

21

Abbildung 8: Site-Fenster von Dreamweaver – Upload einer Datei automatisch in den richtigen Ordner

Abbildung 9 zeigt, was Sie nicht tun sollten: die Datei mit Drag-and-Drop in den falschen Ordner am Webserver hinaufladen. Dann funktionieren die relativen Links nicht mehr.

Abbildung 9: Upload mit Dreamweaver in den falschen Ordner

Bevor Sie FTP im Dreamweaver Site-Fenster benutzen können müssen Sie (Unter SITE SITES VERWALTEN  BEARBEITEN  ERWEITERT  REMOTE-INFORMATIONEN) die richtige Konfiguration eintragen,wie in

Abbildung 10 gezeigt.

MMT Webprogrammierung 1

Abbildung 10: Bearbeiten der FTP-Information in Dreamweaver

Die anderen erwähnten Programme funktionieren sehr ähnlich.

22

MMT Webprogrammierung 1

2.

23

CSS Basics

Der zweite Termin stellt die Grundzüge von Cascading Style Sheets vor

Was Sie wissen sollten •

Wie HTML und CSS zusammen hängen. Wie CSS Selektoren aufgebaut sind. Welche Schreibweisen und Maßeinheiten es in CSS für Farben, URLs und Größenangaben gibt.



Wie das CSS Box Model funktioniert, wie der Zusammenhang zwischen margin, border und padding ist.



Welche Möglichkeiten zur Darstellung von Schrift, Absatz, Rahmen, Hintergrundfarbe und Hintergrundbilder CSS ungefähr bietet. Wie Sie die genaue Schreibweise der dafür notwendigen CSS-Deklarationen nachschlagen können

Was Sie können sollten •

Ein einfaches Stylesheet für ein XHTML-Dokument erstellen. Bei Vorgabe einer bestimmten visuellen Darstellung und eines XHTML-Dokuments ein geeignetes Stylesheet erstellen, das zu dieser Darstellung führt



Mit Hilfe von Firebug oder durch Lesen des Codes herausfinden welche CSS-Regeln zu einer bestimmten Darstellung in einer (fremden) Webseite führen



Die Korrektheit des CSS-Codes mit dem CSS-Validator des World Wide Web Consortium überprüfen. Fehler in einem CSS-Dokument ausbessern bis es valide ist

Weitere Informationsquellen •

CSS Zen Garden. http://csszengarden.com/



CEDERHOLM,Dan (2007): Bulletproof Webdesign. Addison-Wesley, München. ISBN 3827326230.



MEYER,Eric A. (2006): Eric Meyer's CSS. Addison-Wesley, München. ISBN 3827324793.



Web Standards Project. http://www. webstandards.org/

Tools •

Desktop Webbrowser: Firefox, MSIE, Opera, Safari



„exotische“ Webbrowser: Lynx, Opera Mobile, …



Die Firefox Erweiterungen ColorZilla, MeasureIt, Web Developer, FireFTP

MMT Webprogrammierung 1

24

2.1 Kurzvorstellung von Stylesheets Die einfachste Art die visuelle Darstellung einer Webseite zu definieren ist die Einbettung eines Stylsheets. Das Stylesheet definiert für die einzelnen HTML-Tags wie sie dargestellt werden sollen. In Listing 1 werden Formatierungen für die Tags body, p, h1 und h2 vorgenommen, der gezeigte <style>-Tag wird im Head des HTML-Dokument eingebunden: 1. <style type="text/css"> 2. p { 3.

font-family: Calibri, Helvetica, Arial, sans-serif;

4.

font-size: 13px;

5. } 6. h1,h2 { 7.

font-family: "Trebuchet MS", Verdana, Arial, sans-serif;

8. } 9. h1 { font-size: 24px; } 10. h2 { font-size: 20px; } 11. body { background-color: green; } 12. Listing 1: Hintergrundfarbe, Schriftfamilie, Schriftgröße mit CSS festlegen

An Hand dieses Beispieles werden nun die ersten Stylesheet-Befehle erklärt. Die Syntax von Stylesheets ist völig anders als die von HTML.

2.1.1 Schriftart Zuerst werden wir die Schriften im Dokument festlegen. Dabei gilt es die Einschränkungen des Web zu beachten: welche Schriften auf dem Endgerät zur Verfügung stehen ist nicht bekannt, deswegen werden mehrere Schriften angegeben, diese Liste wird vom Browser von links nach rechts abgearbeitet, die erste Schrift die er findet verwendet er. In Zeile 2 bis 5 von Fehler! Verweisquelle konnte nicht gefunden werden. werden zwei Anweisungen für Fließtext gegeben (HTML-Tag

): die Schriftfamilie in Zeile 3 und die Schriftgröße in Zeile 4. In Zeile 3 Vergleichen Sie Zeile 3 mit Zeile 7: Schriftnamen die ein Leerzeichen enthalten müssen in Anführungszeichen gesetzt werden, wie „Trebuchet MS“ in Zeile 6. Das letzte Wort in Zeile 7 „sans-serif“ ist ein CSS-Kürzel für „irgendeine serifenlose Schrift“. Es empfiehlt sich am Ende einer Schriftliste ein solches Kürzel als Standardwert „wenn alle Stricke reißen“ anzugeben, dabei sind folgende Werte möglich: sans-serif serif cursive fantasy monospace.

MMT Webprogrammierung 1

25

2.1.2 Schriftgröße Die Schriftgrößen-Angabe in Zeile 4 verwendet Pixel als Maßeinheit. Diese Maßeinheit macht bei der Darstellung am Screen, besonders in Kombination mit Bildern Sinn.

2.1.3 Absätze Wie immer in HTML erfolgt der Zeilenumbruch automatisch. Mit CSS können Sie verschiedene Aspekte des Absatz-Layoutes steuern, einige davon sind in Abbildung 11 gezeigt:

Abbildung 11: Absatz mit CSS Formatanweisungen

Mit text-align können Sie die Ausrichtung des Texts im Absatz festlegen: left, right, center oder justify (Blocksatz). Blocksatz wird aber am Web wenig verwendet, da die Browser keine Silbentren-

nung durchführen. Dadurch entstehen bei den meisten Texten häßliche Löcher im Blocksatz. Die erste Zeile des Absatzes kann einen separaten Einzug haben, den Sie mit text-indent festlegen. Die Zeilenhöhe wird mit line-height festgelegt. Hier ist es sinnvoll für längere Texte einen etwas erhöhten Wert festzulegen (z. B. 1.5em – d.h. 1,5 mal die Breite des Buchstaben M in dieser Schrift) da die Standard-Darstellung der Browser etwas zu eng ist um gut lesbar zu sein.

2.1.4 CSS erforschen mit Firebug. Sie haben nun einen kurzen Einblick in die Schreibweise und die Möglichkeiten von Stylesheets. Genug um Stylesheets von Webseiten zu lesen um neue Möglichkeiten kennen zu lernen. Beim Lesen und Verstehen von CSS hilft das Firefox Add-On „Firebug“.

Rechtsklick + „Element untersuchen“ Zeigt die für diesen HTMLTag geltenden CSSAnweisungen

Zeigt HTMLCode des Elements

Abbildung 12: Firefox Add-On Firebug

MMT Webprogrammierung 1

2.2

26

Geschichte der Cascading Style Sheets

Von Anfang an sollte eine HTML-Datei keine Information darüber enthalten, wie der Text dargestellt werden soll - keine Schriftart oder Schriftgröße. HTML sollte nur strukturelle Information enthalten („das ist eine Überschrift“ aber nicht „Arial 24pt“). Die Formatierungs-Information sollte in sogenannten „Stylesheets“ gespeichert werden, das Format für die Stylesheets war aber noch nicht definiert. Im Jahre 1993 sah eine typische Webseite so aus

Das Studium

Studienziel ist es, breit gefächerte technische und kreative Kompetenzen...

Da es keine Stylesheets gab „erfand“ Netscape ab 1994 zusätzliche HTML-Tags, die die Darstellung der Webseite festlegen. Andere Browser übernahmen diese Tags von Netscape.

Das Studium

Studienziel ist es, breit gefächerte technische und kreative Kompetenzen...

Projekte und Praxissemster stellen schon während des Studiums die Verbindung...



Durch das Hinzufügen der Tags für Formatierung wurde der HTML-Code komplizierter und unübersichtlicher. Erst ab ab 1995 wurde endlich an den Standards für Stylesheets gearbeitet, seit den frühen 2000ern ist die Unterstützung in den gängigen Browsern vorhanden. So sieht nun eine HTMLSeite mit separatem Stylesheet aus: Die html-Datei

Die Datei fh. css



h1 { font-family: Arial; color: blue; } p:first-letter { font-size: large; }

Das Studium

Studienziel ist es, breit gefächerte technische und wirtschaftliche Kompetenzen...

Mit der Trennung von Stylesheet und HTML wurde HTML wieder einfacher und übersichtlicher. Besonders das nachträgliche Verändern der Gestaltung wurde vereinfacht. Wichtige Argumente für den Einsatz von Stylesheets sind: •

Zusätzliche Gestaltungsmöglichkeiten



Einheitliche Gestaltung von mehreren Webseiten

MMT Webprogrammierung 1 •

27

Arbeitsteilung zwischen DesignerInnen (die CSS erstellen) und RedakteuerInnen (die Inhalte erstellen)

Aber Achtung: CSS ist nicht die Lösung jedes Problems: •

Mit Stylesheets können Sie nur Elemente verändern, die schon in der HTML-Datei vorhanden sind. Es können keine neuen Elemente eingefügt werden.



Um ein Stylesheet zu erstellen, muss die DesignerIn die HTML-Tags kennen, z. B. wissen, dass h1, h2, h3 für die Überschriften stehen.



Damit das Stylesheet wirkt, muss die RedakteurIn, die das HTML-Dokument erstellt, die richtigen HTML-Tags verwenden, z. B. Überschriften wirklich mit h1, h2, h3 formatieren, und nicht mit b, i, font.

2.2.1

Stylesheet Syntax

Beispiel h1,h2 { font-family: Arial, Helvetica, sans-serif; color: lightblue; }

Selektor

body { margin-left: 150px; background-color: white; } p

Rule Deklaration Deklaration

{ text-align: justify; }

Eine Stylesheet-Regel („Rule“) besteht aus einem Selektor gefolgt von einer geschwungenen Klammer die eine oder mehrere Deklarationen enthalten kann. Der einfachste Selektor besteht aus dem Namen eines einzelnen HTML-Tags. Sie können auch mehrere Elemente durch ein Komma trennen. In diesem Falle werden für alle Elemente die selben Style Angaben definiert, (siehe h1,h2 in obigem Beispiel). Sie können beliebig Zeilenumbrüche einfügen, diese werden ignoriert.

Style für mehrere Seiten Die Seiten einer gesamten Website haben meist ein einheitliches Aussehen. Dies können Sie erreichen, wenn Sie für jede Webseite dieselbe CSS Datei verwenden. Dazu müssen Sie in jede HTMLDatei die CSS Datei mittels folgender Anweisung einbinden:

MMT Webprogrammierung 1

28



Diese Zeile sollte innerhalb des head Bereiches der HTML-Datei stehen (da sonst die Darstellung der Seite verzögert werden kann3). mysyle.css könnte etwa so aussehen wie im vorigen Beispiel.

Style für eine Seite Wenn Sie einen Style nur auf einer einzigen Webseite verwenden, können Sie die Style-Angaben direkt in die HTML-Datei schreiben, und zwar innerhalb des head Bereiches. <style> h1,h2 { font-family: Arial, Helvetica, sans-serif; color: lightblue }

Style für einen Tag Style Angaben können auch direkt in einen einzelnen HTML-Tag geschrieben werden. In diesem Fall gilt die Angabe nur für diesen ganz speziellen Tag. Um einen style für einen einzelnen Tag zu definieren, müssen Sie innerhalb des Tags das Attribut style verwenden.

Rote, zentrierte Überschrift



Gültigkeitsbereich einer Style Angabe Sie können innerhalb einer HTML-Datei sowohl eine externe Style Sheet Datei verwenden (eingebunden durch eine entsprechende Anweisung im head Bereich), als auch eine lokale Definition im head

Bereich angeben, als auch spezielle Angaben für einzelne Tags erstellen.

Was passiert nun, wenn die verschiedenen Style-Deklarationen sich widersprechen? Die Angaben bei einem einzelnen Tag haben immer Vorrang. danach folgen die lokalen Angabe im head Bereich und erst zum Schluß die externe Datei. „Je näher beim Tag, desto stärker wirkt es.“

2.2.2

Klassen, IDs, SPANs und DIVs

Wenn Sie mit den Style-Angaben den p-Tag umformatieren, betrifft das alle p-Tags in der Webseite. Oft möchten Sie aber ein oder zwei Absätze anders formatieren als die anderen Absätze. Zu diesem Zweck können Sie sich im Stylesheet noch weitere Formatvorlagen - sogenannte "Klassen" - definieren:

3

Siehe Souders, Steve (2007) High Performance Web Sites. O'Reilly. ISBN 9780596529307

MMT Webprogrammierung 1

29

.wichtig { color: red; }

Diesen Klassen können Sie eigene Namen geben (hier „wichtig“), vor dem Klassennamen steht immer ein Punkt. Jedem normalen HTML-Tag können Sie nun diese Klasse zuweisen. Dies geschieht mit dem Attribut class.

Eine ganz wichtige Meldung

Ein ganz wichtiger Absatz

Ein ganz normaler Absatz



Zur „normalen“ Wirkung des HTML-Tags kommt nun die Formatierung durch die Klasse hinzu: der Text „ganz wichtige“ und „Ein ganz wichtiger Absatz“ ist in diesem Beispiel also rot. Eine Klasse kann also mehrmals in einem Dokument verwendet werden. Zur eindeutigen Kennzeichnung von Tags wird das Attribut id verwendet:

Eine ganz wichtige Meldung

Ein ganz wichtiger Absatz

Das einzige Impressum dieser Seite



Auf diese eindeutigen IDs kann in CSS mit der Raute referenziert werden: #impressum { background-color: #DDD; }

Sowohl Klassen als auch IDs können mit Tags kombiniert werden um einen komplexen Selektor zu bilden, aber das macht nur bei Klassen wirklich Sinn: .wichtig { font-size: 20px; } /* alle Tags mit der Klasse wichtig */ p.wichtig { color: red; } /* nur der Tag p mit der Klasse wichtig */ b.wichtig { color: yellow; } /* nur der Tag b mit der Klasse wichtig */ #impressum { background-color:#ddd; } /* nur der Tag mit der id #impressum */ p#impressum { background-color:#ddd; } /* nur der p-Tag mit der id #impressum (gleich) */ b#impressum { background-color:#ddd; } /* nix! */

Die Firefox-Erweiterung Firebug zeigt Tags, Klassen und IDs in dieser Schreibweise an:

Es wird öfter vorkommen, dass Sie einem Bereich eine bestimmte Klasse zuweisen möchten, ohne dass ein passender Tag vorhanden ist. Hier können Sie die beiden Tags <span> und
verwenden, die beide selber kaum Eigenschaft aufweisen. <span> eignet sich für die Verwendung in Fließtext,
ist ein blockbildender Tag, erzwingt also einen Zeilenumbruch.

Es gibt hier ganz <span class="wichtig">besonders interessante Meldungen.



Die Worte „besonders interessante“ erscheinen rot.

2.2.3

Maßeinheiten in Stylesheets

Für Längen- und Größen-Angaben gibt es mehrere Maßeinheiten: px (Pixel) , em (=Breite des Buchstaben M) , ex (Höhe des Buchstaben X), % (Prozent), cm (Zentimeter), in (Inch). Einige davon sind relativ (em = relativ zur Schriftgröße, px = relativ zur Pixel-Größe am aktuellen Ausgabemedium), andere

MMT Webprogrammierung 1

30

absolut (Centimeter, Inch). Die absoluten Angaben kann man derzeit nur bei der Ausgabe auf Papier sinnvoll verwenden. Farbangaben können auf mehrer Arten erfolgen: mit einigen Farbwörtern (red, green,…) oder mit der Angabe von rot-, grün- und blau-Anteil (jeweils werte von 0 bis 255) in verschiedenen Schreibweisen: Dezimal rgb(16,0,255), hexadezimal #10F oder zweistellig hexadezimal #1000FF. Wird in einem Stylesheet auf eine URL verwiesen (z.B. auf die URL eines Hintergrundbildes), dann kommt die Schreibweise url(http://absolute.com/bild.gif) oder url(relativ/ bild.gif) zum Einsatz. Achtung: die relative URL bezieht sich auf das Stylesheet (nicht die HTML-Datei in der es verwendet wird).

Box Model Jeder blockbildende Tag (z. B. h1, h2, p, blockquote, div, …) hat einen Rahmen, Innen- und Außenabstand. Diese werden mit den Deklarationen border, padding und margin festgelegt. Ein Hintergrundbild und/oder eine Hintergrundfarbe des Tags reicht immer bis zum Rahmen, aber nicht darüber hinaus.

Abbildung 13: Darstellung des Box Models von hicksdesign.co.uk

Die Ausdehnung von margin, padding und border kann man besonders gut mit der FirefoxErweiterung Firebug erforschen wie in Abbildung 14 gezeigt.

MMT Webprogrammierung 1

31

Abbildung 14: margin, border, padding in FireBug

Dabei wird direkt in der Webseite der Aussenabstand (margin) gelb und der Innenabstand (padding) dunkelviolett hinterlegt. Die Standard-Darstellung von Absätzen erklärt sich über den margin-top und margin-bottom des

Tags:

Abbildung 15: Standard-Darstellung von Absätzen (

) im Browser

Farben, Hintergrundfarben, Hintergrundbilder Die Farbe des Textes wird mit color, die Hintergrundfarbe mit background-color gesetzt. Jeder Tag kann mittels CSS ein Hintergrundbild erhalten (background-image). Als „Hintergrundbild“ in einer Webseite kann jedes Bild in einem Web-geeigneten Dateiformat (gif, jpg, png) dienen. Das Bild wird einfach dargestellt oder „gekachelt“ –horizontal und vertikal so oft wiederholt, bis es die ganze Fläche des Tags ausfüllt (background-repeat). Abbildung 16 wurde ein Bild mit drei Zahnrädern als Hintergrundbild verwendet, durch die Wiederholung werden sieben Zahnräder angezeigt.

MMT Webprogrammierung 1

32

Abbildung 16: Beispiel für ein Hintergrundbild in einer Webseite

Bitte beachten Sie: Der Inhalt der Seite sollte trotz Hintergrundbild immer noch lesbar sein! Im Beispiel in Abbildung 16 ist eine Linkfarbe zu hell bzw. das Hintergrundbild zu auffällig: Der Text „wurde schon besucht“ in der letzten Zeile ist kaum noch lesbar.

Links formatieren Der -Tag wird in HTML für zwei sehr unterschiedliche Dinge verwendet: zum Setzen von Links und zum Setzen von Textmarken (auch ‚Anker’ genannt):

Universitäten

Uni Salzburg

Textmarken sind normalerweise unsichtbar, Links sind normalerweise blau oder violett und unterstrichen. Um die Darstellung von Links zu verändern muss man in CSS :link oder :visited als Selektoren verwenden. Der Browser unterscheidet dabei zwischen Links die schon einmal besucht wurden (visited) und neuen Links. a:link, a:visited { text-decoration: none; } a:link {color:blue} a:visited {color:#FF00FF }

Im folgenden Beispiel werden die Links mit einem Icon markiert: a:link, a:visited { background-image: background-position: background-repeat: padding-right: }

2.3

url(icon-link.gif); center right; no-repeat; 9px;

Graceful Degradability

Der englische Begriff ‚graceful degradability’ hat noch keine adequate deutsche Übersetzung, er bedeutet ungefähr: „funktioniert auch ohne … gut. “

MMT Webprogrammierung 1

33

Das dahinter stehende Prinzip lautet: für die verschiedenen Ausgabemedien sollen nicht verschiedene Versionen einer Webseite erstellt werden, sondern alle Ausgabemedien werden mit einem Dokument bedient. Wenn der Browser Javascript, Flash, CSS unterstützt, dann soll die Website besonders schön, interaktiv, praktisch sein. Wenn der Browser etwas nicht unterstützt, dann soll die Website immer noch lesbar und benutzbar bleiben.

Schlechtes Beispiel: Bild als Überschrift Um eine bestimmte Schriftart in der Überschrift der Seite zu garantieren wird ein Bild verwendet:

Das sieht zwar wie eine Überschrift aus – wenn das Bild geladen wird – die Information ist aber für eine Suchmaschine oder ein Braille-Ausgabegerät nicht lesbar. Für diese wäre folgender Code optimal:

Salzbuerger Nockerl



Mit Image Replacement kann man die optimale Darstellung für Suchmaschinen und Braille Ausgabegeräte mit der optimalen Darstellung als Bild kombinieren.

Gutes Beispiel: Image Replacement Der Text wird normal im HTML-Code eingegeben, es wird aber auch ein Bild in der richtigen Schriftart erstellt. Bei CSS-fähigen Browsern wird der Text versteckt und das Bild angezeigt. Browser ohne CSS und Suchmaschinen verwenden einfach den Text:

MMT Webprogrammierung 1

34

<style> h1#bildStattText { /* schiebt den "echten text" extrem weit nach links */ text-indent:-10000px; overflow:hidden; background: url(pix/nockerln_schriftzug.gif); /* hoehe und breite der grafik angeben! */ height:150px; width:500px; }

Salzburger Nockerln



Schlechtes Beispiel: Navigationsmenü mit Bildern Ein Navigationsmenü wird mit Tabellen und Bildern aufgebaut:


Wieder gilt: die Information ist für eine Suchmaschine oder ein Braille Ausgabegerät nicht lesbar. Für diese Ausgabemedien wären Links mit normalen Texten besser.