Autor Zpráva
quinux
Profil
Zdravím,

asi již znáte web semantika.name a pokud jste ho četli možná Vás zarazilo to co mne. Pan Havrlant uvadí, že v podstatě jedinou správnou značkou pro menu je tag <menu></menu>, jenže v XHTML takový tag neexistuje. Chtěl bych znát Váš názor, co si o tom myslíte?

Díky
Timy
Profil
quinux
jenže v XHTML takový tag neexistuje
Existuje v XHTML transitional a tuším, že pan Havrlant :-) tam píše, že pokud používáte striktní verzi dtd, tak se má použít <ul>.
quinux
Profil
Aha, moje chyba .. tu větu na konci jsem přehlíd. ;o)
jozob
Profil
Ja mám taký názor, že sa treba na podobné kecy vykašľať. Pokiaľ robím web, odskúšam si ho na viacerých prehliadačoch (IE/Win, Opera/Win, FF/Win, Konqueror/Linux, FF/Linux, Opera/Linux, a ešte textový Links v koznole Linuxu). Pokiaľ je všetko OK, nepotrebujem sa znepokojovať, stačí ak dodržujem základnú sémantiku, ktorá vychádza už len z estetiky kódu. Stránku robím preto, aby sa zobrazovala na prehliadačoch ako stránka a aby sa zobrazovala správne, nie preto aby mala nejaký super 100% kód, ktorý pochváli 0,1% percenta z návštevníkov...
Dero
Profil
jozob: Vykašlat? Co je lepší, mít sémanticky šedý kód, který se správně zobrazuje nebo mít sémanticky kvalitní kód, který se dobře zobrazuje?

Tak se pozná pokročilý kodér od občasného tvůrce. Dobrý kodér ví, co si může v mezích správného zobrazení dovolit. Není problém mít sémanticky kvalitní kód, který se zobrazuje velmi dobře ve všech Tebou jmenovaných prohlížečích, jen to chce vědět jak.
jozob
Profil
Dero
Ja rozumiem, aj sa o to snažím... Nehovorím, že sa treba vykašlať na sémantiku, práve naopak, som alergický na nesémantické kódy. Len hovorím, že mnohé vyjadrenia odborníkov treba brať s rezervou...
Chamurappi
Profil
Reaguji na quinuxe:
Vida, další.

Reaguji na Timyho:
pan Havrlant tam píše, že pokud používáte striktní verzi dtd, tak se má použít <ul>.
Spíše by měl napsat: pokud používáte striktní DTD, měli byste změnit DTD. Jde panu Havrlantovi o sémantiku nebo o Strict-onanii? Strict DTD nepřináší absolutně žádné výhody, element <ul> je stále elementem <ul>, čili obyčejným seznamem bez hlubšího významu. DTD význam nemění. Jeho užití nemůže webmaster obhajovat tím, že si zvolil nevhodnou DTD.

A vůbec, tohle blbnutí s různými DTD a validitou je postavené na hlavu. Máme zde jen jedno jediné XHTML, které má cca tři různé specifikace a minimálně pět DTD. V tomto jednom XHTML má být a také je přesně totéž, co v HTML 4.

Reaguji na Dera:
Co je lepší, mít sémanticky šedý kód, který se správně zobrazuje, nebo mít sémanticky kvalitní kód, který se dobře zobrazuje?
Co je lepší: mít špatného zubaře, když tě zuby netrápí, nebo mít dobrého zubaře, když tě zuby netrápí? To je obdobné dilema.
Jde o perspektivu, o výhledy do budoucna. Je možné, že se zuby zkazí? Je možné, že bude zubař potřeba? Začnou-li bolet, špatný zubař může zapříčinit doživotní trauma a odsoudit pacienta na pár století k tekuté stravě. Dobrý zubař bolesti zbaví elegantním mávnutím vrtačky či kleští.

Dnešní webmastery zuby nebolí. Ideál sémantiky mohou v klidu zanedbat. I vyhledávače je hodnotí hlavně podle toho, jaké mají zuby, ne podle toho, jaké mají zubaře. Osobně se domnívám, že nějaké trápení do budoucna nehrozí. Jakákoliv propagace sémanticky kvalitního kódu naráží na dva zásadní problémy: je málo slyšet a nabízený užitek je minimální. Souvisí to spolu. Stačí se podívat na jozobův příspěvek. Jediný prospěch je víra v dobrou věc. Dobrý pocit.

