[Alku]
Testaa CSS-oppaan navigoinnin toimivuutta!
 
   
 Etsi sivuiltani: [Apua]
AihepiiriluetteloCSS-oppaan etusivuOppaan lisäsivut > A Mikä merkitys on Web-standardeilla

B Mikä merkitys on Web-standardeilla

Aiheet

Yleistä

Koska MS IE on yleisin selain, jotkut ajattelevat, että MS IE on sitten yleinen "standardi". Microsoft IE:n pitäminen "standardina" on virhe. Ei ole mielekästä, että WWW-sivujen tekeminen ja sen opetus perustuu vain yhden selaimen kulloiseenkin versioon, josta tehdään sen hetken mielivaltainen standardi.

Jos web-standardeja ei tunneta, voidaan ihmetellä, miksi jokin sivu toimii hyvin MS IE 5.5 Windows selaimessa, mutta ei Netscape 6.1+:ssa tai Opera 5.x+:ssa. Ensimmäiseksi useimmiten syyttää jälkimmäisiä selaimia. Todellinen syy on useimmiten kuitenkin siinä, että käytetty MS IE ei noudata tarkasti spesifikaatiota, mutta Opera ja Netscape noudattavat niitä kyseisessä tilanteessa tarkemmin.

Jos spesifikaatiot tunnetaan, tiedetään, mikä selain toimii väärin. Kun tämä asia tiedetään, voidaan yrittää ottaa huomioon selainten virheet ja tehdä sivut mahdollisimman hyvin toimiviksi eri selaimissa. Tämän sivuston tarkoituksena on auttaa ymmärtämään HTML, XHTML ja CSS spesifikaatioita.

Microsoft käyttää paljon epästandardeja toteutuksia MS IE -selaimessa ja muissa tuotteissaan. Lisäksi MS IE:ssä on aina otettu käyttöön keskeneräisiä, joskus vain alustavan keskustelun alaisia piirteitä. Esimerkkinä tällaisista on ns. XML-datasaarekkeet (XML data islands; käsittelen sitä eräässä englanninkielisessä HTML-kommentissa[S]). Ne kuten eräät attribuutit (käsittelen niitä sivulla Help for HTML ALL menu[S]) olivat aikoinaan ajateltu liitettävän tuleviin HTML-spesifikaatioihin kuten mahdolliseen HTML 5.0 spesifikaatioon. Em. spesifikaatio ei kuitenkaan koskaan valmistunut, sillä XHTML 1.0 tuli sen tilalle. MS IE 5.x toteuttaa siten eräiltä osin vain kuvitteellisen spesifikaation piirteitä. MS pyrki niiden toteuttamisella muiden selainvalmistajien edelle, mutta niistä tuli lopulta vain MS IE 5.x+:ssa toimivia epästandardeja toteutuksia.

Haluammeko tukea firmaa, joka käyttää paljon epästandardia koodausta, käyttää selain ja käyttöympäristöriippuvaisia komponentteja ja keskeneräisiä spesifikaatioita monopolisoidakseen (ja siten "varastaakseen") internetin itselleen? Epästandardit toteutukset myös tuhoavat niiden selainten mahdollisuuksia näyttää Web-sivut kunnolla, jotka noudattavat tiukemmin virallisia spesifikaatioita. Myös osittaiset ja virheelliset spesifikaatioiden toteutuksen ovat ongelma (tosin CSS2 on vaikea toteuttaa eikä mikään selain toteuta kaikkia CSS2:n visuaalisia piirteitä). Kaikki nämä asiat vahingoittavat internetin alkuperäistä ideaa kaikille avoimesta, käyttöympäristöriippumattomasta ja yhteisiä standardeja noudattavasta verkkoyhteisöstä! Yhteisten standardien noudattaminen luo vakautta ja niiden rikkominen jatkuvaa epävarmuutta ja lisääntyvää kaaosta. Siksi ei ole hyvä, jos yli 90% selaimista on Microsoftin tekemiä.

Netscape on tunnettu selain, mutta versiossa 6.0 on vakavia toimintaongelmia eivätkä ihmiset ole sitä juuri asentaneet. Uusimmat versiot ovat kuitenkin hyviä selaimia. Operan ongelma on edelleen, että sitä ei riittävästi tunneta. Sitä saa lähinnä vain netin kautta eikä moni viitsi vaivautua. Kun monet WWW-sivujen tekijät suunnittelevat sivunsa MS IE:n epästandardeja piirteitä hyödyntäen, Operan käyttäjän saavat väärän kuvan selaimesta (syyttävät selainta tilanteissa, joissa pitäisi syyttää sivujen tekijää[S]).

