Vývoj značkovacího jazyka HTML z hlediska sémantiky

Článek pojednává o sémantice ve značkovacím jazyce HTML. Prostředky pro popis významu obsahů jsou hledány na různých syntaktických úrovních jazyka a také jsou vedle sebe stavěny různé verze jazyka – chronologický pohled končí aktuálním tématem „Microformats“.

Proč se zabývat sémantikou a HTML

Nebudeme daleko od pravdy, když řekneme, že značkovací jazyk HTML je na dnešním webu dominantním jazykem pro značkování obsahu. To samotné je důvodem, proč se zabývat jazykem HTML - protože jemu patřila minulost webu, patří mu současnost a zatím nic nenasvědčuje tomu, že by mohl přijít o svou budoucnost, jakkoli by si to mnozí lidé, zejména přátelé sémantiky, přáli.

A proč se zabývat sémantikou v kontextu WWW? Myslím, že dostatečným odůvodněním bude i ten malicherný fakt, že jde o trend, který se jeví, že by mohl mít budoucnost. Takže proč se nevěnovat něčemu, co už dnes dosáhlo jisté obecné popularity, co už dnes nalézá praktické uplatnění, zcela hmatatelný přínos. Příkladem nechť postojí například mikroformáty, (které se ostatně dotýkají tématu HTML a bude o nich řeč níže) schopné označkovat několik zajímavých sémantických prostorů, například kontaktní údaje fyzických osob.

V souhrnu: zdá se, že jak HTML, tak sémantické značkování obsahu na webu má svou budoucnost a když prolneme tyto dva předměty, otevírá se nám tu specifičtější otázka: jak je to s tou sémantikou konkrétně v HTML?

Kde se lze v HTML setkat se sémantikou

Ze syntaktického hlediska je možné rozlišit tři místa, kde lze sémantickou informaci nalézt. Takto může vypadat úryvek kódu HTML dokumentu:

<značka vlastnost="hodnota vlastnosti">značkovaný obsah</značka>

V duchu této struktury se odehrává většina dokumentů HTML. Jak vidno, na příkladě je obsah uzavřen mezi počáteční a uzavírací značku (často se používá originální, anglické označení pro značku: tag). Dále je značka doplněna o vlastnost se svojí hodnotou. Tato vlastnost i hodnota, stejně jako značka samotná, se vztahují k popisovanému obsahu a něco o něm vypovídají, respektive vypovídat mohou.

