edition W3C.de

HTML 4.01-Spezifikation

Deutsche Übersetzung

Diese Version:
http://www.edition-w3.de/TR/1999/REC-html401-19991224
Aktuelle Version:
http://www.edition-w3c.de/TR/html4
Übersetzer:
Christine Kühnel (Übersetzung, fachliche Kommentierung) <kuehnel@screenexa.net>
Stefan Mintert (Fachlektorat und fachliche Kommentierung) <www.mintert.com/stefan/mail/>
Stefan Schumacher (Übersetzung, fachliche Kommentierung) <sts@schumacher-netz.de>

Bei diesem Dokument handelt es sich um eine Übersetzung eines W3C-Textes. Dieser Text ist urheberrechtlich geschützt; bitte beachten Sie die nachfolgenden Hinweise des Originaldokuments. Die Rechte an der Übersetzung liegen bei den Übersetzern und dem Verlag Addison-Wesley. Die Übersetzung hat keine durch das W3C legitimierte, normative Wirkung. Das einzige maßgebliche Dokument ist das englische Original.

Bitte senden Sie Fehler und Korrekturen zur deutschen Fassung an die Übersetzer.

Kommentare der Übersetzer, die als solche gekennzeichnet sind, unterliegen dem Urheberrecht der Übersetzer. Sie sind nicht Bestandteil des Ursprungsdokuments.

Diese Veröffentlichung ist eine Vorveröffentlichung. Kein Teil dieses Textes darf kopiert werden. Alle Rechte vorbehalten. Nach Abschluss der Arbeit wird das endgültige Dokument unter der oben angegebenen Adresse veröffentlicht. Die jetzige Veröffentlichung während der laufenden Arbeit dient zur Information von Interessierten und zur Prüfung durch die Fachöffentlichkeit. Sollten Sie Fehler finden oder Verbesserungsvorschläge haben, schicken Sie diese bitte per Mail an die Übersetzer.
Folgende Teile liegen noch in Englisch vor und müssen noch in deutscher Fassung generiert werden: (a) Gesamtinhaltsverzeichnis (b) Index


9 Text

Inhaltsverzeichnis

Die folgenden Abschnitte behandeln Fragen rund um die Strukturierung von Text. Elemente, die Text darstellen (Ausrichtungselemente, Font-Elemente, Stylesheets und so weiter) werden an anderen Stellen der Spezifikation behandelt (siehe Abschnitte 14 und 15). Informationen zu Zeichen finden Sie im Abschnitt 5.1, »Der Dokumentzeichensatz«.

9.1 Leeraum (white space)

Der Dokumentzeichensatz enthält ein großes Spektrum von Leerraumzeichen (white space characters). Viele davon sind typographische Elemente und werden in einigen Anwendungen benutzt, um spezielle Abstand-Wirkungen zu erzielen. In HTML sind nur die folgenden Zeichen als Leerraumzeichen definiert:

Zeilenwechsel (siehe Abschnitt 9.3.2) sind ebenfalls Leerraumzeichen. Beachten Sie, dass in [ISO10646] auch &#x2028; und &#x2029; definiert sind, um Zeilen bzw. Absätze eindeutig zu trennen, diese lösen in HTML keinen Zeilenwechsel aus, die Spezifikation nimmt sie auch nicht in eine allgemeinere Kategorie von Leerraumzeichen auf.

Diese Spezifikation gibt kein Verhalten bezüglich Darstellung oder Sonstigem für andere Abstandszeichen (space characters) als die explizit benannten Leerraumzeichen vor. Aus diesem Grund sollten Autoren zur Erzielung visueller Formatierungen, die Leerräume beinhalten, geeignete Elemente und Stile den Leerzeichen vorziehen.

Folgen von Leerräumen trennen für alle HTML-Elemente außer PRE»Worte« (wir verwenden den Begriff »Wort« (»word«) hier für »Folgen von Nicht-Leerraumzeichen«). Bei der Formatierung von Text sollten Benutzerprogramme diese Worte erkennen und so anordnen, wie es für die spezielle geschriebene Sprache (Schrift) und das Zielmedium üblich ist.

