ugrás a tartalomhoz

Webes szabványok hazai alkalmazásának elemzése

Baranyai László · 2004. Aug. 24. (K), 21.00
Webes szabványok hazai alkalmazásának elemzése
Az interneten publikálható dokumentumok létrehozásának feltételei jól körülhatároltak és szabatos leírások segítik az eligazodást. Egy honlapot készítő programozó feladata a megfelelő szabványok kiválasztása, amelyek meghatározzák, hogy milyen technikát, utasításokat és paramétereket használhat a dokumentumok kialakításához. Habár ez szakmai minőségbiztosítási kérdés, az ügyfelek gépe előtt ülve használhatóságot, élvezhetőséget és kompatibilitást jelent. A következő felmérés célja a honlapok készítése során alkalmazott szabványok számbavétele és az elkövetett hibák elemzése, lehetséges okainak feltárása volt.

Webes szabványok

A honlapok szerkesztőinek jelenleg a következő táblázatban felsorolt szabványokat ajánlhatjuk. Úgy vélem, hogy a programozó szabadsága a célnak és ízlésének megfelelőt kiválasztani, de elgondolkodtató, hogy a modern XHTML szabvány 1.1-es változata már négy éve megjelent. A felsorolásban talán kevéssé ismert az ECMAScript név (ECMA 262), amely a JavaScript szabvány szerinti fedőneve.

Webes szabványok megjelenésük éve szerint
SzabványMegjelenésURL
HTML 3.2*1996http://www.w3.org/TR/REC-html32
CSS 11996http://www.w3.org/TR/CSS1
HTML 4.0*1997http://www.w3.org/TR/REC-html40
CSS 21998http://www.w3.org/TR/CSS2
HTML 4.011999http://www.w3.org/TR/html401
ECMAScript1997-1999http://www.ecma-international.org
XHTML 1.02000http://www.w3.org/TR/xhtml1
ISO HTML2000http://www.cs.tcd.ie/15445/15445.HTML
XHTML 1.12001http://www.w3.org/TR/xhtml11
DOM L1-L31998-2004http://www.w3.org/DOM/DOMTR


A táblázatban '*'-al jelölt szabványok már korszerűtlennek számítanak (7-8 évesek). Ez azonban nem jelenti, hogy azonnal teljesen át kell írni az oldalakat, hiszen a 'Transitional' változatokat éppen az átmenet és átállás segítésére találták ki. A HTML 4.01 Transitional felülről kompatibilis a korábbiakkal. A listában szereplőkön túl természetesen léteznek még fontos szabványok (MathML, RDF, VBScript, TCP/IP), ám a honlapok programozóit elsősorban talán a táblázat elemei érdeklik. A bemutatott felmérés is a fentiekre koncentrált.

Módszer

Az elemzés során öt fő területről választottam piacvezető honlapokat. Ezen honlapok közös tulajdonsága volt, hogy bevallottan sok látogató kiszolgálására készültek, és pozíciójuknál fogva formálják az internetezők véleményét, ízlését és elvárásait. Az öt kiválasztott szektor:
  • Távközlési vállalatok
  • Közhasznú kormányzati intézmények
  • Elektronikus média piacvezetői
  • Honlapok tervezéséhez használható szoftverek gyártói
  • Honlapok tervezését kínáló piacvezető vállalatok
A fentiek közül a távközlési vállalatok adták a szűk keresztmetszetet. Ahhoz, hogy hatásuk ne legyen elhanyagolható, részarányuk nem csökkenhet 10% alá. Összesen 143 honlapot vizsgáltam meg, a következő felosztásban:

Kiválasztott szektorok


Az oldalak ellenőrzéséhez a W3C online validátorát használtam. A begyűjtött információk alapján megvizsgáltam a szerverek típusát, a PHP verziót, a DTD meglétét és a választott szabványt, valamint a választott szabványtól tapasztalt eltéréseket. A DTD hiánya esetén a forráskódot is megtekintve legtöbbször a HTML 4.01 Transitional (ritkábban XHTML 1.0 Transitional) szabvány szerint végeztem az ellenőrzést. A hibák számát a kimenetből egyszerű szkripttel határoztam meg:
$ echo -n "Hiba típusa:"; cat check.html | grep "hiba egyedi azonosító szövege" | wc -l
A hibák számát azonban érdemes fajlagosan kiszámítani (az 1K kódra jutó hibák számával vagy százalékban), mert nem mindegy, hogy 2 sorban, vagy 150 sorban találhatók-e és az előfordulásuk mennyire jellemző? A böngészés során Netscape 7.1 böngésző programot használtam UHU-Linux operációs rendszeren. Az elemzést 2004. márciusában végeztem. A vizsgálatban nem vettek részt azok a honlapok, amelyek
  • kizárólag Flash-t alkalmaztak a honlap anyagainak megjelenítésére (12 db)
  • 'Az Ön böngészője nem támogatott!' vagy hasonló tartalmú üzenettel fogadtak (10 db)
  • honlapok fejlesztését igérték, de a frameset-be ingyenes tárhely szolgáltatóktól töltötték be lapjaikat (2 db)
  • a szerver hibás fejlécet adott vissza (1 db)