Čili popis sémantického rázu spatřuji na všech třech úrovních značkování (úrovně jsou v ideálním případě vskutku hierarchické, tedy hodnota jakožto nespecifičtější úroveň specifikuje danou vlastnost a vlastnost je ve stejném vztahu ke své značce. Ale opět, takováto hierarchie je hypotetický jev, který by byl universálním snad jen kdyby všechny značky, vlastnosti (neboli atributy) a hodnoty vlastností měly za úkol sémantický popis obsahu, což nemají. Namátkou vlastnost onclick, která je součástí i návrhu příští verze HTML, je pouhým zprostředkovatelem k uživatelskému skriptování v dokumentu - vlastnost popisuje událost která se může udat v souvislosti s elementem a hodnotou vlastnosti přímo skriptovací kód (nedefinuje-li tvůrce dokumentu jinak, v jazyce JavaScript).

Před hodnocením

Jelikož o značkách, atributech nebo hodnotách nebývá explicitně dáno, zda jejich informace se váže k sémantice, je toto rozlišení úkolem intelektuálního typu, je to na člověku, který se táže. Než se ale mohu dostat k onomu procesu škatulkování součástek HTML, je potřeba si trochu ujasnit pravidla. K tomuto zvláštnímu zastavení se před cílovou rovinkou mám speciální důvod: lidé nejsou zajedno. Existují totiž dva základní způsoby vnímání sémantičnosti popisných znaků. Rozkol se týká především rozdělení značek.

Dvou-skupinové dělení

Zaprvé se můžeme setkat s dvou-skupinovým dělením: na značky:

  • prezentační
  • sémantické

Elementy HTML se dělí na dvě základní skupiny podle toho, jestli určují způsob prezentace nebo logickou strukturu (sémantiku) dokumentu: [...] [1]

... píše Jiří Wetter ve své ve své diplomové práci[2].

Tří-skupinové nebo čtyř-skupinové dělení

Alternativní přístup je k vidění například na české Wikipedii, kde uvádějí takovéto rozdělení značek:

Značky lze z hlediska významu rozdělit na tři základní skupiny:

  • Strukturální značky: rozvrhují strukturu dokumentu, příkladem jsou odstavce (<p>), nadpisy (<h1>, <h2>). [...]
  • Popisné (sémantické) značky: popisují povahu obsahu elementu, [...]
  • Stylistické značky: určují vzhled elementu

Rozdíl zde spočívá v definování nové kategorie - strukturálních značek. Zatímco v prvním přístupu jim je přisuzováno sémantické sdělení, v druhém přístupu jsou úkolu „popisovat význam" zproštěny.

Osobně se přikláním k druhé cestě, nemyslím, že je možné značky kategoricky vnímat jako buď sémantické - anebo jako prezentační. Jednoduchým pokusem ukážu subjektivní nutnost existence kategorie „strukturální":

Vezměme značku h1, která má za úkol značit nadpis nejvyšší úrovně v dokumentu. Je snad tento úkol z rodu prezentačních? Ano, na tento druh textové informace se vážou jisté typografické konvence, a pak se nelze divit, že obsah značkovaný tímto způsobem se ve vizuálních prohlížečích zobrazuje jistým způsobem...

Visual browsers usually render more important headings in larger fonts than less important ones.[3]

... avšak podstatnější sdělení specifikace k tomuto typu značek bude jistě toto:

A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.[4]

Čili značka h1 (a další značky pro další úrovně nadpisů) značí (patrně, obvykle) textový obsah, který uvozuje následující obsahovou sekci. Text specifikace dále připomíná, že struktura nadpisů může být využita ke generování obsahů ve smyslu „strukturální shrnutí dokumentu, volitelně odkazující na odpovídající pasáže plného textu". Strukturální účel značek nadpisů se potvrzuje ještě tím, že je nemůžeme chápat jako sémantické. Neboť co říká značka h1 o charakteru svého obsahu? Nic. Můžeme ji vnímat jako značku upozorňující na zvýšenou důležitost obsahu, pravděpodobný obsahový extrakt a koncentrát obsahu následujícího, avšak podle mého názoru důležitost můžeme těžko chápat jako značkování obsahu v sémantické rovině.

Typickým zástupcem z kategorie sémantických značek bude address, která dle dnešní verze návrhu HTML 5 označuje kontaktní informace vztahující se k dokumentu či jeho dílčí části.

The address element represents the contact information for the section it applies to. If it applies to the body element, then it instead applies to the document as a whole.[5]

Ze značky address můžeme usoudit něco o jejím obsahu: bude se jednat o informace odkazující na lidi, kteří jsou v nějakém vztahu k danému obsahu, patrně správci nebo autoři. Jen škoda této trošku vágní definice, nepříliš vzdálené od návrhu první verze HTML (1993):

This element is for address information, signatures, authorship, etc, often at the top or bottom of a document.[6]

Takže za sémantické značky budu v rámci tohoto textu považovat ty, které budou mít specifikacemi dánu schopnost označit  svůj význam svého obsahu. To znamenaná nikoli charakterizovat libovolnou vlastnost, to znamená více či méně specifikovat sémantický prostor, jenž je projednáván v obsahu, takže charakterizovat způsob danosti oné, dosud plně nespecifikované entity, jež je obsahem. Element typu address říká, že jeho obsah budou reference na osoby(-denotáty) nějak spjaté s vnějším obsahem. Značka time objímá obsah symbolizující nějakou danost naší reality, které říkáme čas (a opět existuje linie mezi „zdejším" symbolickým světem až do světa zdejších denotátů). Značka var, jež je značkou pro proměnnou programovacího jazyka, značka tedy opět specifikuje význam obsahu, významem zde budiž nějaká vysoce specifická abstraktní entita vzešlá z nějaké části světa fyzických denotátů. Podobné cesty skrze světy budou hádám podnikat významy i ostatních sémantických značek.

V nadpisu jsem mluvil o čtyřech možných skupinách značek. Další skupinu tvořím, protože si myslím, že pro některé značky neexistuje vhodná kategorie: například značky, pomocí kterých se tvoří formulářová pole různých typů jsou kategorií samou pro sebe, neboť nejsou sémantické (v podstatě nepopisují obsah, leda tak prostor pro uživatelský obsah a i to pouze na syntaktické úrovni (v HTML 5 neplatí zcela)). Stejně tak nevyznačují strukturu dokumentu. A sem, do čtvrté kategorie by pak případně patřily i jiné značky, které ušly mé pozornosti. Toť kategorie Ostatní.

Trocha sémantiky ve strukturálních značkách

Ještě by možná bylo zajímavé pozastavit se u případu nadpisů (h1-h6). Dalo by se namítnout, že ony nadpisy, podobně jako například odstavce (p) ukazují, jaké jsou vztahy mezi částmi obsahu. Konec odstavce může značit změnu sémantického prostoru, značky pro neuspořádaný seznam mohou značit účast entit v množině, mohou vyjadřovat hierarchii (stejně jako nadpisy). Zde se opravdu nějakým způsobem sémantiky dotýkáme, avšak řekl bych, že struktura je jen obecnou sémantikou, pokud sémantikou vůbec. A vztahy samotné nikdy nestačí k popisu obsahu, k určení významu, k vytvoření myšlenkového konstruktu o obsahu, k finálnímu poukázání na potenciální denotáty. Strukturální značky a struktura jako taková jsou jen berličkou, samy o sobě se nikam nedostanou...

Počátky, vývoj a vize sémantiky v HTML

Už v roce 1991 přichází Berners-Lee se základy HTML, o dva roky později Berners-Lee s Connollym publikují návrh specifikace HTML (jakožto jazyka odvozeného od SGML), což se později bude chápat jako HTML verze 1.0. Z tohoto textu vybírám několik značek, atributů a vlastností, které dle výše definovaného pravidla vnímám jako sémantická.

Ve stejném  roce (1993) spatřuje světlo světa HTML+, návrh na doplnění HTML o značky, které byly implementovány do prohlížečů (z tak rychlé a na specifikaci nedbající implementaci můžeme usuzovat, že jde o možnosti jazyka velmi podstatné, ale také to můžeme chápat jako boj mezi prohlížeči o zákazníka - tvůrce dokumentů). Zajímavé je, že příští specifikace (HTML 2.0, 1995) na tento jev reagovala vyjádřením svého přání, aby byla respektována a každá další implementace HTML probíhala podle standardu, specifikace.

HTML 2.0 a HTML 3.0, jehož vývoj byl veden již pod taktovkou organizace World Wide Web Consortium (W3C), jsou publikovány chvíli po sobě - v roce 1995. V 1997 se objevuje jak korekce s číslem 3.2, tak nová verze 4.0. O dva roky později přichází opomenutelná tečka - revize 4.01 - která je do dnešní doby, jakkoli se to může zdát absurdní, poslední a nejnovější platnou existující verzí HTML.

Je otázkou, jestli do rodiny HTML je možné byť symbolicky přijmout i redefinici jazyka HTML (původně vycházejícího z SGML) podle nového, obecného značkovacího jazyka XML, tedy XHTML. Nicméně smutnou pravdou zůstává, že nový jazyk (jakožto redefinice zprvu logicky nebyl nijak inovativní), do kterého se upíraly pohledy plné naděje nenabídl „webu" nic, co by je mohlo  zachránit před neveselou budoucností (XHTML 1.0 vyšel v roce 2000, XHTML 1.1 v 2001, dál prozatím nic), přestože XHTML od XML podědilo i tak oslavované schopnosti jako jmenné prostory, namespaces. Obnova projektu HTML a start tvorby HTML verze 5 se tak staly událostí roku 2004 a pozvolná implementace novinek této verze do prohlížečů, to je přítomnost. Kdy se stane HTML 5 realitou, respektive kdy bude specifikace dokončena, to by měl být přibližně rok 2012.

It is estimated by the editor that HTML5 will reach the W3C Candidate Recommendation stage during 2012.[7]

Následující tabulka obsahuje vybrané elementy, atributy či vlastnosti, z těch, které jsem považoval za „sémantické".

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zdroj: HTML 1[8], HTML 2[9], další verze[10]

Z 91 značek v HTML 4 nebo z 103 značek v HTML 5 se jich zde sešlo jen pár, a u některých by jistě šlo polemizovat, zda si své umístění zasloužily. Některé, kupříkladu značka header jsou ve specifikaci (HTML 5) popsány doopravdy nepochopitelně „volným" způsobem:

The header element represents the header of a section. The element is typically used to group a set of h1-h6 elements to mark up a page's title with its subtitle or tagline. However, header elements may contain more than just the section's headings and subheadings - for example it would be reasonable for the header to include version history information. [11]

Podobně jako footer obsahuje nějaké metainformace. Jaké? Specifičtěji by to dokázaly popsat další značky - ovšem žádné neexistují. Neexistuje speciální značka pro podtitul, pro vyznačení jména autora, pro vyznačení dalších jmen a provázání jmen s funkcemi, není možné pomocí prostředků HTML 5 popsat datum tak, aby bylo zřejmé, že jde o datum vzniku obsahu. Nevyznačíme obsah (ve smyslu table of contents), nevyznačíme rejstřík, klíčová slova, abstrakt... I když opět v pár případech by se dalo přít, zda by šlo o značky sémantické, anebo strukturální, v každém případě myslím nejde upřít jejich využitelnost.

Z tabulky se dá vyčíst jedno: potřeba sémantického značkování se ozvala v roce 2004 znovu. To už byly na světě jiné jazyky, které na nastávající trend dokázaly zareagovat flexibilněji, namátkou aplikace XML jako RSS, které v některých verzích integrovalo i součásti RDF (tedy jazyka stvořeného pro popis sémantických skutečností ve třech úrovních ne nepodobných hierarchii popisované zde v HTML: značka - vlastnost - hodnota vlastnosti.) To, že HTML není schopno dostatečně uspokojovat lidskou touhu po značkování, které dává symbolům smysl, se odráží i v realitě, kde vznikají iniciativy, snažící se rozšířit HTML o právě tyto možnosti. Více o tom: v následující kapitole.

Sémantika v HTML a mimo HTML zároveň

Samozřejmě, můžeme rezolutně prohlásit, že co není součástí oficiálních specifikací HTML, není součástí HTML, tím bychom však zůstali v nudné akademické rovině, která se zdaleka nekryje s realitou - se světem prohlížečů, které (zvláště v počátcích) implementovaly možnosti, které nebyly součástí specifikací, vlastně silou vlastní popularity prosazovaly do praxe něco, o čem v teorii nebyla řeč. Čili vznikaly, a možná, že se tak stále ještě děje, nové značky a nové neoficiální rádoby-součásti jazyka HTML.

Musím uznat, že pokud v prvotních dobách vznikaly značky neoficiální cestou, nešlo v drtivé většině o značky sémantické. Ať už značky pro vytvoření uspořádávání tabulkových dat anebo značky na způsob bgsound (zvuk „na pozadí" stránky), prvotními potřebami nebylo sémantické značkování. Jakoby na tom sémantickém značkování, na tom, aby obsahu mohl porozumět stroj, začalo záležet až poté, když bylo možné označkovat obsahy k plné pochopitelnosti pro člověka.

Nedostatek jazykových možností nás netrápil pouze v minulosti - i dnes je zjevné, že existuje příliš málo značek pro popis obsahu a jsou iniciativy, které se stím nehodlají smířit. Jedním a přesto dostačujícím příkladem za všechny může být iniciativa Microformats, do češtiny prostě překládáno jako mikroformáty. Nerozšiřují HTML o nové prostory a rozměry, zaujali pozici v několika málo zbývajících prostorech, ve kterých provádějí své sémantické značkování. Mikroformáty jsou množinou návrhů, které se chtějí stát konvencí či standardem, přičemž každý návrh se věnuje popisu svého vybraného sémantického celku:

Namátkou mikroformát nazvaný nCard se věnuje popisu kontaktních údajů (s rozlišením až na nebývale elementární symbolické celky, jako například „křesní jméno" anebo „telefon do práce"), Rel-License zase specifikuje doporučovaný způsob, jak označovat odkazy (a), které odkazují na licenci, která se vztahuje na obsah daného dokumentu. Označení takového odkazu proběhne přiřazením hodnoty license vlastnosti rel. V případě značkování kontaktních informací pomocí mikroformátu nCard bude proces obdobný - značkám obepínajícím jednotlivé informační celky budou vlastnosti class přiřazeny určité hodnoty, které specifikace mikroformátu pojí s významy. Tedy jediný prostor kam mikroformáty zasahují, jsou hodnoty atributů, a to navíc atributů, které mají ve své podstatě obsah volný.

Některé z mikroformátů se rozšiřují, získávají na používanosti. Tvůrci webových prohlížečů na to reagují: implementují do svých programů rozhraní pro rozpoznávání  a zpracovávání takto označkovaných obsahů. Zdá se, že mikroformáty mají před sebou více času, než za sebou...

Kam kráčí sémantika v HTML

A kolik času má před sebou HTML? Není pochyb o tom, že na chvíli zaspalo, ale pak opět vyrazilo na dlouhou cestu. Uspokojí svou nabídkou, svými možnostmi tvůrce webových stránek? Tvůrci reagují na potřeby a přání konečných uživatelů. Takže co uživatelé, co potřebují oni? A je to vůbec v moci HTML? Nakonec, na strojích leží čím dál více zpracovatelské práce, informace je čím dál více zpracovávána strojem, stroj potřebuje čím dál větší pochopení pro obsah, a to znamená buď větší schopnost rozpoznávat význam způsobem lidským, anebo způsobem svým - v tom případě dojdeme k tomu, že značkovat informace sémanticky je opravdu potřebné, užitečné a nakonec i nezbytné. HTML je jen jeden způsob podání. Můžeme čekat, že se bude měnit v závislosti na potřebách uživatelů a jejich uživatelů, můžeme čekat, že bude časem nahrazeno zcela novým jazykem se zcela jinými, pokročilejšími syntaktickými i gramatickými pravidly. Asi nezbývá, než si počkat na budoucnost.


Zdroje

  • Mikle, Pavol. XDHTML : úplná přesná referenční příručka : HTML, XHTML, DHTML. Brno :Zoner press,2004.206 s.
  • Wetter, Jiří. Vývoj značkovacích jazyků s ohledem na tzv. sémantický web. [s.l.], 2006. 140 s. Diplomová práce.
  • Tondl, Ladislav. Problémy sémantiky.Praha :Karolinum,2006. 413 s.
  • Tondl, Ladislav. Půl století poté :pohledy na problémy sémantiky a sémiotiky v posledních desítiletích. Praha :Univerzita Karlova v Praze, nakladatelství Karolinum,2006. 109 s.
  • Musciano Chuck, Kennedy Bill. HTML a XHTML :kompletní průvodce. Praha :Computer Press,2000. 633 s.

Online zdroje

 


[1] Wetter, Jiří. Vývoj značkovacích jazyků s ohledem na tzv. sémantický web. [s.l.], 2006. 140 s. Diplomová práce.

[2] viz 1.

[3] HTML 4.01 Specification : Headings: The H1, H2, H3, H4, H5, H6 elements [online]. 1999 [cit. 2008-06-18]. Dostupný z WWW: http://www.w3.org/TR/html4/struct/global.html#h-7.5.5.

[4] viz 3.

[5] HTML 5 : A vocabulary and associated APIs for HTML and XHTML, Editor's Draft 18 June 2008 : The address element [online]. 2008 [cit. 2008-06-18]. Dostupný z WWW: http://www.w3.org/html/wg/html5/#address.

[6] Berners-Lee T., Connolly D. HTML Hypertext Markup Language (HTML): A Representation of Textual Information and MetaInformation for Retrieval and Interchange [online]. 1993 [cit. 2008-06-18]. Dostupný z WWW: http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt.

[7] WHATWG Wiki : FAQ : When will HTML 5 be finished? [online]. 2008 [cit. 2008-06-18]. Dostupný z WWW: http://wiki.whatwg.org/wiki/FAQ#When_will_HTML_5_be_finished.3F.

[8] Berners-Lee T., Connolly D. HTML Hypertext Markup Language (HTML): A Representation of Textual Information and MetaInformation for Retrieval and Interchange [online]. 1993 [cit. 2008-06-18]. Dostupný z WWW: http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt.

[9] Berners-Lee T., Connolly D. HTML. Hypertext Markup Language - 2.0  [online]. 1995 [cit. 2008-06-18]. Dostupný z WWW:  http://www.w3.org/MarkUp/html-spec/html-spec_5.html.

[10] Meiert, Jens. HTML Elements Index [online]. 2008 [cit. 2008-06-18]. Dostupný z WWW:  http://meiert.com/en/indices/html-elements/.

[11] HTML 5 : A vocabulary and associated APIs for HTML and XHTML, Editor's Draft 18 June 2008 : The footer element [online]. 2008 [cit. 2008-06-18]. Dostupný z WWW:   http://www.w3.org/html/wg/html5/#footer.

Fotogalerie

Líbil se vám článek?
Stáhnout článek v PDF

0 komentářů

Přidat komentář

(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Přečtěte si také

Přihlášení Registrace
RSS Facebook Twitter YouTube
Zobrazit standardní verzi webu

Taky děláme

Feedback