Autor Zpráva
koncicky
Profil *
Na webu se píše, že jsou sémantické/strukturální prvky HTML5 zbytečné.

O jejich zbytečnosti tak přesvědčen nejsem. Ano, na obyčejném webovém prohlížeči se zobrazení nebude nijak lišit od toho, kdybychom používali ty generické. Jenže právě ta sémantika se opravdu využívá, nejen pro stroje. Ne každý bude používat normální prohlížeč, třeba takový slepý člověk spíše použije čtečku, která přeskočí "zbytečné" části dané právě sémantickými , třeba <aside>. Novodobější prohlížeče mají i čtecí módy, které taktéž umí nedůležitý obsah vyhodit.

Takže ne, užití <div class="main"> nebude fungovat stejně, jako <main>.

Navíc tyto tagy rozhodně pomůžou při psaní zdrojového kódu, který se tím stane mnohem přehlednější. Ano, mohli bychom celou stránku udělat z <div class="..."> a <span>, ale vznikne tím spousta balastu a z posloupnosti </div></div></div></div></div></body> nic nevyčteme. Kdo se v tom pak vyzná?

Z tohoto důvodu je i lepší používat jiné prvky s danou sémantikou, jako třeba <em> nebo <code> oproti <i> a <pre>. Třeba právě čtečky v případě <em> (zvýrazněný text) opravdu zdůrazní danou pasáž, zatímco při <i> (text zobrazeny kurzívou) nejspíš neudělají nic. Na definici vzhledu se dnes výhradně používá CSS, proto HTML by mělo lépe popisovat samotnou strukturu dat.

Je to popsané i na MDN.
N71
Profil *
Tak zní teorie. V praxi to tak nefunguje. Čtecí módy na sémantické tagy nespoléhají, používají zpravidla vlastní analýzu pro nalezení hlavní části článku. To platí i pro slepecké pomůcky, kterým pomůžeš víc doplněním ARIA vlastností.
Tomáš123
Profil
koncicky:
V skutočnosti dobrý kód spravidla neobsahuje spomenutú sekvenciu piatich ukončovacích značiek rovnakého typu.

Vyzerá rozumne, čisto, elegantne, sémanticky a usporiadane aj pre účely hendikepovaných používateľov (napríklad logickým poradím prvkov v kóde, ktoré nutne neodzrkadľujú usporiadanie prvkov na stránke).

A z riadkových prvkov sa nikdy v tejto otázke nestrieľalo. Pôvodný problém sa týkal iba blokových HTML5 prvkov, ktoré sa v starých Exploreroch bez skriptu alebo hackovania vykresľovali ako riadkové. Rozdiel medzi <strong> a <b>, <em> a <i> a ďalších je na inú diskusiu.
koncicky
Profil *
Rozumím, díky za protiargumenty. Mám jen pocit, že jsou zde na webu tyto prvky pouze odsuzovány a čtenáře pak odrazuje od jejich užívání. A to mi přijde trochu nefér.

Obávám se, že dobře napsaných webů je nepříjemně málo. Sám jsem si tím při psaní skriptu prošel. Pokud jsem našel už rozumně napsaný web, tak zpravidla používal i ty sémantické prvky. Byl jsem velmi rád, když stránka obsahovala <main>. Tak jsem mohl najít obsah mnohem rychleji a přeskočit zjišťování, zda ten <div> má ID/třídu/aria main, nebo content nebo něco úplně jiného. Jak pak asi vypadají algoritmy hledání obsahu té čtečky...

Bohužel, pokud máme stále podporovat staré IE a kvůli tomu takové prvky nepoužívat, tak zůstaneme ve stagnaci. Kdybych z tohoto důvodu nechtěl použít sémantické prvky, pak bych ani nemohl používat třeba display=flex, a stále dokola musel užívat float=... a další CSS hacky...

Jelikož už se Win10 s Edge rozšiřují, čímž IE konečně mizí, už bych asi jako lepší kompromis bral zapomenutí na značně zastaralé (a hlavně nepodporované) IE.

Řádkové prvky jsem použil pro porovnání – pokud není problém používat řádkové sémantické prvky, proč, až na zastaralé a nepodporované prohlížeče, je nežádoucí použít blokové sémantické prvky?
N71
Profil *
Internet Explorer už dnes nemá smysl (až na izolované případy) podporovat, takže si klidně sémantické tagy používej. Stránka tím ale nic navíc nezíská, s tím je třeba počítat.
Joker
Profil
koncicky:
Bohužel, pokud máme stále podporovat staré IE a kvůli tomu takové prvky nepoužívat, tak zůstaneme ve stagnaci.

IE už obvykle asi není třeba podporovat.
Problém je jinde.
Jednak tedy aplikace, která by na to spoléhala, se pořád musí vyrovnat s weby, které to nepoužívají nebo to používají špatně. (Říct „to je problém toho webu“ uživateli moc nepomůže. Pokud se v daném prohlížeči velké množství webů zobrazuje špatně, pro uživatele je nejjednodušší řešení použít jiný prohlížeč. Stejným problémem trpěly nejdřív ne-IE prohlížeče a později, když se karta otočila, naopak IE.)

Ale ještě větší problém je, že představa webmastera o strukturování obsahu často není stejná jako představa návštěvníka.
Řekněme například, že by vyhledávače obsahu nějakého tagu dávaly větší váhu. Tím budou autoři webů motivovaní do toho tagu dávat termíny, na které by autor webu chtěl být nalezený.
Jenže to často není totéž jako termíny, na které by návštěvník chtěl ten web najít.
(Viz doba, kdy se opravdu věřilo, že vyhledávače dbají na sémantiku značek; Optimalizaci „SEO expertem“ na nějaký termín šlo poznat tak, že se v obsahu webu ten termín opakoval ideálně v každé větě a byl důsledně obalený značkou <strong>.)

Analogický problém nastane nejspíš u každé významné aplikace, nejen u vyhledávačů.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0