Uverejnené: PC REVUE, č. 2, 2003, ss. 80–82.
Tento dokument má jedinečné vlastnosti, ktoré pravdepodobne nenájdete zatiaľ nikde inde vo svete:
(soft hyphen - voliteľné rozdelenie). V súčasnosti ju úplne správne interpretuje iba Opera 7.20 a vyššie a Microsoft Internet Explorer 5 a vyššie. Iné prehliadače (Netscape, Opera do verzie 7.11 vrátane, Mozilla, ...) zatiaľ tento znak jednoducho všade ignorujú a slová nedelia. Vyskúšajte si túto stránku v Opere 7.20 alebo vyššie, alebo v MS IE 5, 5.5 alebo 6! (Poznámka: stránky s dynamickým delením slov pripravujem s využitím vlastného softvéru pre algoritmické delenie slov — vyskúšajte si On-line Hyphenator.)Igor Podlubný
Akonáhle je stránka uverejnená na internete, je dostupná každému používateľovi internetu. Zverejnením osobnej stránky automaticky vstupujeme do najväčšej Big Brother show na svete. Prečo?
Jediným dôvodom na prípravu a zverejnenie web stránky — či už ide o firmu, vládnu alebo nevládnu organizáciu, záujmovú skupinu alebo jednotlivca — je zviditeľňovanie sa. Je jasné, že spomenuté možné typy subjektov sledujú veľmi odlišné ciele. Napríklad firma chce prostredníctvom prezentácie na webe zvýšiť odbyt výrobkov a úroveň služieb zákazníkom a tým aj výsledný zisk, kým osobná stránka vedeckého pracovníka slúži na šírenie dosiahnutých výsledkov a budovanie, resp. udržiavanie určitých pozícií v zodpovedajúcej vedeckej komunite. Na dosiahnutie týchto rôznych cieľov však treba splniť rovnaké základné kritérium — stránka musí byť dostupná maximálne širokému kruhu používateľov internetu.
Nutnou podmienkou maximálnej dostupnosti stránky je to, aby stránka vyhovovala prijatým štandardom (HTML, XHTML, XML, CSS atď.) a bola technicky bezchybná. Len za tejto podmienky sa neminú účinkom iné zložky — text, grafika, animácia atď.
V súčasnosti štandardy pre web vyvíja a schvaľuje konzorcium W3C (http://www.w3.org/). Konzorcium W3C vzniklo nie z roztopaše, ale pre uľahčenie a usmerňovanie ďalšieho vývoja internetu. Živelný vývoj internetových technológií v minulosti priviedol k stavu, keď nesúrodosť používaných prostriedkov začala brzdiť ďalší rozvoj internetu tak v oblasti šírenia a výmeny informácií, ako aj v komerčnej oblasti. „Domácke“ vylepšenia a rozšírenia jazyka HTML hlavne zo strany firiem Microsoft a Netscape v určitom období vyvolali potrebu udržiavať aspoň dve verzie firemných stránok — jednu pre Microsoft Internet Explorer a jednu pre Netscape, čo predražovalo náklady na údržbu webových sídiel firiem. V ešte horšej situácii sa ocitli subjekty, ktoré nedisponujú zbytočnými finančnými prostriedkami (napríklad vládne a nevládne organizácie, univerzity a iné školy), ktoré si s pochopiteľných dôvodov nemohli dovoliť zbytočnú duplicitnú prácu a tým aj duplicitnú platbu za ňu.
Práve uvedomenie si spoločných potrieb a spoločných problémov prirodzene priviedlo k založeniu konzorcia W3C, ktorého členmi sú tvorcovia web prehliadačov, významné softvérové firmy, vydavateľstvá, univerzity a iné organizácie, ktoré svoju budúcnosť spájajú s internetom.
Na viacerých stránkach nájdeme prehlásenie typu: "Optimalizované pre Microsoft Internet Explorer 5 a vyššie, rozlíšenie 800x600", pričom klasická obhajoba tohto prístupu znie spravidla takto: "Aj tak MS IE používa až 80% ľudí na internete." Ale čo majú robiť používatelia iných prehliadačov? Nezabúdajme, že najdôležitejšou vlastnosťou každej stránky by mala byť jej dostupnosť — aj bielym, aj čiernym, aj vidiacim, aj nevidiacim a slabozrakým, aj hluchým, aj majiteľom 19-palcových monitorov, aj vlastníkom monitorov 14-palcových — jednoducho maximálnemu počtu ľudí bez ohľadu na ich fyzické dispozície, operačný systém, typ a veľkosť monitoru, výkon procesora atď.
Uvedieme pravdepodobne veľmi neúplný zoznam existujúcich základných prehliadačov: AOL, AOL-Compuserve, AOL-Netscape, AOL-TV, Escape, HotJava, IBM Web Browser, iCab, Galeon, K-Meleon, Konqueror, Liberate TV Navigator, Lynx, Microsoft Internet Explorer, Microsoft MSN Explorer, Microsoft MSN-TV Viewer, Mozilla, NeoPlanet, OmniWeb, Opera, W3C Amaya. Okrem toho, existuje pomerne veľa ďalších prehliadačov, ktoré sú v skutočnosti nadstavbami k niektorým z uvedených alebo ich modifikáciami. Treba spomenúť aj prehliadače pre ľudí s telesnými postihnutiami — napríklad, Braillesurf, BrookesTalk, IBM HomePage Reader, Marco Polo, MultiWeb, Sensus Internet Browser, Simply Web 2000 atď.
Je jasné, že tvorba web stránok, ktoré by zohľadňovali špecifiká a odlišnosti všetkých existujúcich prehliadačov, je nemysliteľná. Jediné rozumné východisko z danej situácie predstavuje tvorba web stránok v súlade s prijatými štandardmi a prenechanie spôsobu ich zobrazovania prehliadačom, ktoré by mali tieto štandardy dobre ovládať.
Výraz „vojna browserov“, spájaný s historickým súperením prehliadačov Microsoft Internet Explorer a Netscape Navigator, pozná asi každý. V minulosti boli v tejto vojne používané viaceré neférové prostriedky. Napríklad, Microsoft zaviedol JScript a Netscape zasa Javascript, obidva prehliadače zavádzali odlišné parametre príkazov jazyka HTML a dokonca aj hneď nové príkazy — tak sa zrodili povedzme príkazy EMBED (Netscape) a MARQUEE (Microsoft).
Po vytvorení konzorcia W3C táto vojna zmenila svoju podobu: odvtedy je vojna prehliadačov o tom, kto správnejšie a rýchlejšie zobrazuje web stránky, vytvorené v súlade so štandardmi, na ktorých schválení sa podieľali všetky bojujúce strany.
Nová situácia umožnila zapojiť sa do tejto „vojny“ aj ďalším prehliadačom, medzi ktorými treba spomenúť v prvom rade prehliadače Mozilla a Opera, ktoré si získavajú stále viac priaznivcov. Prijatie štandardov tiež konečne otvorilo cestu aj špecializovaným prehliadačom — napríklad, pre ľudí s telesnými postihnutiami alebo pre mobilne zariadenia.
Každá korektne vytvorená web stránka musí obsahovať deklaráciu typu dokumentu a deklaráciu použitého kódovania, ktoré určujú spôsob spracovania stránky v prehliadači.
Deklarácia typu dokumentu (DOCTYPE) hovorí o tom, ktorá štandardná sústava príkazov bola použitá pre programovanie danej stránky. Potom prehliadač musí iba vedieť príkazy tejto sústavy správne a rýchlo interpretovať (renderovať). Napríklad, pre stránku vytvorenú v súlade s jazykom XHTML 1.0 Strict deklarácia typu dokumentu vyzerá nasledujúco:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Vidieť, že v prípade potreby si prehliadač môže „stiahnuť“ potrebné pravidlá priamo z uvedenej internetovej adresy.
Ak typ dokumentu nie je uvedený, prehliadač nevie, ktorá sústava pravidiel bola použitá, a pokúša sa iba „uhádnuť“ nejaký prijateľný spôsob zobrazenia danej stránky. Podobné hádanie si môže dovoliť obrovský Microsoft Internet Explorer na výkonnom stolnom počítači, ale nie malý zabudovaný prehliadač v mobilnom zariadení.
Okrem deklarácie typu dokumentu musí správne vytvorená stránka obsahovať aj deklaráciu použitého kódovania textu. Napríklad zodpovedajúci príkaz jazyka XHTML pre viacjazyčnú stránku v kódovaní UTF-8 vyzerá nasledujúco:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Potom na správne zobrazovanie znakov použitých jazykov stačí nastaviť v prehliadači automatické rozpoznávanie kódovania. Ak definícia použitého kódovania chýba, potom bude použité implicitné kódovanie (spravidla Western European) a niektoré alebo viaceré znaky budú zobrazené nesprávne.
Treba poznamenať, že Microsoft Internet Explorer s jeho schopnosťou „uhádnuť“ použité kódovanie aj bez uvedenia deklarácie použitého kódovania „rozmaznal“ viacerých autorov web stránok, ktorí sa často uspokoja s tým, čo vidia iba na svojom osobnom počítači. Veď predsa nebudú skúšať zobrazovať vytvorenú stránku vo všetkých možných prehliadačoch!
Naozaj, zobrazovať vytvorenú stránku vo všetkých možných prehliadačoch vôbec nie je potrebné. Stačí sa iba presvedčiť, že stránka je vytvorená v súlade so zvoleným štandardom. Na tento účel konzorcium W3C poskytuje na svojich stránkach potrebné nástroje: W3C HTML Validator (http://validator.w3.org/) a W3C CSS Validator (http://jigsaw.w3.org/css-validator/). Každý autor si môže skontrolovať správnosť kódu vlastnej stránky, ako aj akejkoľvek inej stránky na internete.
Uvedené validátory kontrolujú, či je daná stránka (resp. štýl) vytvorená v súlade s uvedenou špecifikáciou jazyka. Niektoré programy na tvorbu web stránok obsahujú prostriedky na kontrolu zdrojového kódu (syntax checkers, lint programs), ktoré, aj keď sú užitočné, nie sú skutočnými validátormi. Na druhej strane, môžu kontrolovať tie vlastnosti, ktorými sa ozajstný validátor nezaoberá: možné problémy s konkrétnymi prehliadačmi, chýbajúce záložky, možné problémy s fixnou veľkosťou obrazovky niektorých zariadení a podobne. Z voľne dostupných prostriedkov tohto druhu je možné spomenúť CSE HTML Validator Lite (http://www.htmlvalidator.com/lite/).
Používanie W3C HTML Validatora je najjednoduchšie, ak máme prehliadač Opera. Stačí stlačiť CTRL+ALT+V, a práve otvorená stránka sa odošle na validáciu, výsledky ktorej budú zobrazené v novom okne. Takto je možné vyladiť stránky uložené na osobnom počítači pred ich umiestnením na web.
V iných prehliadačoch je možné otvoriť na tento účel nové okno a využiť možnosť „upload file“.
W3C HTML Validator vyžaduje, aby kontrolovaná stránka obsahovala tak deklaráciu typu dokumentu (DOCTYPE), ako aj deklaráciu použitého kódovania (charset). Už toto samo o sebe núti autorov web stránok zamyslieť sa nad štandardmi a nad voľbou štandardu, ktorý najlepšie vyhovuje potrebám konkrétneho projektu.
HTML Tidy (http://tidy.sourceforge.net/) je vynikajúcí voľne šíriteľný program typu syntaxchecker, ktorý „čistí“ HTML kód a dokonca sám inteligentne opravuje viaceré chyby v zdrojovom kóde. Zrozumiteľná dokumentácia ho umožňuje prakticky okamžite nakonfigurovať a začať používať. Z množstva možností tohto maličkého (iba 156 kB), rýchleho a veľmi inteligentného programu treba spomenúť jeho schopnosť dať do poriadku aj to, čo vyprodukuje MS Word 97/2000 pri ukladaní súboru vo formáte HTML. Okrem toho, umožňuje konverziu HTML na XHTML, rozdelenie zadaného súboru na HTML kód a CSS kód, pekne štruktúrované preformátovanie zdrojového textu a veľa iných užitočných vecí.
O sile HTML Tidy svedčí aj fakt, že firma Macromedia na svojich stránkach poskytuje návod na integráciu jednej z verzií Tidy a programu Macromedia Dreamweaver, ktorý je momentálne považovaný za taký WYSIWYG editor web stránok, ktorý produkuje najmenej chýb v zdrojovom kóde.
Microsoft ešte tak ďaleko nedošiel, preto návod na integráciu Microsoft Front Page a HTML Tidy, ako aj zodpovedajúce zdrojové kódy v jazyku Visual Basic for Applications nájdeme inde (http://www.suodenjoki.dk/produktioner/artikler/tidy_integration_article.asp).
Existuje veľa textových (nie WYSIWYG) editorov na tvorbu web stránok, ktoré ponúkajú integráciu HTML Tidy, napríklad vynikajúci NoteTab (http://www.notetab.com/), ktorý je dostupný aj vo freeware verzii Light, alebo HTML-Kit (http://www.chami.com/free/html-kit/), ktorý je tiež freeware.
Na tvorbu kaskádových štýlov je vhodné použiť CSS editory typu Top Style (http://www.bradsoft.com), Style Assistant (http://www.styleassistant.de), Cascade (http://www.balthisar.com) atď. Ich výstup si vyžaduje buď žiadne, alebo len minimálne úpravy vyprodukovaného CSS súboru. Samotný vývoj štýlu je ľahší, ale vytvorený štýl treba vždy podrobiť validácii pomocou W3C CSS Validatora.
Použitie W3C HTML Validatora a W3C CSS Validatora a pohľad na ich chybové hlásenia prirodzene môže priviesť k záveru, že najväčšou chybou je používanie WYSIWYG editorov. Neobstoja také drahé komerčné programy ako Microsoft Front Page, Adobe GoLive a dokonca ani Macromedia Dreamweaver. Bez manuálnej úpravy alebo použitia HTML Tidy tieto, ale aj iné, WYSIWYG editory web stránok spravidla produkujú kód s chybami. Samozrejme, výrobcovia na týchto programoch pracujú aj naďalej, ale je otázne, či tie ceny zodpovedajú výkonu. Ak topánky obsahujú chybu šitia, predávajú sa za zlomok ceny ako partiový tovar. Prečo by to nemohlo byť tak aj v prípade software „šitého horúcou ihlou“?
Používatelia systému TeX dobre poznajú meno profesora Donalda E. Knutha (http://sunburn.stanford.edu/~knuth/), autora TeX-u, MetaFontu, viacdielnej monografie „The Art of Computer Programming“ a množstva iných monumentálnych a nadčasových prác v oblasti matematiky, informatiky, algoritmov, programovania, počítačovej typografie... Ostatným jeho meno spravidla veľa nepovie, aj keď ide o pravdepodobne najlepšieho programátora všetkých čias. Profesor Knuth nielen daroval ľudstvu typografický systém TeX, bez ktorého je nemysliteľné súčasné aj budúce fungovanie moderných vydavateľstiev a časopisov a ktorý patrí k public domain programom, ale aj vyplácal honoráre tým, kto objavil chyby v tomto programe. Škoda, že sa podobného kroku zo strany výrobcov komerčného software asi nedočkáme.
Kvalita produktu, ktorý bol dodaný za finančnú úhradu a nevyhovuje existujúcim štandardom, môže predstavovať dôvod na zamyslenie sa aj v prípade web stránok, vytvorených na základe komerčnej objednávky. Ak stránka obsahuje chyby v zdrojovom kóde, mala by byť reklamovaná, pretože kvôli chybám v zdrojovom kóde môže byť totiž stratená určitá skupina potenciálnych zákazníkov a s ňou súvisiaci zisk. Solídna firma by mala trvať na tom, aby technické riešenie stránky umožňovalo jej maximálnu dostupnosť, dlhú životnosť a ľahkú údržbu vrátane prípadnej konverzie do iného jazyka na tvorbu web stránok — ináč povedané, aby stránka vyhovovala strategicky vhodne zvolenému štandardu. Ale aj v prípade stránok už vytvorených a odovzdaných by bolo logické predložiť reklamáciu a žiadať o opravu odhalených chýb v zdrojovom kóde.
Môže vyhrať súťaž slohových prác sloh, obsahujúci gramatické chyby? Určite nie! Môže vyhrať súťaž v programovaní program s chybami? Tiež nie — veď by ani nefungoval! Ani súťaž v krasokorčuľovaní nevyhrá ten, kto urobil hrubé chyby alebo spadol, nech by akokoľvek umelecky mával rukami. O súťažiach klaviristov alebo huslistov ani netreba hovoriť. Umelecký dojem — áno, ale len v rámci bezchybnej technickej realizácie. Aj v prípade všetkých možných súťaží internetových stránok by to malo byť rovnaké, pretože v skutočnosti web stránka predstavuje program, ktorý obsahuje nielen text a iné prvky obsahu, ale aj príkazy na ich zobrazovanie a vzájomné rozmiestnenie.
Dodržiavanie štandardov by malo byť úplne samozrejmou vstupnou požiadavkou pre všetky stránky prihlásené do akejkoľvek súťaži web stránok, či už školskej, celoštátnej alebo celosvetovej. Stránky s chybami by sa do takých súťaží nemali ani kvalifikovať. Víťazné stránky musia byť technicky bezchybné. Jednotlivec alebo tím, ktorý nevie vytvoriť technicky bezchybnú stránku, si víťazstvo v súťaži internetových stránok nezaslúži.
Vyžadovanie technickej správnosti ako „vstupného filtra“ do web súťaží však môže dopadnúť rovnako bezvýsledne, ako prirodzené a logické vyžadovanie správnej výslovnosti od televíznych a rozhlasových moderátorov: to, že nevedia vysloviť mäkké „Ľ“ a vyslovujú slová „ĽAD“ a „LAD“ úplne rovnako, je z nepochopiteľných dôvodov druhoradé v porovnaní povedzme s ich zovňajškom. Moderátor s chybami výslovnosti by sa mal obrátiť na logopéda — a autor web stránok by si mal v prvom rade naštudovať štandardy a používať validátory.
Termín „informatika“ je uvedený v úvodzovkách zámerne. Často totiž to, čo sa pod názvom „informatika“ vyučuje na školách všetkých úrovní, nie je informatika, ale iba oboznámenie sa s niektorými prostriedkami informatiky v podobe vybraného software a hardware. Ak by sme to brali vážne, potom by sme museli stotožniť matematiku iba s používaním kalkulačky.
Pokiaľ ide o tvorbu web stránok v rámci „informatiky“, vyučuje sa prevažne používanie konkrétnych programov — väčšinou je to Microsoft Front Page. Pritom sa za jeho tlačidlami a menu stráca všeobecný a univerzálny štruktúrovaný prístup k tvorbe elektronických dokumentov, ako aj rozdiel medzi vlastným obsahom dokumentu a vonkajšou formou jeho prezentácie. Namiesto štruktúrovaného spôsobu myslenia a štruktúrovanej prezentácie informácií sa žiak alebo študent naučí iba klikať vo vybraných programoch.
Vhodný základ by predstavovalo práve informovanie o štandardoch na webe spolu s dôrazom na tvorbu dobre štruktúrovaných a technicky správnych dokumentov. Tieto princípy sa dajú následne aplikovať pri práci tak s už existujúcimi programami, ako aj s programami, ktoré sa objavia až v budúcnosti.
Väčšinu chýb, ktoré sa vyskytujú na web stránkach, môžeme rozdeliť na tri základné skupiny:
Na opravu spomenutých typov chýb je možné použiť postupy, ktoré sú uvedené nižšie. Pochopiteľne, uvádzané postupy a spomínané názvy programov treba chápať ako orientačné a prispôsobiť ich konkrétnym podmienkam a dostupným programom.
Bohužiaľ, úroveň slovenčiny na mnohých slovenských stránkach nie je vysoká. Pričom pri použití existujúcich prostriedkov na úpravu textu nie je vôbec ťažké vyhnúť sa chybám pravopisu napríklad takto:
Poznamenáme, že niekedy je výhodnejšie najprv pripraviť text pomocou programu s podporou kontroly pravopisu, a až potom pridávať príkazy jazyka pre tvorbu web stránok (HTML, XHTML, XML). Toto je vhodný krok v prípade, ak webmaster nie je autorom obsahu stránky a nemôže si dovoliť upravovať samotný obsah.
V prípade cudzojazyčných stránok je kontrola pravopisu rovnako dôležitá. Ak sa návštevník stránky rozhodne použiť na preklad stránky povedzme z nemčiny do angličtiny nejaký automatický prekladač (Google, BabelFish, atď.), preklad bude aj tak nedokonalý — tak načo ho zhoršovať ešte viac slovami s pravopisnými chybami, ktoré práve kvôli pravopisným chybám nebudú preložené?
Chyby tohto druhu môžu byť odstránené iba v režime editovania zdrojového kódu. Postup môže byť nasledujúci:
Proces opravy chýb jazyka HTML je možné výrazne skrátiť použitím vyššie popísaného programu HTML Tidy, ktorý umožňuje pracovať v režime off-line.
Aj tieto chyby je možné odstrániť iba v režime práce so zdrojovým kódom, napríklad takto:
Podobne treba skontrolovať aj obsah príkazov <STYLE>
v dokumente (embedded style), ako aj hodnôt parametrov STYLE v príkazoch jazyka HTML (in-line style).
Dodržiavanie štandardov je v záujme všetkých „obyvateľov“ internetu z hľadiska rozvoja obchodu, vzdelávania, zábavy a komunikácie. Preto by sa mala tvorba web stránok v súlade so štandardmi stať úplnou samozrejmosťou.
© Igor Podlubny 2003. Valid XHTML 1.0 – Valid CSS2