Noot (1999-11-11): tegenwoordig heeft PNG de voorkeur vanwege patentproblemen met GIF (Unisys).
HTML (HyperText Markup Language) is de opmaaktaal voor documenten op het World Wide Web (WWW). In september 1995 was er een zgn. Internet Draft [1] die een stabiele HTML standaard bleek te zijn (versie 2.0). Het Abstract hieruit geeft duidelijk weer wat HTML is:
RGD HTML documenten zullen voor het grootste gedeelte deze standaard volgen, maar ook enkele zgn. Netscape extensies [4] gebruiken, die alle terug zijn te vinden in de HTML versie 3.2 draft [2] ("Wilbur").The Hypertext Markup Language (HTML) is a simple markup language used to create hypertext documents that are platform independent. HTML documents are SGML documents with generic Semantics that are appropriate for representing information from a wide range of domains. HTML markup can represent hypertext news, mail, documentation, and hypermedia; menus of options; database query results; simple structured documents with in-lined graphics; and hypertext views of existing bodies of information.
HTML has been in use by the World Wide Web (WWW) global information initiative since 1990. This specification roughly corresponds to the capabilities of HTML in common use prior to June 1994. HTML is an application of ISO Standard 8879:1986 Information Processing Text and Office Systems; Standard Generalized Markup Language (SGML).
The `text/html' Internet Media Type (RFC 1590) and MIME Content Type (RFC 1521) is defined by this specification.
;-)
.
Netscape is een zgn. WWW browser: een browser is een WWW client
applicatie waarmee WWW documenten, afkomstig van een zgn. WWW server,
gelezen kunnen worden. Netscape is de meest populaire browser.
Volgens schattingen gebruikt zo'n 75% van de Internet surfers Netscape.
De zorgvuldige keuze van een aantal toegestane extensies is gedaan om
enerzijds fraai vormgegeven documenten te kunnen maken en anderszijds
toch in redelijke mate te voldoen aan de standaard. Dit laatste is
natuurlijk wenselijk i.v.m. goede onderhoudbaarheid van de documenten
en de leesbaarheid door andere WWW browsers als Netscape.
Hierbij zijn nog de volgende feiten van belang:
Op grond van het bovenstaande is een zorgvuldige RGD HTML standaard geformuleerd.
HTML pagina's ontwikkeld op de RGD zullen grotendeels aan de 2.0 standaard voldoen [1]. Uitzonderingen worden hier beschreven en de rationale daarvan.
Alle huidige WWW browsers ondersteunen HTML 2.0, ook Netscape 1.1 (en hoger).
Netscape wordt de WWW browser voor de RGD.
HTML 2.0 ontbeert echter vele presentatie elementen die wel in versie 3.2
[2]
zijn te vinden en m.n. voor de vormgeving van WWW pagina's belangrijk zijn.
Een aantal elementen, maar zeker niet alle, uit 3.0 werden reeds in
Netscape ondersteund (hoewel soms anders). Bovendien heeft Netscape eigen
toevoegingen aan HTML die door andere browsers, zoals het nog steeds
veelgebruikte Mosaic of Lynx (karaktergeörienteerd) in het gunstigste
geval genegeerd worden maar soms ook tot vervelende resultaten kunnen leiden
in de presentatie van een WWW document.
HTML is nog erg in beweging, tot grote frustatie van fabrikanten als Netscape (initiator overigens van een aantal veranderingen) die nieuwe markup's implementeren die dan weer in een nieuwe versie van de specificatie veranderd zijn of zelfs verdwenen. Dit geeft ook het dilemma aan voor de RGD: aan de ene kant willen we WWW documenten volgens "standaard" HTML (onderhoudbaarheid pagina's, brede toegankelijkheid publiek), aan de andere kant willen we dat ze, mede door mooie vormgeving, opvallen (gebruikersvriendelijkheid, klantbinding). Referentie [3] geeft goede achtergrond informatie over het "HTML-standaard dilemma".
Omdat de 2.0 draft echter duidelijke aanwijzingen geeft hoe 2.0 browsers moeten omgaan met onbekende markup elementen en attributen (bv. 3.2 of Netscape specifieke) valt toch een duidelijke voorlopige RGD HTML standaard vast te stellen. die wordt in de volgende paragraaf beschreven aan de hand van een checklist.
In het zeer goede en complete Internet Handboek ([5]) van Jeroen Vanheste wordt in hoofdstuk 17 ook uitgebreid ingegaan op "correcte HTML". Zogenaamde HTML validatoren worden in de Checklist (2.3.3) genoemd.
In deze paragraaf wordt een volledige checklist gegeven van punten waaraan de HTML pagina's op de RGD WWW server dienen te voldoen. Ze zijn verdeeld in een aantal secties. De sectie "Inhoudelijk" is vooral van belang voor de webeditor, de overige gelden meer voor de webdesigner.
3.1 Inhoudelijk
De eindverantwoordelijke (webeditor, webeditor@rgd.nl) dient bij accordering op de volgende punten te letten. De HTML documenten bevatten:
3.2 Trefwoorden
Bij de keuze van geschikte sleutelwoorden kan de analogie met de publicatie
van een artikel in een wetenschappelijk tijdschrift gemaakt worden, waar men
immers onder de Summary vaak Keywords ziet.
De gebruiker dient in overleg met de bibliotheek
(bibliotheek@rgd.nl)
sleutelwoorden op te nemen in het HTML document.
De bibliotheek heeft een thesaurus van sleutelwoorden.
/dutch
tree staat, engelstalig indien in de
/english
tree.
3.3 Algemeen
Er worden hier enkele browsers (Netscape, Mosaic en Lynx) en tools (weblint) genoemd: zie de paragraaf Hulpmiddelen (3.4) in het volgende hoofdstuk.
<IMG>
's met
ALIGN=LEFT
of RIGHT
.
<CENTER>
ALIGN=CENTER
attribuut.
<TABLE>
<PRE>
sectie
gerealiseerd worden.
<BODY>
met attributen,
CENTER
, LEFT
en RIGHT
alignments
en
<IMG>
met BORDER=0
.
<A>
) wordt handmatig
gecontroleerd, door het document te laden en alle links na te lopen.
De Ontwerp uitgangspunten (sectie 3.3) voor de RGD WWW site hebben geleid tot de volgende grafische kenmerken van de HTML pagina's. Zie ook sectie 3.3 voor de gebruikte hulpmiddelen om het onderstaande te realiseren en testen:
HTML bestanden zijn ASCII files. Plaatjes zullen i.h.a. het GIF format hebben en zijn binair.
.html
" (HTML) en ".gif
"
(gif)
/people
, hebben
éen naam. De nederlandstalige versie staat in
de /dutch
tak van de document tree, de engelstalige in de
/english
tak.
https://maryniak.home.xs4all.nl/images
https://maryniak.home.xs4all.nl/images
.
/people
welcome.html
. Dit is ook een
default naam op de server, zodat met de URL van het directory
waar de pagina zich bevind volstaan kan worden
/people/e-mail-adres-van-persoon/
.
Het "e-mail-adres-van-persoon
" volgt het vaste
e-mail naamschema
van de RGD.
http://www.rgd.nl/e.maryniak/
" geeft dus de
home pagina van "e.maryniak@rgd.nl
" aan. Het is niet
nodig de volledige naam te gebruiken
(http://www.rgd.nl/e.maryniak/welcome.html
).
/dutch
en
/english
).
/wwwforms
<FORM>
's), die via e-mail naar
een RGD adres gestuurd worden, staan alle in
dit directory. Binnen dit directory en voor deze documenten geldt
steeds een algemene opzet.
feedback.html
):
/wwwforms/dutch/feedback.html
/wwwforms/english/feedback.html
<FORM>
bevatten.
/wwwforms
doorgevoerd wordt, analoog aan de document root.
<FORM>
in feedback.html
heeft de volgende vorm (nederlands, resp. engels):
<FORM METHOD="POST"
ACTION="/cgi-bin/feedback?/wwwforms/dutch/reply/feedback.html">
<FORM METHOD="POST"
ACTION="/cgi-bin/feedback?/wwwforms/english/reply/feedback.html">
reply
en bevat de volgende string om aan te geven
naar wie het ingevulde formulier moet worden verzonden:
<!-- X-RGD-EmailFormTo : webmaster@rgd.nl -->
webmaster@rgd.nl
, wat ook
overigens de default is als het reply document of deze string er
niet is.
<INPUT TYPE=HIDDEN NAME="errorcheck" VALUE="1">
<INPUT TYPE=HIDDEN NAME="errorform"
  VALUE="https://maryniak.home.xs4all.nl/wwwforms/dutch/error/feedback.html">
<INPUT TYPE=HIDDEN NAME="errorcheck" VALUE="1">
<INPUT TYPE=HIDDEN NAME="errorform"
VALUE="https://maryniak.home.xs4all.nl/wwwforms/english/error/feedback.html">
error
en heeft weer dezelfde naam als het formulier
zelf. Elke VALUE
ongelijk 1
heeft tot
gevolg dat er niet gecheck wordt of alle velden zijn ingevuld.
Dit is ook het geval als het error document niet bestaat.
De twee hidden fields kunnen bv. direct onder de
<FORM>
worden gezet.
<FORM>
. Dit kan gefixed worden door het
volgende dummy hidden field op te nemen aan het einde van de
<FORM>
, dus vlak boven
</FORM>
: <INPUT TYPE=HIDDEN NAME="dummy" VALUE="dummy">
3.6 HTML syntax
In dit deel van de checklist volgen de harige details over welke HTML syntax constructies wel en niet mogen.
<HTML>
, <HEAD>
,
<BODY>
en <TITLE>
;
ook de volgende tags gebruikt moeten worden indien van
toepassing:
<H1>
.. <Hn>
en
<P>
voor documenten
met hoofdstuk en paragraaf indeling: het is dus
expliciet niet de bedoeling dat (titels van)
secties met vormgevings truken als
<FONT SIZE=>
en images geregeld worden.
Dit is om later incorporatie van de logische elementen van
tekst documenten in de relationele database mogelijk te
maken en voor goede indexering. Immers, SGML (en daarmee
HTML) is voor documenten wat SQL voor relationele databases
is en dus moet de HTML markup wel juist gebruikt worden.
<ADDRESS>
voor adressen en andere
contact informatie
<OL>
, <UL>
en
<DL>
voor lijst elementen
ofwel enumeraties ofwel opsommingen. Gebruik ze adequaat!
Dus voor resp. geordende (genummerde) lijsten,
ongeordende lijsten ("ge-bullete") en beschrijvende
(definitie) lijsten.
Gebruik niet meer als éen (1)
<DD>
in een <DT>
van een <DL>
.
<PRE>
, <CODE>
,
<SAMP>
, <VAR>
en <KBD>
bij listings van code en
beschrijvingen van invoer.
<H1>
naar <H3>
.
<EM>
, <STRONG>
en
<CODE>
ipv.
<I>
, <B>
en
<TT>
tenzij echt typografische aanwijzingen nodig zijn.
ALTIJD UPPERCASE
.
Vooral ook bij CGI programma's, waar een
METHOD=POST
in lower-case niet door de server
begrepen wordt. Dit bevordert de leesbaarheid en
onderhoudbaarheid, omdat de scheiding broodtekst/markup
duidelijk is. Daarnaast zijn er een aantal server scripts
in ontwikkeling (oa. keyword indexers) die ervan afhankelijk
zijn dat de HTML tags en attributen upper-case zijn.
<>
, <!>
en
</>
.
X-RGD-CreatedBy
en
X-RGD-LastModBy
) vermelden met
volledige naam en e-mail adres (tussen haakjes).
X-RGD-CreatedOn
en
X-RGD-LastModOn
) zijn in ISO 8601:1988
formaat (yyyy-mm-dd
).
Indien tijden worden vermeld, volgen deze ook ISO 8601:1988 formaat
(hh:mm:ss
), waarbij de uren (hh
)
van 0 tot 24 lopen.
Dus bv.: 20:42:05
.
<TITLE>
en X-RGD-Contents
moeten identiek zijn.
Een <TITLE>
moet een duidelijke, context
onafhankelijke, inhoud hebben, dus bv:
Introduction research program Marine Geology en niet
alleen Introduction.
<IMG>
)
ALT
tag
tbv. Lynx gebruikers en als "image loading off" staat bij
grafische browsers.
Indien geen ALT
nodig is, laat dan [IMAGE] toch
verdwijnen door een ALT=" "
te geven;
de spatie tussen de quotes is belangrijk!
ALT="{button text}"
, dus "{}
"
om een button aan te geven.
SRC
, dus:
<IMG SRC="..." ALT="...">
en dan pas andere attributen.
ALT=" "
, omdat er geen tekst
voor de image nodig vanwege is omdat er ook anchored tekst is.
<BODY>
sectie een
BACKGROUND
tag heeft (achtergrond), dan moet een
BGCOLOR
tag met zwart (000000
),
worden toegevoegd. Dit forceert een grafische flush.
Sommige PC's vertonen met Netscape anders witte vlakjes op een
donkere achtergrond.
Zie voor een voorbeeld de startpagina in de sectie over
Voorbeeld pagina's (2.3.4).
<IMG>
's die anchored zijn
(<A>
) en naast elkaar moeten staan.
Anders ontstaat er een klein stukje hyperlinked spatie rechts
van image, wat niet mooi is. Dit betekent meestal ervoor zorgen
dat er na de sluittag </A>
geen spatie of
regelovergang voorkomt.
&
' en eindigt met ';
'.
Dus '<
' voor het '<' teken, dat
anders in HTML een bijzondere betekenis heeft.
Het komt regelmatig voor bij source weergave
(<PRE>
en <CODE>
),
dat men special characters zo moet weergeven,
maar ook in gewone tekst komt het voor.
&
' en ';
' moet
altijd lower-case zijn, dus geen
'>
'.
Special character Mnemonic code & & < < > > harde spatie © © ® ® à à á á ä ä è è É É é é ë ë ï ï ö ö ü ü
ALT
toets).
Gebruik voor speciale characters een mnemonic, zoals in de
bovenstaande tabel gegeven. Ook het TAB
character en control characters, zoals ^F
, mogen
niet voorkomen.
<CENTER>
was Netscape specifiek en is
toegestaan in 3.2, maar is niet nodig.
Zowel headers (<H1>
etc.) als paragraphs
(<P>
) hebben een ALIGN=CENTER
attribuut die door alle browsers verstaan wordt en beter is.
<BODY>
altijd
beginnen met <P>
.
Een <P>
geeft het begin van een
paragraph aan, het is niet een paragraph separator of "sterke"
newline!
<BR>
dient als newline binnen
een paragraph <P>
en niet om kunstmatig
vertical space te krijgen. Doe dit evt. met een (leeg)
<PRE>
-blokje, of een paragraph met enkele
harde spatie.
<PRE>
-formatted tekst.
<P>
en <H3>
, in
preformatted tekst, daar dit tot vreemde effecten kan leiden.
Alleen hyperlinks (<A>
) en special
characters zullen evt. kunnen voorkomen in preformatted tekst.
<PRE>
-blok! Let erop dat van
'&
', '<
', '>
'
e.d. special characters gemaakt worden.
<!-- Commentaar -->
.
<!--
en -->
, itt. wat men
bij veel free format programmeertalen gewend is.
<A>
) niet de "URL"
tussen quotes te zetten. Vooral afsluitquote wordt nogal eens
vergeten en kan tot vreemd browser gedrag leiden.
Dus: <A HREF="URL">
.
3.7 HTML stijl
Het lezen van documenten van een scherm en het karakter van HTML (hypertext) vragen om een speciale benadering van het "HTML-ificeren" van documenten. Het artikel van Steven Pemberton [6] is een goed uitgangspunt voor het bepalen van een optimale "human computer interface" van documenten.
Verder kan men letten op:
<A>
-hypertext gebaseerd is, niets!
Afgezien van de top home page en de Nederlandse en Engelse "sub" home page, zijn er twee soorten documenten op de RGD WWW server:
Gebruik de "View source" faciliteit om te kijken hoe de source van deze HTML files eruit ziet!