Általános adatok

A következő ábrán a szervereken futó kiszolgáló programok statisztikája látható:

Web-szerverek programjai


Talán nem meglepő az ingyenes Apache program vezetése, ám a 78,30%-os érték tekintélyt parancsoló. A sorrendben következő Microsoft Internet Information Server (IIS) elsősorban a média szektroban volt népszerű. Hozzá képes kb. 50%-os részesedésű a Netscape Enterprise. A felsoroltakon kívűl még előfordultak az internet szolgáltatók saját kiszolgálói (Webraptor, SunONE, stb.). Az esetek 2,80%-ában pedig nem sikerült megállapítani a program típusát.

A PHP verziók a kövtkezők szerint alakultak:

PHP verziók


A meglátogatott honlapok közel 52%-a nem alkalmazott PHP-t. Ha ezt a másik oldalról nézzük, azt mondhatjuk, hogy 48%-a viszont igen. Ezek megoszlását tekintve megállapítható, hogy nincs folyamatosan növekedő tendencia a verziószámok függvényében. A rendszergazdák tehát nem követik azonnal a megjelenő frissítéseket. A 4.1.x-ek vezetnek a többiek előtt, második helyre szerítva a 4.3.x-es csoportot. (3. ábra)

Szabványok és ajánlások

A HTML szabványok (4. ábra) tekintetében megfigyelhető egyfajta monotonitás, egészen az XHTML megjelenéséig. Az alábbi ábra azt jelzi, hogy az elmúlt négy évben kevés cég vállalkozott az "új" szabvány alkalmazására, valamint - igen sajnálatos módon - közel 54%-a egyáltalán nem tartja fontosnak a szabványok betartását (2004. márciusi állapot!).

HTML verziók


Az (X)HTML technika egyik fontos része a META tagok alkalmazása. Ez napjainkban kiemelt szerepet kaphat, amikor a META tagok kinyerése és a tartalom ez alapján történő katalogizálása egyre jobban hódít. Gondoljunk olyan országos méretű projektekre, mint a Nemzeti Digitális Adattár.

META tagok száma


A META tagok előfordulásait elemezve láthatjuk, hogy leggyakrabban csak 1 db van az oldalon, általában a kódtábla meghatározására (Content-type). A honlapok közel fele tartalmaz egynél több META tagot és mintegy 7%-a egyetlen egyet sem.

Szerkesztési hibák

Összességében a vizsgált honlapok 5,5%-a volt teljesen hibátlan. A honlapok ellenőrzésének eredményeit összegezve a következő jellemző hibák fordultak elő (a szögletes zárójelben megadott szám a későbbi táblázatokban a hibát azonosítja):
  • [1] Nem létező paraméter megadása (there is no attribute)
  • [2] Hiányzó paraméter (required attribute)
  • [9] Szöveges paraméter hiba (value must be a literal)
  • [3] Érvénytelen adat megadása (value of attribute)
  • [8] Hiányzó kezdő elem (end tag for element * which is not open)
  • [4] Hiányzó záró elem (end tag for * omitted)
  • [5] Hatáskör tévesztés (does not allow element * here)
  • [6] Hibás elem hivatkozás (reference to entity)
  • [7] Ismeretlen HTML elem (element * undefined)


Hibák százalékos megoszlása


A hibák százalékos megoszlásában pirossal jelöltem az átlagon felüli számban előfordulókat. Ezek alapján megállapítható, hogy a három legjellemzőbb hiba a kötelező paraméterek elhagyása, nem létezők használata és a helytelen HTML tag hivatkozás. Megfigyelhetjük, hogy az átlagos alatti a szövegszerkesztésből adódó hiba, köszönhetően a korszerű, szerkezet kiemelő programoknak.

A hibák százalékos megoszlása szektoronként
Szektor:Honlap tervezésTávközlésKormányzatMédiaSzoftver fejlesztő
[1]14136310
[2]4424443326
[3]127810
[4]13224
[5]4101167
[6]1326163419
[7]1215116
[8]867711
[9]21667
Összesen100100100100100

A fenti táblázat adatait oszloponként nézve megállapítható, hogy az egyes szektorok honlapjain melyek a jellemző hibák. Ugyanezt a táblázatot soronként nézve pedig kiválaszthatóak azok a szektorok, ahol (kevésbé)valószínűbb az adott hiba előfordulása.