Operan pääinsinööri on W3C:n entinen työntekijä (Håkon Wium Lie, CSS1-CCS2 spesifikaatioiden pääsuunnittelija), joka todella ymmärtää speksien merkityksen.

On toki sanottava, että myös Opera ja Mozilla Gecko -selaimet tukevat joitakin epästandardeja piirteitä (voit tutkia selainkohtaisia CSS-piirteitä erillissivulta[S] ja HTML-piirteitä eräästä englanninkielisestä taulukosta[S]). Mutta omien kokemusteni perusteella voin sanoa, että AOL/ Netscape/ Mozilla org. ja Opera Software yrittävät luoda selaimia, jotka tukevat olemassa olevia spesifikaatioita tiukemmin kuin MS IE. Jos näitä selaimia käytettäisiin enemmän Microsoft ei voisi käyttäytyä kovin ylimielisesti ja mielivaltaisesti vaan sekin kehittelisi selaimiaan tarkemmin olemassa olevia spesifikaatioita noudattaviksi. Opera Softwaren pyrkimykset perustuvat selkeästi internetin alkuperäisiin pyrkimyksiin:

Why do some Web pages render incorrectly in Opera?

The Opera browser is the strictest supporter of the W3C's technical standards in the browser market today. This is done to ensure interoperability between browsers and hardware manufacturers, meaning that a Web page made in accordance with W3C's recommendations is viewable with whatever browser-application an Internet user chooses. Unfortunately some Webmasters have been lead astray into making their sites specific to one or the other browser's proprietary standards. The result is that some sites effectively shut other browsers out, or their pages may look strange in them.

However, this is a transitional problem. With the advent of the wireless Internet, Webmasters must start complying to W3C standards, tai else their pages will not be accessible to the majority of the Internet population. The two dominant browsers on the PC's are too bloated to fit into small, handheld devices. Why does Opera always emphasize that it follows W3C's standards? Because we at Opera believe in an Internet where everyone can meet, innovate and thrive. For this to happen certain international standards must be followed by everyone. The World Wide Web Consortium (W3C) [www.w3c.org] develops interoperable technologies (specifications, guidelines, software, and tools) that make this possible. We don't want to own tai monopolize the Internet, we prefer an open Net where everyone is granted access and can thrive. For more information on Opera's values, take a look at Opera's Mission.

Tosin Opera tukee jonkin verran MS IE:n epästandardia koodausta, varsinkin Opera 7.0 Beta 1 tukee paljon MS IE:n selainkohtaisia JavaScript-laajennuksia, jotta ei olisi niin paljon sivuja, joihin Operalla ei ole asiaa. Mutta kun Operaa (tai Mozilla Gecko -selaimia, esim. Netscape 7.0) ei haeta, MS saa silti liikaa mellastaa. Tällöin on vaarana, että internetin alkuperäisperiaatteet pistetään maan rakoon - kun yksi firma monopolisoi internetiä ollaan aika kaukana internetin alkuperäisestä ideasta.

Opera Software: Press FAQ, Opera 7 for Windows Beta 2.

Suosittelen lukemaan tästä asiasta myös tämän sivu vastaavan englanninkielisen sivun, joka käsittelee WWW-standardeja vähän eri tavalla kuin tämä sivu eikä se ole tämän sivun käännös.

Syyt eri selainten läpikäymiseen