Historickým vývojem je dáno, že World Wide Web je bezzubý. Proto ho zuby netrápí a trápit nikdy nebudou. Jeho architektura je na jednu stranu sémanticky zaostalá, na stranu druhou funkčně vyspělá (vesměs všichni uživatelé jsou spokojení). Sémantika vyžaduje hlasité definice, nezpochybňované a nezpochybnitelné, všemi respektované. Funkční vyspělost zase potřebuje návaznost, zpětnou kompatibilitu. Skloubit obojí dohromady není snadné. Skvělou ukázkou, kudy cesta nevede, jsou návrhy XHTML 2 -- je to boj sémantiky s funkčností. Myslím, že všichni tušíme, kdo vyhraje.

Tak se pozná pokročilý kodér od občasného tvůrce.
Přiznej, že o sémantiku ve skutečnosti nejde. Jde hlavně o usnadnění práce. Sémantika potřebuje unikátní označení pro unikátní významy a dobré nastylování taktéž, mají tedy jen podobné příznaky. Pokročilý kodér raději užívá CSS, takže sáhnout po různých elementech pro různé významy je pro něj pohodlné. Koneckonců, i to je důvod, proč neustálem lovím z hrobu element <menu>. Podstatné pro mě je, že to je seznam a že má jinou značku než běžně užívané seznamy. Historická ospravedlnitelnost a kvalitnější sémantika jsou malá bezvýznamná plus.
Dero
Profil
Chamurappi:

Zuby mě bolí, ačkoliv pro to není žádný fyziologický důvod. To jen tak na okraj.

Píšeš, že o sémantiku nejde, jde jen o usnadnění práce. Ano, sémantika nemusí být hlavním cílem - a nebývá - sémantika je však prostředkem k organizaci onoho ulehčení. Ve výsledku je tedy dodržení sémantiky produktem potřeby unikátnosti prvků na stránce a existence sémantiky samotné.

Protože nebýt sémantiky, tak s klidným svědomím použiji pro (blokové) menu tagu blockquote, pro výpis zdrojového kódu tag tt a pro text s rámečkem bych si nastyloval button. Dobrá, poslední příklad je přitažený za vlasy, ale princip je snad zřejmý. Pokud víš, co sémantika říká, držíš se jejích rad.

Sémantika pramení z nutnosti, její dodržení však vypovídá o zkušenosti. Opravdu se tak pozná pokročilý kodér. A čistý, sémanticky správný kód, kdyby už nic praktického, je takovou malou technickou etudou sama pro sebe.

Stojím si tedy za svým: sémantiku rozhodně ano.
Chamurappi
Profil
Reaguji na Dera:
sémantika je však prostředkem k organizaci onoho ulehčení
Ano, ale jen ta povrchní. Málokdo ctí sémantiku při výběru vhodného jména pro třídu či identifikátor. Tam už na ní v reálném světě nezáleží a v praxi už se neliší toto:
  ul.červený { color: green }  // pro nějaký <ul>, který byl kdysi červený, ale při vývoji webu byla změněna barva
-- od tohoto:
ul.odčervený { color: green } // pro nějaký <ul> obsahující seznam odčervených psů
-- v obou případech mohlo jít o stejný <ul> a prakticky vzato je jedno, jak se třída jmenuje. Náročnost úpravy stylu je v obou případech stejně nízká. Uvedené zápisy se liší jen v tom, že první není sémanticky korektní, druhý ano.

nebýt sémantiky, tak s klidným svědomím použiji pro (blokové) menu tagu blockquote
To je pracné, musel bys zrušit odsazení. Obsadil by sis tak jméno elementu, který by šel obecně nastylovat a používat bez třídy v obsahové části dokumentu -- to je jeden z důvodů, proč já na menu nepoužívám ani <ul>.

pro výpis zdrojového kódu tag tt
Ten je při výchozím stylování řádkový, změnit to je zbytečně pracné. Rovněž neudrží konce řádků. Element <tt> je spíše synonymem pro <code>, stejně jako je <b> synonymem pro <strong>. Ale to se blížíme k jinému rozvleklému tématu, k němu se vrátím jindy.
Pro výpis kódu používáš předpokládám element <pre>, jehož jedinou funkcí je zobrazit nenaformátovaný text. Nemá z definice žádný sémantický význam, je to jen modifikátor zobrazení.

pro text s rámečkem bych si nastyloval button
Ten má zase spoustu omezení co se týče funkčnosti napříč prohlížeči. Nepamatuji si to přesně, ale myslím, že do něj nejde spolehlivě narvat tabulku.

Pokud víš, co sémantika říká, držíš se jejích rad.
Jedna věc je, co říká sémantika, druhá věc je, co říká konsorcium. Ano, sémantika může být prospěšná. Ale vyžaduje ony neotřesitelné definice. Ty od W3C jsou mnohdy sporné, či jejich výhodnost je sporná -- důkazem jsou všichni ti, kdo poznají rozdíl mezi dobrým a špatným zubařem a přesto věří v bezzubost WWW; jak tak koukám, hezky zubatá je ta zkratka :-)

