Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/triinne/public_html/mysqlconnect.php on line 3
Tulemused

2. Tulemused

Käesoleva uurimuse tulemused on täies mahus kättesaadaval digitaalsel kujul.

2.1. Väljapraagitud leheküljed

Programm praakis töötamise käigus 21 905 aadressi seast välja 2250 (10%) ja seega jäi reaalseks valideerimiseks alles 19 655 aadressi.

Erinevate vigade esinemissagedus

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.

2.2. Valideerunud leheküljed

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.

Valideerunud lehekülgede osakaal

Joonis 2. Valideerunud lehekülgede osakaal.

42 lehte 94-st mööndustega valideerunust osutus artfotoplus.ee virtuaal­majutust 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.

2.3. Dokumenditüübid

Kõigil valideerunud lehtedel (ka mööndustega valideerunutel) oli loomulikult dokumendi­tüü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).

Dokumenditüübi määrangu olemasolu mittevalideerunud lehtedel

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.

Dokumenditüüpide jaotus kõigi lehtede lõikes

Joonis 4. Dokumenditüüpide jaotus kõigi lehtede lõikes.

Dokumenditüüpide jaotus valideerunud lehtedel

Joonis 5. Dokumenditüüpide jaotus valideerunud lehtedel.

2.4. Kodeeringud

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:

Erinevate kodeeringumääratluste esinemissagedus

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.)

2.5. HTML-i elemendid

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.

HTML-i elementide jaotus koguhulga põhjal

Joonis 7. HTML-i elementide jaotus koguhulga põhjal.

HTML-i elementide esinemissagedus

Joonis 8. HTML-i elementide esinemissagedus.

2.6. Lehed tabelitega ja ilma

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.

Tabelid valideerunud lehekülgedel ning mittevalideerunud lehe­külgedel

Joonis 9. Tabelid valideerunud lehekülgedel (vasakul) ning mittevalideerunud lehe­külgedel (paremal).

2.7. Validaatori veateated

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.

Valideerumisvigade sagedustabel

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.

Erinevate valideerumisvigade 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.

Erinevate veateadete hulk

Joonis 12. Erinevate veateadete hulk. (Vaid 15 sagedasemat veateadet on näidatud.)

Erinevate veateadete esinemissagedus

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:

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 &auml; on ä ja &otilde; on õ), &-märgi enda jaoks on aga &amp;. Järgnev näide demonstreerib levinud valekasutust ja korrektset varianti:

index.php?id=143&action=show <!-- vigane -->
index.php?id=143&amp;action=show <!-- korrektne -->

Veateate „element "FOO" undefined“ põhjused langesid nelja kategooriasse:

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.

Trinoloogialeht

Eesti Trinoloogide Maja. Eesti trinoloogiahuviliste avalik kogunemiskoht. info@triin.net

Peamenüü

Sisukord

RSS, RSS kommentaarid, XHTML, CSS, AA