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.
Ellenőrző kód

Legutolsó hozzászólások

Fejlesszünk asztalra webes tudással!: HuankoBuyanko: Hi there! My first post at this great blog! I wanna show u my dayly updated blog:Anal Hot Videos Have a nice day! BB! P.S. if you don't want to...

Miért instabilak a programok, miért fagynak le, miért lassú a gépem?: boj: Oké, instabilak...de MIKOR lesznek újra EC3/Amazon írások? Többek nevében is követelem:)

Ajánlások Flash banner készítők részére: samurai_jack: Sziasztok! A fentiek értelmében elnézést kérek, félre vagyok informálva.. Én nem statisztikát néztem, pusztán ilyen kérések jönnen...

Ajánlások Flash banner készítők részére: Gábor: @Teo Köszi az eredményeket. Ha jól nézem már nálatok is legalább 9-es verzió van 94% gépén.

Ajánlások Flash banner készítők részére: Teo: Sziasztok! A flash verziókkal kapcsolatban: a nálunk végzett mérések szerint is toronymagasan a 9-es van használatban (cirka 80%). A 7-es...

iMect means internet, media and other cool things. iMect is a small company in Budapest, Hungary. We’ve 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 budapesti cég vagyunk. Minden oldalon van egy nagy lábléc, ahol felfedezheted, hogy mivel foglalkozunk.