👋 Nový obsah na borekb.cz

Info Tento blog je v "read-only módu" a nový obsah již nebude přibývat. O vývoji píšu na DevBlog.

HTML není sémantické (a co s tím)

Yuhů dnes v článku Nový web o sémantice nejen upozornil na stránky semantika.name, ale taky vyjádřil názor, se kterým jsem už delší dobu zcela ztotožněn, totiž že HTML není sémantický jazyk. Pár sémantických značek sice máme (nadpisy, seznamy, citace,…), ale řada dalších zcela chybí (menu, patička apod.). Pokud to tedy jde, měly by se používat odpovídající tagy – např. není správné místo tagu pro nadpis použít div s tučným fontem. Na druhou stranu je při současné situaci asi docela zbytečné bazírovat na detailech – proto moc nejsem nakloněn argumentu, že tabulky jsou pro layout špatné kvůli chybně použité sémantice tagu table. Existuje řada jiných validních důvodů, proč tabulky nepoužít, ale nízká sémantika k nim podle mého názoru nepatří.

Jak lze dnes řešit problém nedostatečné sémantiky HTML? Osobně částečné řešení vidím ve využití serverové technologie ASP.NET – třeba takové <asp:Calendar> je nádherně sémantické a ASP.NET se už samo postará o to, aby tuto značku nějakým způsobem prohlížeče vykreslily. Význam sémantiky se tak přesouvá z prohlížeče na vývojáře, což se mi líbí.

Zařazeno do kategorií |
Lukáš Havrlant (Po, 2006-01-02 12:20):

ale řada dalších zcela chybí (menu, patička apod.) -

Značka pro menu existuje.

Existuje řada jiných validních důvodů, proč tabulky nepoužít, ale nízká sémantika k nim podle mého názoru nepatří. -

Jakých validních důvodů? Nechápu. Špatná sémantika je jeden z důvodů, neříkám ale, že je to hlavní důvod.

Borek (Po, 2006-01-02 14:08):

Menu je deprecated, ale stejně jsem měl na mysli spíš obecný prvek pro navigaci, jen jsem se nepřesně vyjádřil.

Mezi důvody, proč tabulku pro layout nepoužít, patří pomalejší vykreslování v některých prohlížečích, složitější markup, komplikovaná až nemožná změna layoutu pomocí CSS apod. V mých očích je nízká sémantika tagu table poměrně nepodstatná záležitost, ale to už vychází z mého světonázoru, že HTML je jazyk, který si na sémantičnost jenom hraje :)

Jinak můj příspěvek vůbec není namířen proti Vašemu webu. Sám se sémantickými pravidly řídím, jen jsem chtěl vyjádřit názor, že je podle mého mínění důležitější sémantika pro vývojáře než pro prohlížeč.

Lukáš Havrlant (Po, 2006-01-02 15:53):

Menu je deprecated, ale stejně jsem měl na mysli spíš obecný prvek pro navigaci, jen jsem se nepřesně vyjádřil.

Podle mě element menu tyto požadavky splňuje nebo by alespoň mohl splňovat, kdyby ho w3c nezavrhlo, ale naopak rozšířilo. Jinak v návrhu XHTML 2 je element nl (navigation list), který asi Vaši představu elementu pro menu bude splňovat lépe.

V mých očích je nízká sémantika tagu table poměrně nepodstatná záležitost

No, když se to vezme ještě do kontrastu s přístupností, s kterou jde sémantika vlastně ruku v ruce, tak už to tak nepodstatné není. Ale koneckonců i tabulkový layout se dá udělat přístupný. Ale souhlasím s Vámi, že se najdou pádnější argumenty pro nepoužívání tabulkového layoutu než nesprávná sémantika, ale zároveň bych neříkal, že špatná sémantika je důvod zanedbatelný.

to už vychází z mého světonázoru, že HTML je jazyk, který si na sémantičnost jenom hraje

Ano, konsorcium příliš nepřeje sémantickému webu. Osobně jsem vlastně proti zavrhování značek, radši se jim snažím vymyslet nějaké vhodné využití.

jen jsem chtěl vyjádřit názor, že je podle mého mínění důležitější sémantika pro vývojáře než pro prohlížeč.

Prohlížeč sežere všechno, tomu je to jedno úplně :-). Sémantika nemá příliš objektivních výhod, největší asi ta přístupnost, případně SEO.

Borek (Po, 2006-01-02 20:23):

Jsem rád, že jsme se nakonec shodli :)

Komentáře jsou uzavřeny (blog je v read-only módu). Pokud mě chcete kontaktovat, můžete mailem.