Käesoleva uurimuse tulemused on täies mahus kättesaadaval digitaalsel kujul.
Programm praakis töötamise käigus 21 905 aadressi seast välja 2250 (10%) ja seega jäi reaalseks valideerimiseks alles 19 655 aadressi.
Joonis 1. Erinevate vigade esinemissagedus. (Vigade selgitused on toodud lisas 1)
Peamiseks põhjuseks lehekülgede väljapraakimisel oli ümbersuunamine teisele aadressile, teiseks ebaõnnestumine serveriga kontakteerumisel ja kolmandaks igasuguse HTML-i puudumine leheküljel (joonis 1). Täiendav info kõigi programmi poolt antavate veateadete kohta on ära toodud lisas 1.
Valideerunud lehekülgede osakaal oli, nagu eelnevalt arvata võis, väike – vaid 2,2% (436 lehekülge) valideerus täielikult, lisaks 0,5% (94 lehekülge) valideerus mööndustega (tentatively) (joonis 2). Sellise ääri-veeri valideerumise põhjuseks oli reeglina dokumendi kodeeringu määramata jätmine.
Joonis 2. Valideerunud lehekülgede osakaal.
42 lehte 94-st mööndustega valideerunust osutus artfotoplus.ee virtuaalmajutust kasutavateks pooleliolevateks lehekülgedeks. Ülejäänud olid kas tuvastamata jäänud ümbersuunamised, pooleliolevad lehed, veateated või lihtsalt väga vähese sisuga lehed.
NB! Kõigis järgnevates analüüsides, kus võrreldakse valideerunud ja mittevalideerunud lehekülgi, on käsitluse alt välja arvatud kõik mööndustega valideerunud lehed.
Nimekiri kõigist valideerunud lehekülgedest on ära toodud lisas 3.
Kõigil valideerunud lehtedel (ka mööndustega valideerunutel) oli loomulikult dokumenditüüp määratud, sest selle alusel nad valideerusidki. Mittevalideerunud lehtedel oli aga dokumenditüübi määratlus olemas vaid 35%, ehk vaid igal kolmandal leheküljel (joonis 3).
Joonis 3. Dokumenditüübi määrangu olemasolu mittevalideerunud lehtedel.
Nagu nähtub joonistelt 4 ja 5, oli levinuimaks dokumenditüübiks ülekaalukalt HTML 4.01 Transitional. Paljuski on selline ülekaal seletatav sellega, et enamik HTML-i redaktoreid lisab vaikimisi dokumendile just selle. Ühtlasi on tegemist ka kõige paindlikuma dokumenditüübiga, mis lubab kõiki endiselt nii levinud presentatiivseid HTML-i elemente.
Teisel kohal on HTML 4.0 Transitional, kuid kui vaadata vaid valideerunud lehti, siis nende seas on teisel kohal XHTML 1.0 Transitional, mis esimeste puhul on kolmandal kohal. Alles seejärel tuleb XHTML 1.0 Strict. HTML-i Strict versioon on aga vähelevinud.
Üllataval kombel on küllaltki levinud XHTML 1.1, mida W3C
soovituse kohaselt tuleks serveerida kui application/xhtml+xml
ent
kindlasti mitte kui text/html
. Nii palju kui vastava
dokumenditüübi määranguga dokumente sai üle vaadatud kasutasid kõik
ebakorrektselt ikkagi text/html tüüpi.
Joonis 4. Dokumenditüüpide jaotus kõigi lehtede lõikes.
Joonis 5. Dokumenditüüpide jaotus valideerunud lehtedel.
Kodeering oli HTML-is määratud vaid 68% lehekülgedest (tuleb arvestada, et osade lehtede puhul võis kodeering olla seatud HTTP päisega või XML-i deklaratsiooniga, mida kasutatav programm ei registreerinud, kuid kumbki meetod pole just kuigi levinud). Sealjuures teatas 12% lehekülgede puhul validaator probleemist kodeeringuga, mis enamikul juhtudest pidi kindlasti olema tingitud just sellest, et dokumendi kodeering oli jäetud määramata.
Järgnevas tekstis kasutatud informatsioon erinevate kodeeringute kohta pärineb peaasjalikult Wikipedia’st.
Enimkasutatavaks kodeeringuks oli ülekaalukalt ISO‑8859‑1 (joonis 6), mis aga ISO standardi järgi ei sobi päris hästi eestikeelsete tekstide tarbeks, sest puuduvad ž ja š. Nimetatud tähed on aga olemas Microsoft’i Windows‑1252 kodeeringus, mis täiendab ISO‑8859‑1 kooditabelit lisasümbolitega. Teisel kohal olev Windows‑1257 ja ISO‑8859‑13, mida eelnimetatu täiendab, sobivad aga eesti keele jaoks kenasti. Eesti keele jaoks ametlikult soovitatav ISO‑8859‑15 on aga alles seitsmendal kohal, mis võib paljuski tuleneda sellest, et paljud HTML-i redaktorid toetavad vaid piiratud hulka erinevaid kodeeringuid ning ISO‑8859‑15 nende hulka tihtipeale ei kuulu.
Spetsiifiliselt kirillitsa tarbeks mõeldud kodeeringutest oli levinuim Windows‑1251, millele järgnesid KOI8‑R ja ISO‑8859‑5.
Universaalne UTF‑8 leidis kasutamist vaid tuhatkonnal lehel. Parema ülevaate saamiseks, miks ja kus unicode’i kasutatakse, sai käsitsi läbi vaadatud 50 UTF‑8-t kasutavat lehekülge. Selgus, et:
Joonis 6. Erinevate kodeeringumääratluste esinemissagedus. ISO‑8859‑1 on kasutusel nii ülekaalukalt, et seda on 12 korral ka ühtviisi valesti kirjutatud. (Jooniselt on välja jäetud alla kõik kodeeringunimetused, mida leidus alla kümne.)
Enimkasutatavaks HTML-i elemendiks oli <img>
, mida on
suurtes kogustes kasutatud kujundamiseks. Linkide <a>
rohkus
on samas täiesti normaalne, sest ilma nendeta poleks HTML hüpertekst.
Järgmised elemendid – <br>
, <table>
ja
<font>
– ilmestavad selgelt laialtlevinud veebiehituse
stiili: tabelid paigutamiseks, reavahetused lõikude eraldamiseks ja
<font>
teksti kujundamiseks. (Joonis 7.)
Joonis 8 näitab protsentuaalselt, milliseid elemente
üldse lehtedel esineb,
ja illustreerib valitsevat olukorda natuke paremini. Mõistagi kohtab pea
kõigil lehtedel elemente <html>
, <title>
,
<head>
ja <body>
– see, et viimast on
kolme protsendi jagu vähem on seletatav sellega, et mitmed lehed, mis kasutavad
raame <frameset>
, ei vaevu kehaosa üldse lisama.
<meta>
ohtrus tuleneb vajadusest mitte-inglisekeelsetele
lehtedele õige kodeering määrata.
Vaadates piltide ja tabelite esinemissagedusi võib öelda, et umbes ¾ lehekülgedest kasutavad paigutuseks tabelit (esilehele enamasti ei panda tabelit, kus oleks mingit sorti tabulaarne info nagu näiteks toodete nimekiri) ja kujunduseks pilte HTML-is (contra CSS-iga määratud taustapildid).
77% lehtedest kasutab kas reavahetust <br>
, paragrahvi
<p>
või mõlemat. Sealjuures 40% lehtedest on nii paragrahv
kui reavahetus, 21% kasutab vaid reavahetust ja 16% üksnes paragrahvi
märgendit.
60% lehekülgedest leidub kas elementi <link>
,
<style>
või mõlemaid. Kuna esimese peamine kasutusala on
viitamine välimisele stiililehele, siis võib öelda, et 60% lehtedest kasutab
CSS-i vähemalt mingil määral. (Küllap on ka lehti, mis rakendavad ohtralt
HTML-i style
-atribuuti, aga see on umbes samale efektiivne kui
<font>
-i kasutamine.)
45% lehtedest kasutab teksti rõhutamiseks elemente <b>
ja/või <strong>
. Nendest 63% kasutab
<b>
-d, 24% <strong>
-i ning 13% mõlemat
korraga.
7% lehtedest kasutab teksti rõhutamiseks elemente <i>
ja/või <em>
. Nendest 70% kasutab <i>
-d,
27% <em>
-i ning 3% mõlemat korraga.
Tervelt 44% lehtedest kasutab vähemal või rohkemal määral skriptimist
(element <script>
); suures enamuses on tõenäoliselt
eesmärgiks piltide vahetamine hiirega ülelibistamisel.
Palju kasutatakse mitmesuguseid iganenud vahendeid nagu
<font>
42%, <center>
21%,
<map>
12%, <hr>
9% ja
<u>
3%.
10% lehtedest kasutab raame <frameset>
ning peaaegu 3%
reasiseseid raame <iframe>
, mis teeb kokku 13% üht või
teist sorti raamidega lehti.
Pealkirjade kasutamine on kasin – esimese taseme pealkirja
<h1>
kasutatab vaid 7% lehekülgedest,
<h2>
-te vaid 3% ja ülejäänuid veelgi vähem.
Kuna <embed>
element jäi vaatluse alt välja (kuna see
puudub HTML 4.01 spetsifikatsioonis (W3C, 1999)), siis ei saa väita, et
<object>
on kõige populaarsem element Flash’i, Java,
video, heli jms leheküljega sidumiseks, nagu joonis 8 ekslikult näitab.
<object>
on küll populaarsem kui
<applet>
, aga see viitab pigem Java vähesele
kasutamisele.
Joonis 7. HTML-i elementide jaotus koguhulga põhjal.
Joonis 8. HTML-i elementide esinemissagedus.
Võrreldes valideerunud ja mittevalideerunud lehekülgi oli ilma tabeliteta valmistatud lehekülgede osakaal valideerunud lehekülgede puhul pea kaks korda suurem. Samuti on valideerunud lehtede hulgas rohkem neid, kus kasutatakse vaid üht tabelit (joonis 9). Ka enim tabeleid ühe lehe kohta leidus ühel mittevalideerunud leheküljel – tervelt 238.
Joonis 9. Tabelid valideerunud lehekülgedel (vasakul) ning mittevalideerunud lehekülgedel (paremal).
19 655-lt leheküljelt korjas programm kokku 865 602 veateadet, registreerides 88-t erinevat veateatemustrit. Keskmine vigade arv lehekülje kohta oli 44, ent seda numbrit paisutasid suureks mitmed äärmuslike vigade hulgaga lehed, nagu näiteks suurima veateadete hulgaga leht www.jogevalv.ee, mille kohta validaator andis tervelt 3177 veateadet. Sagedaseim oli 5 veateadet lehekülje kohta, mediaan oli 18. Jooniselt 10 on selgelt näha, et põhiliselt kõikus veateadete arv kusagil 1 ja 40 vea vahel.
Joonis 10. Valideerumisvigade sagedustabel.
Kuid puhtalt veateadete arvu järgi lehti hinnata võib olla üsna ülekohtune, sest kui lehekülje autor on eksinud mõne reegli vastu, siis tõenäoliselt on ta seda eksimust ka korranud, ja nii võibki olla, et kõik 1000 veateadet ühel lehel viitavad ühele ainsale veale kuid samas 5 veateadet mõnel teisel lehel annavad teada viiest erinevast probleemist.
Loendades vaid erinevaid veateateid saame hoopis teistsugused numbrid: keskmiselt 6 viga lehe kohta ning maksimaalselt 27 (nõnda palju oli erinevaid vigu aadressil www.katoliku.ee). Kõige sagedamini 2 viga lehel ning mediaan 5. Erinevate vigade jaotust ilmestab ka joonisel 11 toodud sagedustabel.
Joonis 11. Erinevate valideerumisvigade sagedustabel.
Kokkuvõttev võrdlus kõikide veateadete ja erinevate veateadete analüüsil kasutatud erinevate statistikute vahel on toodud tabelis 1.
veateated | keskmine | k.keskmine | maksimum | mediaan | mood | std. hälve |
---|---|---|---|---|---|---|
Kõik | 44,04 | 39,31 | 3177 | 18 | 5 | 100,04 |
Erinevad | 6,01 | 5,97 | 27 | 5 | 2 | 4,08 |
Tabel 1. Veateadete statistikud (aritmeetiline keskmine, kaalutud keskmine, maksimaalne ja minimaalne veateadete arv, mediaan, mood ja standardhälve). Kaalutud keskmise puhul on välja arvatud 1% kõige suurema ja 1% kõige väiksema vigade arvuga lehti.
Järgnevalt vaatleme erinevate veateadete hulka (joonis 12) ja esinemissagedusi (joonis 13); arvandmed kõigi veateadete kohta on toodud ära lisas 2.
Joonis 12. Erinevate veateadete hulk. (Vaid 15 sagedasemat veateadet on näidatud.)
Joonis 13. Erinevate veateadete esinemissagedus. (Vaid 18 sagedasemat veateadet on näidatud.)
Kõige sagedamini esinenud veateade „there is no attribute
"FOO"...“
, tulenes mitmesuguste ebastandardsete atribuutide
kasutamisest, sagedasti oli tegemist koodiga, mis nägi välja järgmine:
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table height="100%"> <tr> <td background="/img/bg05.gif">
Ühtki neist atribuutidest pole mainitud W3C standardis, aga selleks pole ka vajadust, sest samasugune efekt on saavutatav, kui määrata vaid id-atribuut tabelilahtrile, ja kasutada järgnevat stiililehte:
body {margin: 0} #lahter {background: url("/img/bg05.gif"); height:100%}
Üheks levinuimaks veateateks oli „required attribute "FOO"
not specified“
, mis tüüpiliselt tähendas, et piltidele
(<img>
) oli jäetud määramata atribuut alt
,
mis sisaldab alternatiivteksti juhuks, kui pilti pole saadaval. Samuti oli
sagedasti määramata jäetud atribuut type
, elementidele
<script>
ja <style>
.
Tervelt 63% lehekülgedest oli ilma dokumenditüübi määranguta (veateade
„no document type declaration...“
).
Kõige rängemat tüüpi vead kuulusid veateate „document type does
not allow element "FOO" here...“
alla. See veateade tähistas
täiesti rumalaid vigu nagu <style>
elemendi paigutamine
kõikvõimalikesse kohtadesse väljaspool <head>
elementi,
tabelilahtrite <td>
paigutamine väljapoole tabeliridasid
<tr>
, <form>
elemendi paigutamine
<table>
ja <tr>
vahele jms.
Kolmandikul lehekülgedest oli probleeme, mida validaator tähistas teatega
„end tag for element "FOO" which is not open“
.
Reeglina oli tegu lihtsalt väikeste kirjavigadega, mis aga võivad erinevate
brauserite tõlgenduses anda väga erinevaid tulemusi. Järgnev näide
illustreerib tüüpilisi vigu, mis antud veateadet tekitasid:
<!-- begin paragraph -> <p>Lorem ipsum dolor sit<br /> amet; just go to --> </b>home</b>.</p> </body> </tml>
Järgmised neli veateadet esinesid alati koos:
„reference to entity "FOO" for which no system identifier
could be generated“
,„entity was defined here“
,„general entity "FOO" not defined and no default
entity“
ja„cannot generate system identifier for general entity
"FOO"“
.Sagedasti esinev viga, mis seda põhjustas tulenes &-märgi kasutamisest
veebiskriptidele antavate parameetrite eraldamisel. Kuid & on HTML-is
erisümbol ning tähistab tähekoodi algust (näiteks ä
on
ä
ja õ
on õ
), &-märgi
enda jaoks on aga &
. Järgnev näide demonstreerib levinud
valekasutust ja korrektset varianti:
index.php?id=143&action=show <!-- vigane --> index.php?id=143&action=show <!-- korrektne -->
Veateate „element "FOO" undefined“
põhjused
langesid nelja kategooriasse:
<marquee>
,
<blink>
ja <embed>
kasutamine,<frameset>
ja <frame>
kasutamine ilma (X)HTML X.X Frameset dokumenditüübita,Veateade „end tag for "FOO" omitted...“
ja sellele
alati järgnev „start tag was here“
esinesid sagedasti
lehtedel, mille dokumenditüübiks oli määratud XHTML, kuid mis ei järginud
XML-i ranget reeglit selle kohta, et kõik elemendid <foo>
peavad saama suletud elemendiga </foo>
või olema üles
märgitud lühendatult kui <foo />
.
Veateade „an attribute value must be a literal unless it contains
only name characters“
esines nendel juhtudel kui elementide atribuutide
väärtused olid jäetud jutumärkidest ümbritsemata ent väärtused ei
koosnenud üksnes alfabeetilistest sümbolitest nagu järgnevas näites:
<p bgcolor=#F3F5EB> <a href=/baas/otsinq.cgi>
Veateade „end tag for "FOO" which is not finished“
esines enamasti juhul, kui elemendid olid valesti üksteise sisse paigutatud,
näiteks <form>
asetatud otse elemendi
<table>
sisse või elemendid <body>
ja
<html>
vahel.
Veateade „"FOO" is not a member of a group specified for
any attribute“
esines juhtudel, kui oli kasutatud mõnda tundmatut
atribuuti, mis oli korraga nii atribuudi kui väärtuse tähenduses, nagu
noresize
ja nocache
järgnevates näidetes:
<frame src="nav.html" name="nav" noresize> <img src="foo.jpg" alt="foo" nocache>
Veateade „value of attribute "FOO" cannot be
"BAR"...“
esines reeglina juhul, kui align
atribuudile oli määratud mõni muu väärtus kui top
,
middle
, bottom
, left
või
right
nagu järgmises näites:
<img src="foo.jpg" alt="foo" align="texttop"> <img src="foo.jpg" alt="foo" align="absmiddle">
Kirjutatud 22. aprillil 2005.
RSS, RSS kommentaarid, XHTML, CSS, AA