Hibák megoszlása 1K HTML kódban


A fenti következtetéseket alátámasztja az 1K kódra jutó hibák számának elemzése is. Ez az ábra annyival nyújt többet, hogy nem torzítja a nagy méretű oldalakon előforduló jelentős számú hiba. Az eltérés a két ábra között kis mértékű, a jellemző hibák ugyan azok.

Az 1K kódra jutó hibák megoszlása szektoronként
Szektor:Honlap tervezésTávközlésKormányzatMédiaSzoftver fejlesztő
[1]3,161,290,690,490,36
[2]2,270,985,902,291,17
[3]0,340,060,530,400,37
[4]0,070,120,140,160,14
[5]0,280,380,820,360,30
[6]0,581,111,212,100,82
[7]0,890,850,060,050,12
[8]0,330,270,580,390,45
[9]0,250,040,490,230,30
Összesen8,165,0810,416,454,04

Ez a táblázat az előző táblához hasonlóan elemezhető, oszlopait figyelve a jellemző hibák állapíthatóak meg, soronként pedig a hibákat kisebb/nagyobb valószínűséggel elkövető szektorok.

A hibák százalékos értékeinek szektoronkénti megjelenését elemezve megállapítható, hogy
  • a honlapok készítéséből élő cégek az átlagosnál kevesebb hibát vétenek lapjaikon
  • a távközlési cégek honlapjain az átlagosnál több hibát találhatunk az esetek kb. 65%-ában

Az 1K kódra jutó hibák szektoronkénti megoszlásából megállapítható, hogy
  • a legkevesebb hibát a szoftverek gyártói vétik, minden kategóriában az átlag alatti a hibák száma
  • a média szektor honlapjain az átlagosnál több hibát találhatunk az esetek kb. 86%-ában

A honlapok szerkezetét és környezetét vizsgálva megállapítható, hogy a faktorok közül:

A hibák darabszáma korrelál
  • 0,847 : a lap méretével (p=0,01)
  • 0,287 : JavaScript kód jelenlétével (p=0,01)
  • 0,210 : a szerkezet táblázatos formázásával (p=0,05)
  • 0,173 : a szektorral (p=0,05)

Továbbá
  • a nagyobb méretű oldalakon jellemző a JavaScript alkalmazása. A JavaScript tartalmú lapok 95%-ának mérete 28K és 41K közötti.
  • a honlapok 11,8%-a nem alkalmazott táblázatot a tartalom formázására. Az elkövetett hibák száma ebben a csoportban szignifikánsan kisebb.
  • a honlapok 77,1%-a használ JavaScript kódokat: a táblázatot tartalmazó honlapok 82%-a, a táblázat nélküliek 36%-a
  • a táblázatok nélkül formázott honlapok 97,5%-ának mérete 18K alatti, míg a táblázattal formázott lapok 97,5%-ának mérete 26K feletti.

A hibák együttes előfordulását (korrelációját) elemezve pedig tipikus hiba mintákra lelhetünk. A minták számát (és az ebből adódó szabadsági fokot) tekintve a 0,25 feletti korrelációs együttható is szignifikáns kapcsolatot jelölhet.

A hibák százalékos megoszlásai alapján:
  • 0,72 : nagyon valószínű, hogy a helytelen értéket tartalmazó oldalakon idézőjel hiányzik
  • 0,42 : közepesen valószínű, hogy ha van kihagyott HTML elem, az egy elfelejtett lezáró tag
  • 0,25 : valószínű, hogy az ismeretlen elemek hibája elírás eredménye, mert ekkor hiányzó paraméterekre is figyelmeztet a validátor

Az 1K kódra jutó hibák alapján:
  • 0,95 : szinte biztos, hogy a helytelen értéket tartalmazó oldalakon idézőjel hiányzik
  • 0,76 : nagyon valószínű, hogy az ismeretlen elemek hibája elírás eredménye, mert ekkor hiányzó paraméterekre is figyelmeztet a validátor
  • 0,67 : közepesen valószínű, hogy az ismeretlen paraméter közelében hiányzik egy idézőjel, vagy eggyel több van
  • 0,37 : valószínű, hogy az ismeretlen elemek hibája nem csupán elírás eredménye, mert a közelben más definíciós hiba is előfordul

Okok és megoldási javaslatok

A fenti adatok alapján és az oldalak forrását megtekintve a hibák valószínű okai:
  • Evolúció: az időben túlságosan elnyúló fejlesztés és a lap ezzel egyidejű üzemeltetése
  • Figyelmetlenség: több szabvány egyidejű alkalmazása
  • Kiegészítések: gyors (azonnali beavatkozási igények után megmaradó) javítások
  • Hiányzó ellenőrzés: a fejlesztési tervben nincsen minőségellenőrzés