MS IE:n rinnalla pitää olla mahdollisuus aina opettaa myös muilla selaimilla. Syyt ovat seuraavat:

  1. WWW ei ole alun perin ollut eikä se saa olla yhden firman yksityisbisnes vaan kansainvälinen ja avoin verkkoyhteisö. Suomessa oppilaitokset vahvistavat MS:n asemaa kaiken tavoin, vaikka oppilaitosten tehtävä ei ole tukea epätervettä monopoliasemaa.
  2. WWW-suunnittelussa pitää antaa sellaisille selaimille mahdollisuus toimia hyvin, jotka pyrkivät noudattamaan yhteisesti sovittuja standardeja. Kaikki www-suunnittelijat eivät varta vasten halua tehdä sivuja väärin toimivan selaimen mukaisesti.
  3. Microsoft ei omista WWW:n perusstandardeja. Tässä suhteessa MS IE:n asema on aivan toinen kuin esim. MS Wordin, joka käyttää Microsoftin kehittämää tiedostomuotoa. WWW:n perusstandardeja kehittää W3C (= Word Wide Web Consontium). Lisäksi on eräitä muita standardisointilaitoksia (kuten ECMA: se vastaa standardien skriptikielten kehittämisestä).
  4. USA:ssa ja yleisesti maailmalla suhtaudutaan kriittisesti spesifikaatioiden rikkomiseen (Suomessa tuntuu olevan monopolimentaliteetti, koska on totuttu ALKOon jne. – Nokia voi muodostua samanlaiseksi kritiikittömästi suhtauduttavaksi "standardiksi). Mm. Harwardin yliopisto, Webstandards ja Webreviews organisaatiot tutkivat aktiivisesti selainten toteutuksia ja julkaisevat niiden toteutusvirheitä.
  5. MS IE -selainten suhde standardien noudattamiseen muuttuu koko ajan. MS IE 5.5 on suhteellisen uusista selaimista eniten spesifikaatioista poikkeava ja niitä virheellisesti toteuttava selain. MS IE 6.0 Windows ja Microsoft IE 5.0 Mac noudattavat CSS2-spesifikaatiota sangen tarkasti toimiessaan ns. standard-compliant -moodissa[S] (käsittelen Windows-versioiden pahimpia virheitä ja korjattuja piirteitä sivulla Taustat ja reunat[S]). MS IE -selainten välillä ja suhteessa toisiin selaimiin on eroja ja tarvitaan aina vertailuselaimia (MS IE eri versioiden vertailu on hankalaa, sillä asennusohjelmat eivät salli useiden versioiden asentamista saman käyttöjärjestelmän alaisuuteen).
  6. Jos sivusuunnittelu tehdään kulloinkin yleisimmän selaimen perusteella, seuraavassa versiossa korjatut virheet voivat tuottaa ongelmia. Sivuja joudutaan jatkuvasti muuttamaan selainten virheiden mukaan. Vain spesifikaation mukaan toimiminen takaa pitkällä tähtäyksellä toimivat ratkaisut. Vuosittaisten "standardien" mukaan eläminen on kaiken hiekalle rakentavaa lyhytjänteisyyttä.
  7. Microsoft on itse mukana W3C työryhmissä (Working Groups) kehittämässä yhteisiä standardeja – siltä itseltään tulee myös edellyttää niiden noudattamista.
Standardit: W3C, ECMAScript.
Muita sivustoja: CSS Enhancements in Internet Explorer 6 Public Preview, Webstandards, Webreviews; Opera Software: Web specifications supported in Opera 5 - the details.

[Alku]

Joitakin arveluttavia ohjelmointeja

WWW:ssä käytetyt viralliset suositellut spesifikaatiot ovat pääosin W3C:n käsialaa (eräitä muitakin standardisointiorganisaatioita on olemassa). Virallisten spesifikaatioiden lisäksi on olemassa standardinomaisia lisäyksiä. Niitä tulisi arvioida WWW:n alkuperäisten periaatteiden mukaan:

  1. Lisäysten tulisi olla käyttöympäristöriippumattomia.
  2. Niitä pitäisi pystyä käyttämään kaikissa selaimissa.
  3. Niissä on huomioitu WWW:n tietoturvaongelmat.

Näin arvioiden Java-sovelmat (Java applets) toteuttavat hyvin pitkälle WWW:n alkuperäisiä päämääriä. Java-sovelmien puolivirallinen asema näkyy myös siinä, että (X)HTML-spesifikaatioissa niitä varten on erityinen elementti (APPLET). Tosin eräisiin selaimiin Java-tuki täytyy hakea lisäohjelmana.

Eräät kaupalliset lisäohjelmat eivät näitä kriteerejä täytä. Se, että jokin piirre kuuluu virallisiin spesifikaatioihin, ei tee sen käyttöä ongelmattomaksi. Jos jokin piirre toimii vain tietyissä selaimissa ja sen tuen puute estää sivujen toimimisen selaimissa, jotka eivät sitä tue, tällaisen piirteen käyttö on ongelmallista.

Listaan muutamia sellaisia koodauksia, jotka ovat arveluttavia tietoturvaseikkojen vuoksi tai sen vuoksi, että ne toimivat vain tietyissä selaimissa:

[Alku]

Terve kilpailu

Sivujen tekijät voivat suosia joko tervettä tai epätervettä kilpailua. Netin tervettä kehistystä voidaan hidastaa laatimalla sivut vanhimpien selainten ehdoilla. Netin terve kehitys voidaan tuhota suosimalla ratkaisuja, jotka toimivat vain valtaselaimessa, MS IE:ssä.

Microsoft itse on näyttänyt ikävän huonoa esimerkkiä tunnistamalla omalla MSN-sivustollaan Operan ja antamalla sille CSS:n, jonka saa aikaan Opera-selaimissa huonon lopputuloksen. Kyseessä on rikollisluonteinen kilpailijan maineen tahraaminen - MS:n "moraali" muistuttaa virusten suunnittelijoiden moraalia.

Opera Software: Why doesn't MSN work with Opera.

Mielestäni ikävämpi piirre on käyttää standardien skriptien sijasta Visual Basic -skriptejä vain siitä syystä, että MSN:n sivusto ei toimisi täysipainoisesti muilla kuin MS IE -selaimilla.

Koska Internetin terve kehitys edellyttää standardeja, terve kilpailu on sellaista, jossa selainvalmistajia patistetaan standardien kehittämiseen ja niiden käyttämiseen reilulla tavalla.

Olen itse laatinut sivustoni erittäin pitkälle standardien mukaan. Sivustoni eivät toimi millään selaimella täysin suunnitellusti. Yksi syy on osoittaa, millaista voisi olla terveen kilpailun edistäminen.

Omalla sivustoillani eräillä Opera ja Netscape 6.1+/ vastaavilla Mozilla -selaimilla vierailevat voivat nauttia kiinteästä navigoinnista ja Opera 4.x+ ja Netscape 6.0+/vastaavilla Mozilla -selaimilla aina miellyttävästä sivun leveydestä. MS IE:llä vierailevat voivat nauttia pikavalikoista.

Kun jokin standardin mukainen ratkaisu ei toimi jossakin selaimessa, se voisi antaa toiselle selainvalmistajalle innoitteen tuotteen kehittämiseen. Kun sivuilla vierailijat näkevät eri lailla toimivia selaimia, he voivat oppia arvostamaan useita eri selaimia. Näin nykyinen Microsoftin monopoliasemaa vahvistava kehitys saisi terveempiä piirteitä.

Sellaisten piirteiden suosiminen, jotka voisivat tulla standardeiksi ja joista ei ole muille selaimille haittaa, voisi jossakin määrin käyttää - itse vierastan niitä. Annan epästandardia CSS:ää[S] käsittelevällä sivulla varteen otettavia "moraaliohjeita". Vaikka sivuston tekijä tuntisi keitä ovat sivuston pääkäyttäjät, hänen tulisi olla tietoinen, että sivut voidaan löytää jonkin hakukoneen avulla. Sivujen tekijä ei voi tietää, mikä selain tai mikä käyttöjärjestelmä vierailijalla on. Sivustot, jotka on ensisijaisesti suunniteltu jollekin selaimelle pitäisi toimia ainakin jollakin tavalla niin monessa selaimessa kuin on järkevästi mahdollista.

[Alku]
   
Copyright Tapio Markula 1999-2003, Salo (kotisivu, s-posti - lisää s-postiosoiteeseen pisteellä erotettuna nimeni, Tapio Markula) (@dnainternet.net) - ei julkiskäyttöön ilman sopimusta.
Get Expression!
Editori, jolla saa luotua standardit täyttäviä HTML ja XML dokumentteja. Tämän sivuston sivut on useimmissa tapauksissa tarkastettu Dave Raggetin (W3C) tekemällä HTML-Tidy apuohjelmalla ja satunnaisesti W3C-organisaation virallisella koodintarkastusohjelmalla. Useimpien sivujen syntaksin pitäisi olla sopusoinnussa W3C:n XHTML 1.0 spesifikaation kanssa. Testaa tämä sivu!
Informaatiota selaimista, jotka näyttävät tai tulostavat tämän sivuston parhaiten.
[Hae Opera] [Hae Mozilla!]
CSS-opasta on viimeksi muutettu 20.12.2004