Dieses Layout kann beinhalten, dass Worte durch Abstände getrennt werden (genannt Wortzwischenraum) (inter-word space); die Konventionen für Wortzwischenräume variieren jedoch von Schrift zu Schrift. Zum Beispiel wird in lateinischen Schriften Wortzwischenraum üblicherweise als ASCII-Leeraum (&#x0020;) dargestellt, während es in Thai ein Wordtrenner mit Null-Breite (&#x200B;) ist. In japanischer und chinesischer Schrift wird Wortzwischenraum überhaupt nicht besonders dargestellt.

Beachten Sie, dass eine Folge von Leerräumen zwische Worten im Quelldokument völlig unterschiedliche Darstellungen des Wortzwischenraumes ergeben kann (außer beim PRE-Element). Insbesondere sollten Benutzerprogramme eingelesene Leerraumfolgen bei der Erzeugung des Wortzwischenraumes für die Ausgabe reduzieren (collapse). Das kann und soll sogar bei fehlender Sprachinformation (aus dem lang-Attribute, dem HTTP-»Content-Language«-Header-Feld (siehe [RFC2616], Abschnitt 14.12), Einstellungen im Benutzerprogramm und so weiter) erfolgen.

Das PRE-Element wird für vorformatierten Text (preformatted text) verwendet, in dem Leeräume signifikant sind (siehe Abschnitt 9.3.4).

Um Probleme mit SGML-Regeln für Zeilenumbruch (SGML line break rules) und Inkonsistenzen zwischen bestehenden Implementationen zu vermeiden, sollten Autoren sich nicht darauf verlassen, dass Benutzerprogramme Leeraum unmittelbar nach einem Start-Tag oder direkt vor einem End-Tag anzeigen (siehe auch Abschnitt »Zeilenumbrüche« in Anhang B). So sollten Autoren und insbesondere Autorenwerkzeuge schreiben:

  <P>Wir bieten kostenlosen <A>technischen Support</A> für Abonnenten.</P>

Und nicht etwa:

  <P>Wir bieten kostenlosen<A> technischen Support </A>für Abonnenten.</P>

9.2 Strukturierter Text

9.2.1 Inzeilige Elemente (phrase elements): EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR und ACRONYM

<!ENTITY % phrase "EM | STRONG | DFN | CODE |
                   SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
<!ATTLIST (%fontstyle;|%phrase;)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Start-Tag: erforderlich, End-Tag: erforderlich

An anderer Stelle definierte Attribute

Inzeilige Elemente geben Textfragmenten Strukturinformationen. Die gebräuchlichen Bedeutungen der inzeiligen Elemente sind:

EM:
Kennzeichnet Betonungen.
STRONG:
Kennzeichnet stärkere Betonungen.
CITE:
Enthält ein Zitat aus anderen Quellen beziehungsweise eine Referenz auf andere Quellen.
DFN:
Kennzeichnet die definierende Instanz des eingeschlossenen Terms.
CODE:
Kennzeichnet einen Auszug aus Computer-Code.
SAMP:
Kennzeichnet ein Ausgabebeispiel von Programmen, Skripten und so weiter
KBD:
Kennzeichnet vom Benutzer eingegebenen Text.
VAR:
Kennzeichnet eine Instanz einer Variablen oder eines Programm-Arguments.
ABBR:
Kennzeichnet eine Abkürzung (zum Beispiel WWW, HTTP, URI und so weiter).
ACRONYM:
Kennzeichnet ein Akronym (zum Beispiel WAC, Radar und so weiter).

EM und STRONG werden benutzt, um Betonungen zu kennzeichnen. Die anderen Wortgruppen-Elemente haben insbesondere in technischen Dokumenten Bedeutung. Diese Beispiele veranschaulichen einige der Wortgruppen-Elemente:

As <CITE>Harry S. Truman</CITE> said,
<Q lang="en-us">The buck stops here.</Q>

Weitere Informationen finden Sie in <CITE>[ISO-0000]</CITE>.

Geben Sie bitte folgende Bearbeitungsnummer 
an: <STRONG>1-234-55</STRONG>

Die Darstellung der Wortgruppen-Elemente ist abhängig vom Benutzerprogramm. Im Allgemeinen stellen visuelle Benutzerprogramme EM-Text kursiv und STRONG-Text fett dar. Benutzerprogramme mit Sprachsynthesizer können die Syntheseparameter wie etwa Lautstärke, Tonhöhe und Tempo entsprechend ändern.

Das ABBR- und das ACRONYM-Element gestatten es Autoren, Abkürzungen und Akronyme deutlich zu kennzeichnen. Westliche Sprachen machen intensiven Gebrauch von Akronymen wie »GmbH«, »NATO« und »F.B.I.« ebenso wie von Abkürzungen wie »M.«, »Inc.«, »et al.«, »etc.«. Sowohl chinesisch als auch japanisch verwenden analoge Abkürzungsmechanismen, in denen ein langer Name später durch einen Teil der Han-Zeichen des vollständigen Namens repräsentiert wird. Die Auszeichnung dieser Konstrukte liefert nützliche Informationen für Benutzerprogramme und Tools wie Rechtschreibkontrollen, Sprachsynthesizer, Übersetzungssysteme und Indexierer von Suchmaschinen.

Der Inhalt des ABBR- bzw. ACRONYM-Elements spezifiziert den Abkürzungsausdruck selbst, so, wie er normal im Fließtext erscheinen würde. Das title-Attribut dieser Elemente kann verwendet werden, um die Langform des Ausdrucks anzubieten.

Beispiele für die Verwendung von ABBR sind:

  <P>
  <ABBR title="World Wide Web">WWW</ABBR>
  <ABBR lang="fr"
        title="Soci&eacute;t&eacute; Nationale des Chemins de Fer">
     SNCF
  </ABBR>
  <ABBR lang="es" title="Do&ntilde;a">Do&ntilde;a</ABBR>
  <ABBR title="Abbreviation">abbr.</ABBR>

Anmerkung der Übersetzer:

Das title-Attribut von ACRONYM-Elementen wird von Web-Browsern zum Beispiel dazu benutzt, die Langform des Akronyms als Tooltip anzuzeigen, sobald der Mauszeiger über dem Akronym steht. Außerdem werden solche Akronyme gelegentlich auch punktiert unterstrichen. Nachfolgend ein Beispiel von der W3C-Site und die Darstellung im Mozilla. Der punktierte Unterstrich ist hier kaum erkennbar, weil das Akronym gleichzeitig ein unterstrichener Link ist.

<acronym title="Document Object Model">DOM</acronym>
Titel-Attribut vom acronym-element

Beachten Sie, dass Abkürzungen und Akronyme oft ihre eigene gesprochene Form haben. Zum Beispiel werden »IRS« und »BBC« im allgemeinen Buchstabe für Buchstabe gesprochen und »NATO« und »UNESCO« phonetisch. Wieder andere abgekürzte Formen (zum Beispiel »URI« and »SQL«) werden von einigen buchstabiert und von anderen als Worte gesprochen. Wenn notwendig, sollten Autoren Stylesheets verwenden, um die Aussprache der abgekürzten Form anzugeben.

9.2.2 Zitate: Das BLOCKQUOTE- und das Q-Element

<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
<!ATTLIST BLOCKQUOTE
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI for source document or msg --
  >
<!ELEMENT Q - - (%inline;)*            -- short inline quotation -->
<!ATTLIST Q
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI for source document or msg --
  >

Start-Tag: erforderlich, End-Tag: erforderlich

Attributdefinitionen

cite = uri [CT]
Der Wert dieses Attributs ist ein URI, der ein Quelldokument oder eine Nachricht kennzeichnet. Der Sinn dieses Atrributs besteht darin, Informationen über die Quelle, aus der das Zitat entnommen wurde, zu geben.

An anderer Stelle definierte Attribute

Diese beiden Elemente kennzeichnen zitierten Text.BLOCKQUOTE ist vorgesehen für lange Zitate (Block-Level-Inhalt) und Q für kurze Zitate, der keine Absatzwechsel erfordert (inzeiliger Inhalt).

Dieses Beispiel zeichnet einen Auszug aus »Die zwei Türme« von J.R.R. Tolkien als BLOCKQUOTE aus.

<BLOCKQUOTE cite="http://www.mycom.com/tolkien/twotowers.html">
<P>Einer hinter dem anderen liefen sie wie Jagdhunde auf einer 
frischen Fährte, und ihre Augen leuchteten vor Ungeduld. Fast genau 
nach Westen hatten die marschierenden Orks ihre häßliche, breite Spur 
getrampelt; das duftige Gras von Rohan war zertreten und schwarz 
geworden, als sie vorübergingen.</P>
</BLOCKQUOTE>

Darstellung von Zitaten 

Visuelle Benutzerprogramme stellen BLOCKQUOTE im Allgemeinen als eingerückten Block dar.

Visuelle Benutzerprogramme müssen sicherstellen, dass der Inhalt des Q-Elements mit begrenzenden Anführungszeichen dargestellt wird. Autoren sollten am Anfang und am Ende des Inhalts eines Q-Elements keine Anführungszeichen schreiben.

Anmerkung der Übersetzer:

Leider sind nicht alle zur Zeit gängigen Browser dazu in der Lage. In folgendem Beispielcode ignorieren einige »Q« vollständig.

<H3>&Uuml;ber das Leben</H3>
<DL>
   <DT>Erich Fromm</DT>
   <DD>
   <Q>Leben bedeutet st&auml;ndige Ver&auml;nderung, 
   immerw&auml;hrende Geburt. Tod bedeutet Aufh&ouml;ren des Wachstums, 
   Verkn&ouml;cherung, Wiederholung.</Q>
   </DD>
   <DT>Antoine de Saint-Exup&eacute;ry</DT>
   <DD>
   <Q LAN="fr">Leben hei&szlig;t langsam Geborenwerden. 
   Es w&auml;re allzu bequem, fixfertige Seelen auszuleihen.</Q>
   </DD>
</DL>

So könnte der Codeschnipsel widergegeben werden:

korrekte Q-Darstellung in Mozilla

Diese Darstellung ist inkorrekt:

inkorrekte Q-Darstellung im IE unter Win

Benutzerprogramme sollten Anführungszeichen in der sprachspezifischen Art darstellen (siehe lang-Attribut). Viele Sprachen wählen unterschiedliche Zitierstile für äußere und innere (eingeschlossene) Zitate, die von Benutzerprogrammen respektiert werden sollten.

Anmerkung der Übersetzer:

Vergleichen Sie zu diesem Thema auch den Abschnitt 12.4 in der CSS2-Spezifikation.

Das folgende Beispiel zeigt eingeschlossene Zitate mit dem Q-Element.

John said, <Q lang="en-us">I saw Lucy at lunch, she told me
<Q lang="en-us">Mary wants you
to get some ice cream on your way home.</Q> I think I will get
some at Ben and Jerry's, on Gloucester Road.</Q>

Da die Sprache beider Zitate »American English« ist, sollten Benutzerprgramme sie entsprechend rendern, zum Beispiel durch einfache Anführungszeichen für das innere Zitat und doppelte Anführungszeichen für das äußere Zitat:

  John said, "I saw Lucy at lunch, she told me 'Mary wants you
  to get some ice cream on your way home.' I think I will get some
  at Ben and Jerry's, on Gloucester Road."

Anmerkung der Übersetzer:

Diese »Hürde« bewältigen leider noch weniger der derzeit gebräuchlichen Browser. Auch diejenigen, die Anführungszeichen für Zitate setzen, berücksichtigen das lang-Attribut dabei meistens nicht.

So sollte es aussehen:

korrekte Anzeige lang-Attribut in Q im IE/Mac

Anmerkung: Wir empfehlen, dass Stylesheet-Implementationen einen Mechanismus für das Einsetzen von Anführungszeichen vor und nach einem durch BLOCKQUOTE begrenzten Zitat anbieten, der der aktuellen Sprache und dem Grad der Verschachtelung entspricht.

Weil jedoch einge Autoren BLOCKQUOTE lediglich als Mechanismus zum Einrücken von Text benutzt haben, sollten Benutzerprogramme, um die Absicht der Autoren zu wahren, im Standard-Style keine Anführungszeichen einsetzen.

Die Verwendung von BLOCKQUOTE für das Einrücken von Text ist zu Gunsten von Stylesheets missbilligt.

9.2.3 Hoch- und Tiefstellen, das SUB- und das SUP-Element

<!ELEMENT (SUB|SUP) - - (%inline;)*    -- subscript, superscript -->
<!ATTLIST (SUB|SUP)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Start-Tag: erforderlich, End-Tag: erforderlich

An anderer Stelle definierte Attribute

Viele Schriften (zum Beispiel französisch) erfordern Hoch- oder Tiefstellungen für eine saubere Darstellung. Um Text in solchen Fällen auszuzeichnen, sollten das SUB- und das SUP-Element benutzt werden.

      H<SUB>2</SUB>O
      E = mc<SUP>2</SUP>
      <SPAN lang="fr">M<SUP>lle</SUP> Dupont</SPAN>

Anmerkung der Übersetzer:

So könnte eine korrekte Darstellung in einem visuellen Benutzerprogramm aussehen:

Hoch- und Tiefstellen

9.3 Zeilen und Absätze

Traditionell teilen Autoren ihre Gedankengänge in Abschnitte und Absätze auf. Die Gliederung von Informationen in Absätze wird nicht von ihrer Art der Darstellung beeinflusst: Absätze im Blocksatz enthalten dieselben Gedanken wie links ausgerichtete.

Die HTML-Auszeichnung, um einen Absatz zu definieren, ist unkompliziert: das P-Element definiert einen Absatz.

Die visuelle Präsentation von Absätzen ist nicht so einfach. Eine Anzahl von Punkten, sowohl stilistische als auch technische, muss beachtet werden:

Wir wenden uns diesen Fragen im Folgenden zu. Absatzausrichtung und gleitende Objekte (floating objects) werden später in diesem Dokument behandelt.

9.3.1 Absätze: das P-Element

<!ELEMENT P - O (%inline;)*            -- paragraph -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Start-Tag: erforderlich, End-Tag: optional

An anderer Stelle definierte Attribute

Das P-Element repräsentiert einen Absatz. Es kann keine Block-Level-Elemente enthalten (einschließlich P selbst).

Wir raten Autoren von der Verwendung leerer P-Elemente ab. Benutzerprogramme sollten leere P-Elemente ignorieren.

9.3.2 Zeilenumbrüche kontrollieren

Ein Zeilenumbruch ist definiert als Wagenrücklauf (carriage return, &#x000D;), ein Zeilenvorschub (line feed, &#x000A;) oder ein Wagenrücklauf/Zeilenvorschub-Paar. Alle Zeilenumbrüche sind Leerraum.

Mehr Informationen über die Spezifikation von Zeilenumbrüchen in SGML finden Sie in Anhang B unter »Zeilenumbrüche«.

Erzwingen eines Zeilenumbruchs: das BR-Element 

<!ELEMENT BR - O EMPTY                 -- forced line break -->
<!ATTLIST BR
  %coreattrs;                          -- id, class, style, title --
  >

Start-Tag: erforderlich, End-Tag: verboten

An anderer Stelle definierte Attribute

Das BR-Element bricht (beendet) zwingend die aktuelle Textzeile um.

Für visuelle Benutzerprogramme kann das clear-Attribut verwendet werden, um zu bestimmen, ob dem BR-Element folgender Inhalt um am linken oder rechten Rand ausgerichtete Bilder und andere Objekte fließt oder ob es unterhalb solcher Objekte beginnt. Weitere Details zu Ausrichtung und gleitenden Objekten sind in Abschnitt 15, »Formatierung« zu finden. Autoren wird geraten, Stylesheets zu verwenden, um den Textfluss um gleitende Objekte zu steuern.

Mit Rücksicht auf bidirektionale Formatierung sollte sich das BR-Element verhalten wie das Zeichen[ISO10646] LINE SEPARATOR im Bidirektionalalgorithmus.

Zeilenumbruch verhindern 

Manchmal wollen Autoren verhindern, dass ein Zeilenumbruch zwischen zwei Worten erscheint. Das &nbsp;-Entity (&#160; oder &#xA0;) fungiert als Zwischenraum, an dem Benutzerprogramme keinen Zeilenumbruch veranlassen.

9.3.3 Silbentrennung

In HTML gibt es zwei Typen von Trennzeichen: den normalen Trennstrich und das weiche Trennzeichen (soft hyphen). Der normale Trennstrich sollte von den Benutzerprogrammen wie jedes andere Zeichen behandelt werden. Das weiche Trennzeichen zeigt dem Benutzerprogramm wo, ein Zeilenumbruch auftreten kann.

Diejenigen Browser, die weiche Trennzeichen interpretieren, müssen folgende Semantik beachten: Wenn eine Zeile an einem weichen Trennzeichen umgebrochen wird, muss ein Trennstrich am Ende der ersten Zeile stehen. Wenn eine Zeile an einem weichen Trennzeichen nicht umgebrochen wird, darf das Benutzerprogramm keinen Trennstrich ausgeben. Bei Operationen wie Suchen und Sortieren sollte das weiche Trennzeichen immer ignoriert werden.

In HTML wird der normale Trennstrich durch das »-«-Zeichen (&#45; or &#x2D;) repräsentiert. Das weiche Trennzeichen wird repräsentiert durch die Zeichen-Entity-Referenz &shy; (soft hyphen, &#173; oder &#xAD;)

Anmerkung der Übersetzer:

Hier ein Beispiel zur Illustration:

<P>Ein Beispiel für Silben&shy;trennung</P>

Die korrekte Widergabe sollte so erfolgen:

9.3.4 Vorformatierter Text: Das PRE-Element

<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">

<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
<!ATTLIST PRE
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Start-Tag: erforderlich, End-Tag: erforderlich

Attributdefinitionen

width = number [CN]
Missbilligt. Dieses Attribut bietet visuellen Benutzerprogrammen einen Hinweis über die gewünschte Breite des formatierten Blocks. Das Benutzerprogramm kann diese Information nutzen, um eine passende Schriftgröße zu wählen oder um den Inhalt entsprechend einzurücken. Die gewünschte Breite wird ausgedrückt in Anzahl von Zeichen. Dieses Attribut wird gegenwärtig nicht umfassend unterstützt.

An anderer Stelle definierte Attribute

Das PRE-Element sagt visuellen Benutzerprogrammen, dass der enthaltene Text »vorformatiert«. ist.

Bei der Behandlung vorformatierten Textes können Benutzerprogramme Folgendes tun:

Bei der Behandlung vorformatierten Textes dürfen Benutzerprogramme die Durchführung des Bidirektionalalgorithmus jedoch nicht verhindern. Nicht-visuelle Benutzerprogramme müssen zusätzlichen Leerraum im Inhalt eines PRE-Elements nicht berücksichtigen.

Mehr Informationen über die Spezifikation von Zeilenumbrüchen in SGML finden Sie im Anhang B unter »Zeilenumbrüche«.

Der obenstehende DTD-Auszug zeigt an, welche Elemente nicht innerhalb einer PRE-Deklaration stehen können. Dies ist dasselbe wie in HTML 3.2 und dafür bestimmt, konstante Zeilenabstände und Spaltenausrichtung für in Festbreitenschrift gerenderten Text zu erhalten. Autoren wird abgeraten, dieses Verhalten durch Stylesheets zu verändern.

Das folgende Beispiel zeigt eine vorformatierten Strophe aus dem Gedicht »To a Skylark« von Shelley:

<PRE>
       Higher still and higher
         From the earth thou springest
       Like a cloud of fire;
         The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
</PRE>

So wird er im Allgemeinen dargestellt:

       Higher still and higher
         From the earth thou springest
       Like a cloud of fire;
         The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.

Das Zeichen »Horizontaler Tabulator«
Der horizontale Tabulator (dezimal 9 in [ISO10646] und [ISO88591] ) wird durch visuelle Benutzerprogramme wie folgt interpretiert: Es ist die kleinste, positive Anzahl von Leerzeichen, die notwendig sind, um Zeichen an Tabulatoren auszurichten, die je acht Zeichen voneinander entfernt sind. Wir empfehlen nachdringlich, auf die Verwendung von horizontalen Tabulatoren in vorformatiertem Text zu verzichten. Es ist gängige Praxis, die Tabulatorweite zu verändern, was dann zu schlecht ausgerichteten Dokumenten führen kann.

9.3.5 Visuelle Darstellung von Absätzen

Anmerkung: Der folgende Abschnitt ist eine informelle Beschreibung des Verhaltens einiger gegenwärtiger visueller Benutzerprogramme bei der Formatierung von Absätzen. Stylesheets erlauben bessere Kontrolle der Absatzformatierung.

Wie Absätze visuell gerendert werden, ist abhängig vom Benutzerprogramm. Absätze weren üblicherweise linksbündig mit Flatterrand rechts gerendert. Andere Standards sind zu von rechts nach links lesbaren Schriften passend.

HTML-Benutzerprogramme haben Absätze traditionell mit Abstand davor und danach dargestellt, zum Beispiel:

  At the same time, there began to take form a system of numbering,
  the calendar, hieroglyphic writing, and a technically advanced
  art, all of which later influenced other peoples.

  Within the framework of this gradual evolution or cultural
  progress the Preclassic horizon has been divided into Lower,
  Middle and Upper periods, to which can be added a transitional
  or Protoclassic period with several features that would later
  distinguish the emerging civilizations of Mesoamerica.

Dies steht im Gegensatz zum in Romanen verwendeten Stil, der die erste Zeile eines Absatzes einrückt und zwischen der letzten Zeile des aktuellen Absatzes und der ersten Zeile des folgenden den normalen Zeilenabständ verwendet, zum Beispiel:

     At the same time, there began to take form a system of
  numbering, the calendar, hieroglyphic writing, and a technically
  advanced art, all of which later influenced other peoples.
     Within the framework of this gradual evolution or cultural
  progress the Preclassic horizon has been divided into Lower,
  Middle and Upper periods, to which can be added a transitional
  or Protoclassic period with several features that would later
  distinguish the emerging civilizations of Mesoamerica.

Dem ursprünglichen Satzstil des NCSA Mosaic-Browsers von 1993 folgend richten Benutzerprogramme im Allgemeinen nicht beide Ränder aus, zum Teil weil das ohne anspruchsvolle Silbentrennungsroutinen schwer effektiv zu realisieren ist. Das Auftauchen von Stylesheets und von geglätteten Schriften mit Sub-Pixel-Positionierung wird HTML-Autoren vermutlich mehr Möglichkeiten an die Hand geben, als sie zuvor besaßen.

Stylesheets bieten weitgehende Kontrolle über Größe und Stil einer Schrift, über Ränder, Abstände vor und nach einem Absatz, Einrückung der ersten Zeile, Ausrichtung und viele andere Details. Das Standard-Stylesheet des Benutzerprogramms formatiert P-Elemente auf vertraute Art, wie oben beschrieben. Man könnte das im Prinzip so überschreiben, dass Absätze ohne die Zwischenräume, die üblicherweise aufeinanderfolgende Absätze trennen, dargestellt werden. Weil das Leser verwirren kann, raten wir gemeinhin von dieser Praxis ab.

Es ist eine gängige Konvention, dass visuelle HTML_Benutzerprogramme Textzeilen umbrechen, um sie innerhalb der verfügbaren Ränder einzupassen. Der Algorithmus für den Umbruch hängt von der zu formatierenden Schrift (script) ab.

In westlichen Schriften zum Beispiel sollte Text nur an Lerräumen (white space) umgebrochen werden. Frühere Benutzerprogramme haben Zeilen inkorrekt genau hinter dem Start-Tag oder genau vor dem End-Tag eines Elements umgebrochen, was zu hängender Interpunktion führte. Betrachten Sie zum Beispiel diesen Satz:

   Eine Statue des <A href="cih78">Cihuateteus</A>, dem Patron ...

Wird die Zeile genau vor dem End-Tag des A-Elements umgebrochen, führt das dazu, dass das Komma an den Anfang der nächsten Zeile rutscht:

  Eine Statue des Cihuateteus
  , dem Patron ...

Das ist ein Fehler, da im Markup an dieser Stelle kein Leerraum steht.

9.4 Kennzeichnen von Dokumentänderungen: Das INS- und das DEL-Element

<!-- INS/DEL are handled by inclusion on BODY -->
<!ELEMENT (INS|DEL) - - (%flow;)*      -- inserted text, deleted text -->
<!ATTLIST (INS|DEL)
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- info on reason for change --
  datetime    %Datetime;     #IMPLIED  -- date and time of change --
  >

Start-Tag: erforderlich, End-Tag: erforderlich

Attributdefinitionen

cite = uri [CT]
Der Wert dieses Attributs ist ein URI, der ein Quelldokument oder eine Nachricht kennzeichnet. Der Sinn dieses Attributs besteht darin, Informationen über die Quelle, aus der das Zitat entnommen wurde, zu geben.
datetime = datetime [CS]
Der Wert dieses Attributs gibt Datum und Zeit des Zeitpunkts der Änderung an.

An anderer Stelle definierte Attribute

INS und DEL werden verwendet, um Abschnitte eines Dokuments auszuzeichnen, die gegenüber einer anderen Versionen des Dokuments eingefügt oder gelöscht wurden (zum Beispiel bei Gesetzentwürfen, bei denen der Gesetzgeber die Änderungen erkennen muss).

Diese beiden Elemente sind außergewöhnlich für HTML, können entweder als Block-Level- oder inzeilige Elemente dienen (jedoch nicht beides). Sie können ein oder mehr Worte innerhalb eines Absatzes enthalten oder ein oder mehr Block-Level-Elemente wie Absätze, Listen und Tabellen.

Dieses Beispiel könnte aus einem Gesetzentwurf stammen, der die Gesetzgebung darüber, wie viele Stellvertreter ein Bürgermeister einsetzen kann, von drei auf fünf ändert.

<P>
  Ein Bürgermeister kann <DEL>3</DEL><INS>5</INS> 
  Stellvertreter bestimmen.
</P>

Das INS- und das DEL-Element dürfen keinen Block-Level-Inhalt haben, wenn diese Elemente als als inzeilige Elemente fungieren.

UNGÜLTIGES BEISPIEL:
Das Folgende ist kein gültiges HTML:

<P>
<INS><DIV>...Block-Inhalt...</DIV></INS>
</P>

Benutzerprogramme sollten eingefügten und gelöschten Text so darstellen, dass die Änderung deutlich wird. Zum Beispiel kann eingefügter Text in spezieller Schrift erscheinen, gelöschter Text kann gar nicht gezeigt oder durchgestrichen oder mit speziellen Markierungen versehen werden und so weiter.

Anmerkung der Übersetzer:

Eine mögliche Präsentation des Beispiels von oben ist folgende:

ins del

Die beiden folgenden Beispiele passen auf »November 5, 1994, 8:15:30 am, US Eastern Standard Time.«

     1994-11-05T13:15:30Z
     1994-11-05T08:15:30-05:00

Bei Benutzung von INS ergibt:

<INS datetime="1994-11-05T08:15:30-05:00"
        cite="http://www.foo.org/mydoc/comments.html">
Furthermore, the latest figures from the marketing department
suggest that such practice is on the rise.
</INS>

Das Dokument »http://www.foo.org/mydoc/comments.html« würde Kommentare dazu enthalten, warum die Information in das Dokument eingefügt wurde.

Autoren können eingefügten oder gelöschten Text auch mittels title-Attribut für das INS- und DEL-Element kommentieren. Benutzerprogramme können dem Benutzer diese Information präsentieren (zum Beispiel als Popup-Note). Ein Beispiel:

<INS datetime="1994-11-05T08:15:30-05:00"
        title="Changed as a result of Steve B's comments in meeting.">
Furthermore, the latest figures from the marketing department
suggest that such practice is on the rise.
</INS>