Végezetül javasolhatom a W3C validátor alkalmazását a kész honlapon, valamint az automatikus ellenőrzés és javítás beépítését a honlap motorjába a Tidy segítségével. Ez utóbbi kiegészítés elérhető PHP, Perl, Java, Python, C nyelvekhez is.
 
Baranyai László arcképe
Baranyai László
A Budapesti Corvinus Egyetem docense, munkája egyben a hobbija is (szeret oktatni és programozni). Több tudományos honlap tervezője, készítője. Szeret nassolni és saját bevallása szerint jó palacsintát süt.
1

szép

bbalint · 2004. Aug. 24. (K), 22.34
...de miért nem érhetők el nagyobban is az ábrák!?
3

bbcode

Bártházi András · 2004. Aug. 25. (Sze), 06.45
Mert nincs megvalósítva egyelőre nagyobb képekre linkelés lehetősége, bazinagy képet meg nem akartam betenni. De elvileg minden látszik a képből.

-boogie-
5

Re: szép

Baranyai László · 2004. Aug. 25. (Sze), 08.52
A cikk alapjául szolgáló előadás anyaga elérhető a PHPConf oldalon OpenOffice Impress és PDF formátumban. Az ábrák onnan valók.

Üdv.: BarLac
2

hibak tipusa

Jano · 2004. Aug. 25. (Sze), 00.35
A hibak tipusa alapjan a "Hiányzó paraméter" és a "Hibás elem hivatkozás" páros visszi a hibak 50-60%-at.

Lefogadom, hogy ez konkretan az alt paraméter hiányat jelenti másrészt a főként URL-ekben alkalmazott & karakter le nem védését!

Ezeket rettentő egyszerű lenne javítani.

1. Template:
Az alt paraméter főként a dizájn elemként használandó képeknél szokott hiányozni. Ez nem folyamatos fejlesztés eredménye hanem egyszeri alkalom! A templat elkészítésekor megoldható.

2. CMS rendszer átállítása:
Az URL-ben átadott és le nem kódolt & karakter problémáját a motorban vagy a nyelvi értelmezőben kell kijavitani. Ez sok cégnél szintén egyszeri alkalom hiszen az egyszer kifejlesztett scriptet többször alkalmazzák és több oldal tehető hibamentessé!

Vajon igaz a 80/20 szabály az itt található hibákra is? Vagyis a hibák 80%-at az előforduló hibák 20%-a okozza?
4

Re: hibak tipusa

Baranyai László · 2004. Aug. 25. (Sze), 08.48
A "hiányzó paraméter" és "hibás elem hivatkozás" esetén valóban az ALT tag vezet, de utána a szkriptek hiányzó TYPE eleme következett, majd az &/&.

A 80/20 szabályt ezek az adatok nem támasztják alá, de azért a korrelációkból leszűrhető némi összefüggés. A 80/20 összefüggésnek az 1K kódra jutó hibák számából ki kellett volna derülni.

Üdv.: BarLac
6

10 tipikus

Jano · 2004. Aug. 25. (Sze), 10.08
hmmm ez a scriptes meglepo hiszen script elem nem sokszor fordul elo egy HTML kodban mig kodolatlan url annal tobbszor.

Pont mult heten irtam egy ehhez kapcsolodo cikket 10 lépés a validság felé(bookmarkok kozott mar szerepelt igy lehet olvastad) amiben ossze szedtem a 10 leggyakoribb hibat. Ez csak tapasztalat alapjan semmifele felmeres nem volt.
Esetleg megvan a felmeresbol a konkret elso 10 hiba mert szivesem osszevetnem es esetleg atdolgoznam az ajanlast!

Pl az ertekek aposztrofba zarasa mar eselyes a felvetelre.
8

Re: 10 tipikus

Baranyai László · 2004. Aug. 25. (Sze), 13.23
A felmérésben résztvevő honlapok többsége tartalmazott SCRIPT elemet is. Az első 9 leggyakoribb hiba benne van a cikkben, a tizedik a nem megfelelő SGML karakter volt, ám olyan csekély mértékben, hogy nem volt értelme ebbe az elemzésbe bevonni.

Üdv.: BarLac
7

Marhajó ez a cikk, gratula

Anonymous · 2004. Aug. 25. (Sze), 13.02
Marhajó ez a cikk, gratula
9

Csatlakozom

Török Gábor · 2004. Szep. 5. (V), 08.38
De lefogadom ezeket az irományokat pont azok nem olvassák, akik miatt elsősorban született. :/

--
slink