Opravdu se tak pozná pokročilý kodér.
Krásně sporné téma jsou zkratky a zkratky. Na světě existují stovky diskusí o tom, jestli užívat <abbr> nebo <acronym>. Kdo rozezná pokročilého kodéra, když se ani ti sémantice oddaní neshodnou, kdy jaký element užít?

Stojím si tedy za svým: sémantiku rozhodně ano.
Ale nepoužíváš <menu>, že ne? A označíš-li <div> třeba identifikátorem „columns“, také neříkáš nic o jeho významu.
jozob
Profil
No... Keď mi došiel mail (upozornenie na nové príspevky), a videl som, že píše Chamurappi, veľmi som sa potešil (že akože bude opäť zaujímavá vojna).

Ale ja sa nejak jedným očkom tiež začínam prikláňať k Chamurappimu. Myslím, že konsorcium ide proti webmasterom a situácia v Novom Zélande od 1. Januára je celkom zaujimavá. Takže Chamurappi, čin sa - možno ma lapíš do siete. BTW: Nechceš o tom všetkom napísať knihu?
Timy
Profil
Chamurappi
Spíše by měl napsat: pokud používáte striktní DTD, měli byste změnit DTD. Jde panu Havrlantovi o sémantiku nebo o Strict-onanii?
Docela určitě bych řekl, že zrovna panu Havrlantovi o nějakou strict-onanii nejde. Přečtu-li si celou kapitolu o menu, vyplývá mi z toho jediné - správná volba je <menu> a <ul> je jenom taková znouzectnost. Navíc bych i docela řekl, že ten web nemá nikoho do ničeho nutit. Na celém webu prakticky není použito slovo "musí" (alespoň tedy v souvislosti se sémantikou), pokud někdo chce psát sémantický kód, musí se už sám rozhodnout jakou verzi DTD použije. Přijde mi pořád lepší, když někdo ve strict verzi použije na menu <ul> než když jednotlivé odkazy oddělí znakem "|".
Dero
Profil
Krásně sporné téma jsou zkratky a zkratky. Na světě existují stovky diskusí o tom, jestli užívat <abbr> nebo <acronym>. Kdo rozezná pokročilého kodéra, když se ani ti sémantice oddaní neshodnou, kdy jaký element užít?

To ale pramení jen z neznalosti a neschopnosti uvědomit si reálie a rozhodnout se. Akronymy (acronym) vs. zkratky (abbreviation) se liší ve dvou ohledech. Užitím a užitelností.

Užití je jasné, akronym vzniká zkrácením několikaslovného termínu do zdánlivé formy zkratky. Liší se tím, že akronym lze skloňovat, přesněji řečeno - skloňuje se. (NATO, AIDS, Čedok, Sazka) V češtině akronymy nazýváme zkratková slova.

Oproti tomu zkratka vzniká z prvních písmen zkracovaného termínu a při čtení se hláskuje. (WWW, TCP/IP, CIA)

Některé termíny jsou obojetné. V drtivé většině případů člověk užíváním přetváří zkratku v akronym (resp. neznám příklad opačného procesu), příkladem budiž známá ČVUT ([čé vé ú té] x [čvut]).

Toliko k užití. Pro akronymy tedy má být užit tag <acronym>, pro zkratky <abbr>.

Užitelnost je malý problém, zdaleka však není neřešitelný pro někoho, kdo chce používat tyto tagy správně. Je tu totiž fakt, že IE nepodporuje tag <abbr>. Ano, zkratky v IE nebudou prohlížečem prezentovány stejně jako zkratková slova (<acronym> IE totiž zná). Tato nepříjemnost je však velice snadno řešitelná javascriptem, kdy po načtení stránky v IE nahradíme všechny výskyty tagu <abbr> tagem <acronym>.

Tímto vzniká přijatelný kompromis mezi sémantickou správností a funkcionalitou. Řešení, které by obsáhlo větší skupinu uživatelů při zachování sémantické správnosti pro chytré prohlížeče a hlasové čtečky (jen v jejich případě hraje rozdíl mezi <abbr> a <acronym> opravdu důležitou roli), neexistuje.

Pak se může vyskytnout problém: Webmaster chce, aby se zkratky a zkratková slova chovaly stejně v IE vždy (i pro uživatele s vypnutým JS). V tom případě není jiné řešení, než ignorovat <abbr> (nezmiňuji serverová řešení). Webmasterova chyba, pro kterou se však sám rozhodl.


Ale nepoužíváš <menu>, že ne?

