Ugrás a főmenüre.
Web 2008.08.11.

Miért szabványkövető? Web standards.

Az elmúlt években (erős? nem erős?) kampány folyt a szabványkövető fejlesztés érdekében, mérsékelt sikerrel. Sajnos még ma is születnek a HTML, CSS és mindenféle egyéb W3C ajánlásokra fittyet hányó, táblázatokon alapuló oldalak. Elmondom miért rossz ez.
Miért szabványkövető? Web standards.

A szabványkövetés a webes fejlesztésben nem akkora kényszer, mint mondjuk az alkatrészgyártásban. Simán eladhatsz egy "nem szabványos" honlapot, nincs "hivatalos" szabályozás. Tulajdonképpen nem is szabványaink, hanem inkább csak ajánlásaink vannak, melyek közül a legfontosabbak megtalálhatók a W3C honlapján.

Szabványkövető fejlesztésben ökölszabály, hogy minden esetben a legszigorúbb, strict változat szerint próbálunk megvalósítani. Tény, hogy ez nem mindig sikerül, de ha csak egy-két helyen lóg ki a lóláb (mondjuk egy kulcs Flash objektum beillesztésénél), simán tolerálható.

A szabványkövető weblapok főbb jellemzői:

  • A HTML kódban nincs formázásra, megjelenésre vonatkozó utasítás, csak szöveg és struktúra.
  • A megjelenés szinte teljes mértékben CSS-ből jön.
  • Táblázatmentes, a <table> kódot csak igazi táblázatok bemutatására használja (hiszen a táblázat egy struktúrális fogalom, nem megjelenítési).
  • A fentiekből következik, hogy a "tartalom" és a "kinézet" teljesen szét van választva.
  • Megfelel valamelyik (lehetőleg strict) HTML előírásnak, CSS szabványnak.
  • Akadálymentes és megfelel néhány ezzel kapcsolatos előírásnak (pl. WCAG level 1-2-3, Section 508). Például minden képnél van alt tulajdonság.
  • "Diszkrét" szkripteket (pl. JavaScript) tartalmaz, a HTML elemek kódjába ez sem "keveredik bele" (pl. nincs onclick=).

Azt nem vitatom, hogy a nem szabványkövető ("hagyományos"), táblázatos kódú weblapok nem működnek.

Ezekkel is megvalósítható (jelenleg, és még néhány évig) a minden fontos böngészőben ugyanúgy megjelenő weblap. Akadálymentesség ügyében már nem olyan jó a dolog, de azon emberek száma, akik emiatt nem tudják használni olyan kevés, hogy nem üti meg az ingerküszöböt (ami persze nem szép dolog, de ez van).

Az is biztos, hogy úgy mindösszesen nézve jelenleg nincs jelentősen kevesebb szívás a szabványkövetéssel, mint a hagyományos hozzáállással. Ennek fő oka az Internet Explorer 6, a többi fontos böngészőben már egész jó a helyzet, még az IE7 sem tragikus (az a JS-ben gáz inkább). 

A böngészők fejlődésében fontos trend, hogy egyre inkább könnyebb szabványkövető kódokat használni. Személyes tapasztalataim szerint jellemzően már olyan kódokat írok, hogy kapásból ugyanúgy megy minden Safari, FF és Opera alatt, kevesebb, mint 4 kivétel szabályt kell csak írnom IE7 alá (kb. 10 perc) és utána tépem a hajam az IE6-tal (kb. egy óra).

Mik az előnyei a szabványkövető hozzáállásnak? (In no particular order.)

  • "Tisztább" lesz a kód, nem keverednek össze annyira a dolgok.
  • Valamivel könnyebb designt változtatni.
  • Szinte minden esetben kisebb méretű lesz a böngésző által letöltendő bájtok száma, valamivel kisebb szerverterheléssel és sávszélességgel kell számolni.
  • Könnyebb odafigyelni az akadálymentes ügyekre.
  • A legtöbb új dolog (pl. új JavaScript és CSS trükkök, keretrendszerek, satöbbi) egyre inkább csak a szabványkövető kódokat veszi figyelembe.
  • A jövőben egyre inkább könnyebb lesz szabványkövető kódot írni a hagyományossal szemben.
  • A szabványkövető kód inkább kompatibilis a jövőbeli böngészőváltozatokkal, mint a régi.

De a legfontosabb:

Ha még mindig nem szabványkövető kódot írsz, akkor rosszul képzed magad és nem vagy eléggé tájékozott a szakmádban.

Nem azt mondom, hogy minden újnak egyből neki kell ugrani, mert a stabil, robusztus kód (ideálja) nagyon fontos. De a Web Standards ügye nem új, több éves, kipróbált dolog (és persze nem hibátlan, hogy is lenne az). Sőt, továbbmegyek: a szabványkövetés 2008-ban már ne legyen kérdés.

Nézd meg a Maxdesign listáját, már négy éves, de a nagy része még mindig abszolút aktuális.

2 hozzászólás

  1. idézem 2008.08.13. 06:09
    Engem az zavar, hogy a szakemberek előszeretettel keverik össze a szabvány és az ajánlás fogalmát. Közel nem ugyanazt jelenti a kettő...

    A diszkrét szkriptekkel viszont kicsit óvatosabban bánnék, szerintem még nem forrta ki magát teljesen a dolog és a felhasználó szempontjából sokszor okozhat fennakadást.
  2. idézem 2008.08.13. 06:19
    Az ajánlás-szabvány kérdésben egyetértek, de mi a baj a diszkrét szkriptekkel? Például a Mootools igen jól muzsikál.
Új hozzászólás
A sortörések automatikusak. Csak az üzenet kitöltése kötelező, a többi mező opcionális. A megadott e-mail címet nem tesszük közzé. Engedélyezett HTML tagek: p, a, strong, em, blockquote, ul, ol, li, dl, dt, dd.

Legutolsó hozzászólások

Diszkórobbanás a 90-es években és a legendás Campari diszkó: Árpika Palotáról: Szia ZooLou :-9 Te melyik részen melóztál?

Teh early agez... (így kezdődött) 1990-1992: Tamás Hölzer: Szia Gábor! Hozzájárulsz, hogy a http://zenci-blog.blogspot.com/p/disco-story.html blogban linkeljem a diszkó "történelmed"? Üdv; tamás

Diszkórobbanás a 90-es években és a legendás Campari diszkó: ZooLou: Finucsi, PG, Függöny, Dj Tökimanó, Barbi, Kacsa, Virág, Feri, Erzsi, Jana, és még sokan a csapatból! Én is lehúztam egy kis időt ott,...

A csatlakozás az iPhone Developer Program-hoz szívás: Nyéki Zoltán: Sziasztok, Arról nincs információtok vagy tanácsotok, hogy egy magyarországi kisvállalkozásnak hogy kell regisztrálnia az Applenél, hogy...

Rólam és a blogról: Szanto Peter: Szia, en is szeretnek veled app fejlesztes ugyben beszelni:) Ha aktualis szamodra uj projekt befogadasa, akkor kerlek irj. koszi, p

iMect means internet, media and other cool things. We're a small company located in Hungary. There is a big footer on every page where you can discover what we do and what happens with us.

Az iMect jelentése: internet, média és egyéb király dolgok. Egy kis magyar cég vagyunk. Minden oldalon van egy nagy lábléc, ahol felfedezheted, hogy mivel foglalkozunk.