S grid jsem se zatím nesetkal. Neznám podrobnosti. Ale také si myslím, že rozdělení stránky pomocí table, za určitých situací, není špatný nápad. Přestože bývá šmahem zatracováno. Nicméně grid řešení mi přijde celkem elegantní, byť je to skoro totéž jako tabulka.
Tabulka může zůstat opravdu pro tabulkové hodnoty, tak jak (asi) byla původně zamýšlena. Vč. renderingu (dokáži si představit rozdíly, volnější pro grid /třeba při nedostatku šířky/, svázanější pro tabulku /i za cenu přetečení tiskové stránky, .../) a podobně.
Grid by tak mohl opravdu sloužit čistě pro vzhled. I kdyby v browseru 95% funkcí interně zpracovávaly stejné rutiny jak pro tabulku tak i grid.
Nápad se mi celkem zamlouvá.
Na <table>
není nic špatného, naopak je správně – pokud to používáte pro tabulková data. Zneužití pro layout je špatně, protože <table>
v sobě nese význam. Když se podíváte na stránku novin, není to přece žádná tabulka. Navíc HTML je značkovací jazyk, kterým se vyznačuje struktura obsahu – a prezentovaný pak může být různě. Může se zobrazit na obrazovce počítače, na mobilu, může být přečten. Tabulka je pořád tabulka, s pevně daným počtem sloupců a řádků, musí se tak zobrazit kdekoli, musí se tak přečíst. Grid řeší vizuální formátování, a to může být na různých zařízeních různé.
Pane Jirsáku, s Vaším názoremby se dalo hodně polemizovat. HTML vzniklo jako implemetace principů SGML pro hypertextové dokumenty. HTML si nikdy historicky nekladlo za cíl ani jednotné zobrazní, ani stránkovou orientaci. Naopak, hlavním akcentem byla provázanost (textových) informací a možnost vložit obrazové zdroje do textu a odkazy na přílohy. (V tomto ohledu není bez zajímavosti nastudovat si, co byl Gopher - to byl velmi využívaný protokol, dlouho stojící mezi FTP a HTTP).
Prvek TABLE byl opravdu zneužitý k tomu, aby do HTML a do prohlížečů přinesl stránkovou orientaci a (aspoň částečně) kontrolovaný zlom. Zneužitých prvků ale najedeme spoustu, H1-H5, UL/LI, ... To vše se používá dodnes jako kompromis mezi tím, co měly reprezentovat, a mezi tím, co "žádá trh".
Současné vyuřívání DIVŮ, které nenesou žádnou informační hodnotu, ale jsou jen grafickým balastem, nelze řadit, aspoň z pohledu HTML na o nic lepší úroveň.
U TABLE byl ve skutečnosti, opravdu, problémem jen ten dvouprůchodový rendering, kterému se ale dalo předejít. Naopak vhodná je tabulka do layoutu tam, kde potřebujete zachovat mřížku více sloupců a mnoha řádků - ostatní metody jsou více vhodné.
Bohužel, v literatuře i mezi (pseudo)odborníky se tato znalost zredukovala jen na to, že TABLE se používat nemá. Připomíná mi to Orwellovské: "každý, kdo chodí po dvou nohách, je nepřítel; každý, kdo chodí po čtyřech nohách nebo má křídla, je přítel".
Takže ano, zneužívání TABLE je prasárna, ale byl bych opravdu, opravdu opatrný toto téma zjednodušovat.
HTML vzniklo jako značkovací jazyk pro text (všimněte si, že v tom nikde není nic o zobrazení textu). Původně se skutečně bralo v úvahu jenom zobrazení, ale pak si lidé postupně uvědomili, že je HTML dobrý základ pro vyznačování textu bez ohledu na způsob jeho prezentace, protože HTML už mělo spoustu sémantických značek – h1
– h6
, ul
, ol
a dl
nebo právě table
. Pro prezentaci se pak začalo používat CSS. Proto se HTML už hodně dlouho posouvá k významovým značkám, přestala se používat značka font
, místo značky b
pro tučné písmo se používá značka strong
označující zdůraznění, a teprve ve stylech se určí, jak se má to zdůraznění prezentovat, atd. Proto byly do HTML5 přidány značky jako main
, article
apod.
Na používání div
a span
není nic špatného, tyto značky nemají žádný sémantický význam a je tedy jasné, že jsou použité jako pomůcka pro prezentaci. Není to úplně ideální a používají se často kvůli omezeným vyjadřovacím možnostem CSS, ale to naštěstí právě Grid a Flexbox výrazně omezí. Nicméně ty značky se budou používat dál, protože HTML má sémantické značky pro pár nejdůležitějších prvků, ale zbytek se holt musí poskládat z univerzálních značek. Naproti tomu zneužívání table
je špatné, protože v textu vyznačíte něco jako tabulku, ale ona to žádná tabulka není.
table
do layoutu vhodná není, protože layout je jenom způsob prezentace (a ani není jediný), přitom v HTML má být jenom význam, způsob jeho prezentace se dodává externě pomocí CSS – což umožňuje tytéž informace prezentovat různými způsoby.
Nezaznamenal jsem žádné vyjádření odborníka, že se table
používat nemá – od odborníků jsem slyšel vždy jen tvrzení, že table
se má používat pouze pro prezentaci tabulkových dat. A tak je to správně.
Uz zase... Clovece, naozaj, prosim vas, prestante. Tvrdit, ze u TABLE bol problem LEN dvojprechodovy rendering, ale inac to je uplne v poriadku ako nastroj pre layout stranky, je naozaj znakom, ze neviete o com hovorite. A ze DIV su graficky balast... ale no tak.
Mozno vo vasom svete teorie to tak naozaj vyzera, ale v praxi je cokolvek lepsie pre layout nez TABLE. Aj ten DIV, ktory je udajne graficky balast. Ale pripustam moznost, ze neviete o com je rec.
Patrně jste v té době nic nědělal. V době IE4 a NN3/4 byly zcela odlišné interpretace DIV a SPAN, TABLE bylo prostě jedno z východisek jak se dobrat cíle.
HTML bylo v té době znásilněno k layoutu a používání TABLE zatraceno. Ale pokud bychom měli být spravedliví, tak ve vývoji HTML bylo daleko víc iracionalit, než jen zneužívání TABLE.
Používat TABLE pro layout je samozřejmě nesmysl, ale nesmí se to brát dogmaticky. Stejně nesmyslné může být používání i DIV/SPAN, pokud není s rozmyslem. Další značky, které jsou zneužívány, jsem také uvedl.
Jako příklad, kde může být TABLE použitý i pro layout, a je to i sémanticky správně, je např. sloupcové zobrazení ve stylu novin, pokud není žádaná a žádoucí responsivita. Podle situace může být, ale nemusí, tabulkou řešený např. kalendář - ať už týdenní nebo měsíční - opět, lze to řešit i přes SPANY, ale proč, když sémantika tabulky tomu odpovídá?
Nevím proč ze mě děláte heretika jen kvůli tomu, že se na věci nedívám nekriticky, ale i o nich uvažuji..?
V době IE4 a NN3/4 byly zcela odlišné interpretace DIV a SPAN
Ne, nebyly. div
byl odjakživa blokový prvek bez sémantického významu, span
odjakživa inline prvek bez sémantického významu.
TABLE bylo prostě jedno z východisek jak se dobrat cíle
No, v době IE4 a NN3/4 bylo table
prakticky jediná možnost, jak se dobrat vícesloupcového layoutu.
HTML bylo v té době znásilněno k layoutu a používání TABLE zatraceno.
Nikoli. Nejprve bylo HTML znásilněno k layoutu a table
se pro tyto účely začalo používat. Teprve o mnoho let později bylo CSS alespoň na takové úrovni, že bylo možné začít dělat layout pomocí plovoucích div
ů a jiných divů.
Používat TABLE pro layout je samozřejmě nesmysl, ale nesmí se to brát dogmaticky.
Proč by se to nemělo brát dogmaticky? K používání table
pro layout dnes není žádný důvod, vždy to bude horší než jiné řešení, rozbijete tím responzivnost, hlasové čtečky a přístupnost obecně.
je to i sémanticky správně
Ne, není. Layout je způsob prezentace, sémantika je význam, jsou to dvě věci, které nemůžete vyjádřit najednou.
např. sloupcové zobrazení ve stylu novin
Viděl jste někdy noviny? Tam je nějaká tabulka? Když někomu chcete říct, kde to v novinách píšou, řeknete mu, že to bylo ve třetím sloupci ve čtvrtém řádku? Sloupcové zobrazení ve stylu novin je zrovna ten případ, kdy použití tabulky je jednoznačně špatně, bez výjimky. Ostatně sám jste to napsal, je to sloupcové zobrazení, takže žádná sémantika, ale prezentace.
Podle situace může být, ale nemusí, tabulkou řešený např. kalendář - ať už týdenní nebo měsíční - opět, lze to řešit i přes SPANY, ale proč, když sémantika tabulky tomu odpovídá?
Všimněte si, že většina programů umožňuje týdenní, měsíční nebo denní pohledy na kalendář přepínat. Kalendář je totiž ve skutečnosti strukturovaný seznam událostí, a „týdenní kalendář“ nebo „měsíční kalendář“ jsou jen způsoby jejich prezentace. Takže sémantika tabulky kalendáři obecně neodpovídá. Ale trefil jste se alespoň v tom, že někdy může dávat smysl vykašlat se na obecný kalendář, říct si, že prostě chcete prezentovat jenom měsíční kalendář formou tabulky a ostatní způsoby prezentace a význam dat vás nezajímají. Pak může dávat smysl použít tabulku – ovšem při vědomí toho, že je to zjednodušení a že se význam podřizuje vzhledu.
Nevím proč ze mě děláte heretika jen kvůli tomu, že se na věci nedívám nekriticky, ale i o nich uvažuji..?
Neuvažujete o nich, díváte se na ně nekriticky. Snažíte se tu nekriticky obhajovat používání table
pro definování vzhledu stránky, místo abyste se nad tím kriticky zamyslel a uvědomil si, že HTML má označovat význam, a způsob prezentace se dodává styly – přičemž jedno HTML může být pomocí různých stylů prezentováno různě.
Vaše postoje bych bral, kdyby se HTML používalo (a vůbec dalo používat) tak ideálně, jak píšete. Rozumím Vašemu postoji, i tomu, co říkáte, ale nesouhlasím s tím, že je to reálné a praktické.
Stejnou úvahou bychom pak nutně došli k tomu, že publikovat nemá smysl v ničem jiném, než TeXu, zalamovat stránky v ničem jiném, než InDesignu, a do layoutu pro tisk nezahrnovat nic jiného, než vektorovou grafiku, když to jde. Jezdit bychom mohli uniformními automobily, které by měly "ideální" výbavu, ale za zlomek ceny (úspory z rozsahu, úspory na marketingu), protože individualita stačí ve výběru barvy. ... ... ... Ano, takový svět by byl opravdu "ideální", ale taky děsně sterilní a bez šance na vývoj. (BTW to mi připomíná, jak se ke strnulosti vývoje hlásí Donald Knuth, tím, jak čísluje verze přidáváním desetinného rozvoje pi).
Jen na okraj, Vaše interpretace pojmu "tabulka" je pouze ve smyslu "(dvourozměrná) matice hodnot". Historicky byla tabulka jakýkoliv vizuální útvar, který se vyznačoval zarovnáním ve vertikálních a horizontálních liniích - obecně pravoúhlá plocha. Takže samozřejmě, noviny nebo kalendář jsou tabulkami. Čokoláda, obvykle navíc rozdělená na kostičky, je taktéž tabulkou - ale tu do HTML nenacpeme, aniž by ztratila na chuti a vůni.
Máte konkrétní příklad layoutu, který se dá vyřešit jedině tabulkou v HTML? Bez toho to vaše teoretizování nedává smysl. A než takový příklad začnete vymýšlet – CSS display: table
znáte?
Pouhé zarovnání ve vertikálních a horizontálních liniích tabulku nedělá, to by pak tabulkou bylo kde co. Pletete si tabulku (anglicky table) s mřížkou nebo roštem (anglicky grid). Noviny v žádném případě nejsou tabulka, je to vícesloupcová sazba, případně zarovnaná i vertikálně do mřížky.
Tlačíte mě někam, kam nechci. Skoro vše se dá řešit jinak,než tabulkou, ale je to slepé dogma.
V devadesátých letech se tabulkou "řezaly" obrázky, skládaly záhlaví, dělaly úplné zhůvěřilosti, a o nich samozřejmě němluvím.
Váš výklad pojmu "tabulka" / "table" je mylný, zbytečně úzký. I v angličtině má tabulka více významů.
Naopak to, co Vy zužujete na pojem "tabulka" je blíže významu "grid".
Sloupcová sazba má k tabulce nejblíž, protože od sloupců očekáváte svázané chování v obou rovinách, obdobně jako u kalendáře. Toto chování je základní vlastností, nikoliv vedlejším efektem z nouze.
Ale to je jedno, tato diskuse je z principu nevyhratelná a můžeme se shodnout na tom, že se neshodneme.
Skoro vše se dá řešit jinak,než tabulkou, ale je to slepé dogma.
Slepé dogma je to vaše přesvědčení, že je dobré někdy tabulky zneužívat pro layout, protože to jde. Kdybyste se nad tím zamyslel, dojde vám, že k tomu neexistuje žádný důvod, ale pouze si tím způsobíte problémy, protože ten sémantický význam z table
prostě neodstraníte. A sémantický význam table
prostě dogma je, protože je to tak nadefinováno v HTML standardu.
Váš výklad pojmu "tabulka" / "table" je mylný, zbytečně úzký. I v angličtině má tabulka více významů.
V češtině má tabulka také více významů, např. malá tabule – třeba tabulka skla nebo tabulka čokolády. My se tady ale bavíme o významu, dvourozměrné matice dat uspořádané do řádků a sloupců, kde řádky a sloupce mají nějaký význam – např. v řádcích máte produkty, ve sloupcích měsíce a v tabulce jsou počty prodaných kusů za daný měsíc. Zkuste si takhle popsat novinovou stránku…
Naopak to, co Vy zužujete na pojem "tabulka" je blíže významu "grid".
Nikoli, grid je organizovaná síť, nemusí tam být žádné řádky nebo sloupce ani data.
Sloupcová sazba má k tabulce nejblíž, protože od sloupců očekáváte svázané chování v obou rovinách
Ne, sloupcová sazba nemá k tabulce nejblíž, sloupcová sazba má nejblíž ke sloupcům. Kdyby pro sloupcovou sazbu byly stejně důležité sloupce i řádky, asi se to nebude jmenovat jenom sloupcová sazba, nemyslíte?
Toto chování je základní vlastností, nikoliv vedlejším efektem z nouze.
Jaká vazba je v řádkové rovině např. ve slovníku, který se typicky sází vícesloupcově? A nemyslím teď řádkový rejstřík, ale tu vaší řádkovou vazbu.
Přátelé, proč mám vždy dojem, že jakékoliv zamyšlení se nad účelem, historií i budoucím vývojem vyústí v reakce osob, které jsou většinou přesvědčeny o jediné správné cestě, ale zároveň neumí napsat ani argument, ani neznají historii vývoje?
Částečně to možná bude tím, že tu historii vývoje neznáte. A to, že neumíte napsat argumenty, bude zřejmě dané tím, že trváte na nějakém dogmatu, ale nepřemýšlíte nad tím.
jednoznačně tvrdím, že element TABLE není určený jen k prezentaci dvourozměrné matice hodnot.
To je právě ten příklad dogmatického tvrzení. Místo toho, abyste „jednoznačně tvrdil“, zkuste to vaše tvrzení něčím podpořit. Třeba příkladem, kdy je podle vás vhodné element table
použít k něčemu jinému, než označení dvourozměrné matice hodnot. To tvrzení jste zde totiž už uvedl mnohokrát, ale nikdy jste neuvedl konkrétní příklad – jenom na něm dogmaticky trváte.
Znovu opakuji, že celé HTML bylo "zneužito" k něčemu jinému, než bylo určeno.
Celé HTML bylo navrženo jako značkovací jazyk pro text, ale z počátku se toho moc nedrželo a přidávaly se tam i prezentační elementy. S příchodem CSS se to pročistilo a HTML5 je směrované jako sémantický jazyk, ve kterém se prezentace vůbec neřeší. Sice je HTML zneužité tím, že se používá pro tvorbu aplikací, ale to HTML pod tím je stále sémantické.
Vyjímat vy-/zneužití jen jediného prvku, v tomto případě TABLE, je prostě nespravedlivé, musel by se zde vypsat výčet HTML prohřešků, který by byl na jeden poměrně dlouhý článek.
Není potřeba psát dlouhý článek, mne by zajímal aspoň jeden dva příklady.
"ale to HTML pod tím je stále sémantické"
No, a to já mám pocit, že HTML spíše konečně začíná být sémantické. Protože dlouhé roky nebylo. Značky byly implementovány až na výjimky jen pro prezentační elementy. Takže jste měl nadpisy, odrážky, změnu fontu, zarovnání atd. Sémantické značky začaly přibývat až časem. Proto byly svého času tak populární mikroformáty, které semantiku do HTML doplňovaly. A upřímně, ani dnes to není žádná sláva, jediné co masově sémanticky zpracovává webové stránky jsou crawlery, co v nich hledají emailové adresy pro spam.
Zkrátka: HTML se zpočátku drželo toho, že je to značkovací jazyk pro prezentaci. Koukněte se na první prohlížeč a zkuste se zamyslet nad tím, proč jeho součástí byl WYSIWYG editor HTML.
Takže jste měl nadpisy, odrážky, změnu fontu, zarovnání atd.
Nadpisy nejsou prezentace ale sémantika. Žádný element pro odrážky neexistuje, existují sémantické elementy pro seřazený a neseřazený seznam. HTML na začátku byla směs sémantických a prezentačních značek (resp. ty značky měly většinou obojí význam), což bylo dost podstatné a nebylo to tak samozřejmé – a naštěstí si důležitost toho sémantického značení později lidé uvědomili a nasměrovali HTML k tomu, aby to byl jazyk čistě pro sémantiku. Porovnejte to třeba s TeXem, což je skvělý jazyk pro sazbu, ale je zaměřený čistě jen na vzhled, a sémantika se případně roubuje nad to pomocí různých maker.
Aha, no tak jestli informaci "jsem nadpis třetí úrovně" považujete za sémantickou, tak to se na definici sémantického webu asi neshodneme. V mém světě je to čistě vodítko pro prohlížeč, jak to má vypadat. Není mi úplně jasné, k čemu by byly dotazy typu "vrať mi seznam nadpisů třetí úrovně na těchto stránkách". V mém světě je sémantika informace typu "toto je název kapitoly", "toto je název zprávy" atd. To z toho, že je to H3, nepoznám.
Karel, 18:36: HTML je univerzální jazyk, nemá ani kapitoly ani zprávy, takže nedává smysl, aby měl jejich nadpisy. Proto má jen obecné nadpisy – a protože se často používají různé úrovně nadpisů, má HTML šest úrovní nadpisů. Jistě, dnes by to šlo udělat lépe, úroveň nadpisů řešit nějakým atributem, svazovat nadpis s obsahem, ke kterému patří. Na druhou stranu, ty nadpisy byly už v HTML2 před více než dvaceti lety – já myslím, že zavést tenkrát sémantickou značku, i když nedokonalou, bylo docela prozíravé.
h1 až h6 rozhodně nejsou vodítko pro prohlížeč, jak to má vypadat – o tom, jak má daný text vypadat, neříkají dokonce vůbec nic. Kdyby nadpisy byly určené tím, jak mají vypadat, nebyly by to žádné nadpisy, ale prostě jen odstavec textu s nastaveným velkým písmem, případně jiným fontem.
Dotaz „vrať mi seznam nadpisů třetí úrovně na těchto stránkách“ by byl vhodný třeba pro sestavení obsahu. Ale i kdyby nebyl – to, že nemáte využití pro jednu z miliardy možností sémantického značkování, neznamená, že sémantické značkování je k ničemu. Umožňuje to třeba už jen tak základní věc, jako jeden text prezentovat více způsoby – zobrazit jej na monitoru, na mobilním telefonu, přečíst jej hlasovou čtečkou, zaindexovat jej vyhledávačem.
Sémantický web je trochu něco jiného, a já jsem o sémantickém webu nic nepsal – psal jsem o tom, že HTML je jazyk pro vyznačování významu (sémantiky) v textu.
"Kdyby nadpisy byly určené tím, jak mají vypadat, nebyly by to žádné nadpisy, ale prostě jen odstavec textu s nastaveným velkým písmem, případně jiným fontem."
To je právě to jediné, co H1/H2/H3 atd. řadu let dělalo. Máte snad jinou zkušenost?
"neznamená, že sémantické značkování je k ničemu"
Tady někdo pochybuje o tom, že je sémantické značkování důležité? Já tedy ne, pro mne je to zásadní věc. Co zpochybňuji je vaše tvrzení, že H3 přidává nějakou sémantickou informaci. Nepřidává, protože v každém dokumentu to může být něco úplně jiného. Sémantický web je o tom, že dokážete strojově zpracovat webovou stránku a extrahovat z ní sémantická data. Přesně jak popisujete - když prohlížeč ví, že tohle je telefonní číslo, tak to může zobrazit jinak. Koukněte se na mikroformáty.
Jádro sporu je v tom, že dle mého názoru mi <H3> nic neřekne, protože to si každý web dělá jinak. Prohlížeče se k tomu celé roky staví stále stejně - zobrazí to jako odstavet textu s nastaveným velkým písmem, případně jiným fontem. Proto když se kouknete do většiny .css na většině webů, tak se stylováním H3 vůbec nezalamují. Stylují se místo toho classy. H3 se nadpisu dá jen pro prohlížeče co neumí .css.
No a vaši poslední větu mám chápat, tak, že sémantický web a sémantické značkování považujete za dvě nesouvisející věci? Navíc já od začátku tvrdil jen to, že HTML nezačínal jako jazyk pro vyznačování sémantiky, tím se stal až v průběhu let. V počátku nebylo ani jak značkovat, byl to textový formát generovaný WYSIWYG editorem. Označil jste kus textu a stiskl tlačítko pro tučné. A ejhle, bylo to zobrazené tučně. Stiskl jste tlačítko pro vložení odrážek a ejhle, mohl jste vkládat odrážky. Autor nepředpokládal, že by to někdo editoval ručně v textu, proto kupříkladu ani neřešil validnost HTML. Editor měl totiž vždy generovat validní HTML, neměl jak zapomenout třěbas na </b> a měl hlídat, že se nestane třebas <b><i></b></i>. Že je markup vlastně docela dobrá věc, jak smíchat text a sémenatiku, se začalo prosazovat až s HTML2.
To je právě to jediné, co H1/H2/H3 atd. řadu let dělalo. Máte snad jinou zkušenost?
Ne, h1
… h6
nic takového nedělaly. Dělaly to prohlížeče pomocí vestavěných stylů. Sémantický značkovací jazyk nedělá nic, jenom označuje význam textu, udělat s tím pak něco musí někdo jiný – ten, kdo ten text nějakým způsobem prezentuje.
Tady někdo pochybuje o tom, že je sémantické značkování důležité?
Uváděl jste jako nesmyslný příklad získání všech nadpisů na stránce. Nevím, co jste tím příkladem chtěl dokázat.
Co zpochybňuji je vaše tvrzení, že H3 přidává nějakou sémantickou informaci. Nepřidává, protože v každém dokumentu to může být něco úplně jiného.
Samozřejmě, že to může být v každém dokumentu něco jiného, neexistuje žádný nástroj, jak autory dokumentů přinutit, aby to používali správně. Ale pokud to autor používá správně, h3
označuje ve všech dokumentech to samé – nadpis třetí úrovně.
Sémantický web je o tom, že dokážete strojově zpracovat webovou stránku a extrahovat z ní sémantická data. Přesně jak popisujete - když prohlížeč ví, že tohle je telefonní číslo, tak to může zobrazit jinak.
A přesně takhle fungují nadpisy. Když prohlížeč ví, že je to nadpis, může ho zobrazit jinak. Hlasová čtečka ho může přečíst jinak, může nabídnout navigaci po nadpisech (což může udělat i ten prohlížeč). Je možné vytvořit obsah dokumentu. Nic z toho by nebylo možné, pokud by se pro nadpisy používalo prezentační značkování a nadpis byl označen třeba pomocí big
a b
.
Jádro sporu je v tom, že dle mého názoru mi <H3> nic neřekne, protože to si každý web dělá jinak.
Vy ale požadujete sématický jazyk pro konkrétní typ dokumentu. Jenže HTML je univerzální jazyk, kterým můžete popsat prakticky jakýkoli dokument. Když je jazyk obecný, samozřejmě nemůže být význam jednotlivých prvků určen moc detailně. Proto je v HTML šest obecných úrovní nadpisů, i když by se vám pro noviny hodily titulky, podtitulky a mezititulky, pro beletrii názvy dílů a kapitol, pro legislativu názvy částí, hlav, dílů a paragrafů atd.
Prohlížeče se k tomu celé roky staví stále stejně - zobrazí to jako odstavet textu s nastaveným velkým písmem, případně jiným fontem.
Což je správně, protože v naší kulturní tradici je zobrazování nadpisů právě takovýmhle způsobem. Respektive ty tradice se mírně liší podle různých kulturních oblastí, prohlížeče to zobrazují podle kulturní tradice USA a pokud někdo chtěl dělat web pořádně, pomocí stylu si zobrazení přizpůsobil české kulturní tradici. Bohužel už se to moc neděje a zrovna na webu se i u nás stále více prosazuje americká tradice (např. zarovnání odstavců vlevo na praporek a mezera mezi odstavci; česká tradice je zarovnání do bloku, bez mezer mezi odstavci a odstavce oddělené pomocí odstavcové zarážky).
No a vaši poslední větu mám chápat, tak, že sémantický web a sémantické značkování považujete za dvě nesouvisející věci?
Nejsou to dvě nesouvisející věci, ale není to jedno a totéž – jsou to dvě související věci. HTML jako značkovací jazyk je univerzální, sémantický web byla snaha ten obecný sémantický jazyk doplnit o sémantiku pro konkrétní typy dokumentů.
Navíc já od začátku tvrdil jen to, že HTML nezačínal jako jazyk pro vyznačování sémantiky, tím se stal až v průběhu let.
HTML začínalo jako jazyk pro značkování textů, který v sobě kombinoval jak sémantické tak prezentační elementy. Klíčové bylo to, že tam byly i ty sémantické elementy, protože to v té době vůbec nebylo běžné, ale později se ukázalo, že to bylo to podstatné.
V počátku nebylo ani jak značkovat, byl to textový formát generovaný WYSIWYG editorem. Označil jste kus textu a stiskl tlačítko pro tučné. A ejhle, bylo to zobrazené tučně. Stiskl jste tlačítko pro vložení odrážek a ejhle, mohl jste vkládat odrážky. Autor nepředpokládal, že by to někdo editoval ručně v textu, proto kupříkladu ani neřešil validnost HTML. Editor měl totiž vždy generovat validní HTML, neměl jak zapomenout třěbas na </b> a měl hlídat, že se nestane třebas <b><i></b></i>. Že je markup vlastně docela dobrá věc, jak smíchat text a sémenatiku, se začalo prosazovat až s HTML2.
Mýlíte se, HTML na začátku nemělo žádné tagy pro tučné písmo nebo kurzívu, mělo pouze sémantické tagy. To,co popisujete, bylo až rozšíření prohlížeče NCSA Mosaic. Že by se HTML editovalo jenom pomocí WYSIWYG editorů si v začátcích nikdo nemyslel, od začátku bylo HTML postavené na SGML, takže validita byla daná od začátku.
Frameset je super v prípade ak chceme základnými prostriedkami HTML zaktualizovať len časť obsahu stránky. Je to perfektné riešenie ak sa časť obsahu stránky nemení – odpadá nutnosť ju prenášať. Toto dnes vieme spraviť len aktívnym skripovaním.
Predstavte si, že navigácia je značne obsiahla a komplikovaná, má napr. 10 MB dát, pritom samotný obsah mimo navigácia vracia len dáta o veľkosti jedného paketu. Frameset vám umožní postaviť takú aplikáciu, ktorá bude na požiadavky odpovedať úsporne – jedným paketom a nemusíte to robiť pomocou JavaScriptu.
Pane Jirsáku, samozřejmě že framesety mají svá negativa, právě jak píšete. Ale mají i svá pozitiva, a záleží na situaci, co převáží. Nikdo zde nerozporuje, že framesety lze funkčne nahradit jiným řešením, ale frameset je v mnoha situacích rychlé a levné řešení. Rychlost (implementace) a cena jsou taktéž faktory, které někteří berou v potaz.
Největší negativum framesetů je to, že je nelze používat s děrnými štítky. Ty také mají svá negativa, jak píšete, ale mají i svá pozitiva, a záleží na situaci, co převáží. Nikdo zde nerozporuje, že děrné štítky lze funkčne nahradit jiným řešením, ale děrné štítky jsou v mnoha situacích rychlé a levné řešení. Rychlost (implementace) a cena jsou taktéž faktory, které někteří berou v potaz.
V dnesnej dobe s aktualnym jadrom bezi javascript dost rychlo na to, aby sme v tomto smere vobec nemuseli rozmyslat ci je lepsie pouzit javascript alebo frameset/iframe.
Dokonca ma jedno negativum frameset/iframe napada - Cross Origin a ochrana proti takemu obsahu v prehliadacoch. Nie je tak tazke na to narazit.
Když mám HTML kód, který chci někde použít, je mnohem jednodušší dát odkaz na ten kód a nechat to zpracovat prohlížeč, než si sám programovat v JavaScriptu načtení souboru a jeho vložení na patřičné místo. Navíc prohlížeč může začít stahovat příslušný soubor hned, jakmile narazí na příslušnou značku. Při řešení JavaScriptem musí nejprve zpracovat ten JavaScript, spustit příslušný kód a teprve pak začne stahování příslušného HTML. Nejde jen o rychlost zpracování na straně klienta, ale také o vývoj a přehlednost kódu, o chybovost, o síťové přenosy.