Ne, používám XHTML 1.0 Strict. Rozhodl jsem se tak, líbí se mi to X a "strict" v názvu. Pro mě není sémantika cílem, ke kterému za každou cenu směřuji. Je mi prostředkem a také metou, které v současné době velkou měrou svým kodérským stylem dosahuji.
jozob
Profil
Dero
"Liší se tím, že akronym lze skloňovat, přesněji řečeno - skloňuje se. (NATO, AIDS, Čedok, Sazka)"
--OT-- Neviem ako tam u Vás, ale u nás sa NATO (rovnako AIDS ) skloňuje nasledovne:

N: NATO
G: NATO
D: NATO
A: NATO
L: NATO
I: NATO

Ne, používám XHTML 1.0 Strict. Rozhodl jsem se tak, líbí se mi to X a "strict" v názvu.
- Dnes to vidím asi tak, že XHTML sa používa, pretože je to proste "IN". A rovnako je to aj so zákazkami. Pokiaľ dostanem zákazku, dostanem nariadenie používať XHTML 1.0 Strict aj napriek mnohým nevýhodam, ktoré IMHO strict-ová DTD má.

--OT-- Prečo je až toľko DTD jednej verzie? Prečo nie je jedna, ktorá by zahrňovala všetky dnešné DTD v jednej DTD? Aký to má význam?
Miloš
Profil
jozob
Nebuď takový puntíčkář, vždyť Nato bez Nata není; Natu je to sice jedno, ale netrápí to jen Nato, že, milé Nato? O natu si povídáme, s Natem se tu hmoždíme… Že se NA TO už nevytento…
(b)IMHO můžeme (nemusíme) NATO skloňovat; s AIDSem i bez. Graficky to sice vypadá dost ohavně, ale v prosté mluvě mě to nikterak nepohoršuje.
jozob
Profil
Miloš
O to ani nešlo, ale keď už, u nás gramatika hovorí, že skratky zložené zo začiatočných písmen sa neskloňujú.
Išlo o to, že nám Dero ukázal, ako je to vlastne s tými skratkami (acronym vs. abbr). A vďaka nemu to už viem.
Fred
Profil
Miloš Myslím, že jde o nedorozumění, protože se to mám dojem ve slovenštině na rozdíl od češtiny neskloňuje.
jozob
Profil
Fred
No a sme doma :-)
Miloš
Profil
V češtině asi jak která; NATO klidně nesklonné být může. Ale ČEDOK (Česká dopravní kancelář, myslím) skloňujeme běžně. Možná i slovensky by šlo jet na dovolenou „s ČEDOKom“; asi záleží na tom, nakolik se původně zkratka osamostatnila.
Ale to už jsme hodně OT.
Dero
Profil
Inu, podle mě to je takto:

Ve slovenštině se zkratková slova složená z prvních písmen výrazů, jež zkracují, neskloňují. (ačkoliv jsou výjimky, třeba programovací jazyk BASIC)

Zkratková slova složená z několika úvodních písmen jednotlivých výrazů se naopak (povětšinou?) skloňují (Čedokom, do Setuzy).

Ruku do ohně bych za to nedal, přesto jsem si jist na 99%.
Fred
Profil
Myslel jsem NATO, ale odbíháme od tématu.
K tématu <menu> sice není dle xhtml 1.1 validní, ale pokud to někdo chce používat, tak proč ne, už jen kvůli tomu, že použití nezpůsobí žádné problémy ani se správným mime typem v xhtml 1.1. Kdyby se výrobci prohlížečů drželi tak striktně normy, mělo by to nejspíš vyvolat dračí error což se nestane, takže je to vlastně asi jedno. Osobně třeba používám na vodorovné menu tag <map>, sice na to není, ale prostě se mi hodí a nemusím používat div se třídou, nebo id, je to prostě jenom kratší a kupodivu to sežere i validátor a navíc neostylované je to vodorovně, narozdíl od menu, ul a ol.
Chamurappi
Profil
Jen ve stručnosti.

Reaguji na Freda:
Kdyby se výrobci prohlížečů drželi tak striktně normy, mělo by to nejspíš vyvolat dračí error
Rozhodně nemělo.
1) V jazyce ten element je, norma není totéž co DTD. Již jsem to říkal dříve, XHTML je jen jedno, nehledě na počet specifikací a počet DTD.
2) Neznámé elementy nikdy nesmí vyvolat dračí error.
habendorf
Profil
Fred: Osobně třeba používám na vodorovné menu tag <map>

Tak to teda zírám, opět mě překvapuješ. Zajímalo by mě, jak řešíš coords u area, tak, aby menu reagovalo na zvětšování písma v prohlížeči. Nebo je to celé ještě jinak? Zatím to považuji za šílenost, ale možná mi uniká nějaké skryté "geniálno" ...
Toto téma je uzamčeno. Odpověď nelze zaslat.