No Future

Weblog přesunut na atd.havrlant.net

Nezavrhujme značky, už tak je jich málo

31 prosinec 2005, 13:47
rubrika XHTML-semantika

Konsorcium nám vesele zavrhuje jednu značku za druhou, ale já se ptám proč? Proč radši nepřijdou na to, jak je správně využít a třeba jen trochu nepozmění jejich význam. Vyhazovat z DTD jednu značku za druhou umí každý Franta z Horní Dolní.

Jako příklad použiji zdánlivě a na první pohled odstrašující značku <u>. Hádám, že většina z vás by se bála na tuto značku jenom pohlédnout. Proč? Pokud bude použita vhodně a rozumně, nevidím jediný důvod k tomu, aby se ji někdo musel štítit. Stačí tedy jen vymyslet ten rozumný způsob použití.

Kdy se obvykle používá podtrhnutý text? Ano, odkazy, ale ty jsou podtrhnuté už tak nějak od přírody, takže tady asi tento element moc nevyužijeme. Bude to chtít jiný příklad. Napadá mě vyznačování accesskey. Pokud už na webu někdo používá navigaci pomocí těchto klávesových zkratek, obvykle se sluší nějak vyznačit, které ty písmenka vlastně jako accesskey slouží. Většinou se to tedy dělá nějak takto:

<a href="index.html" accesskey="h"><span style="text-decoration:underline">H</span>omepage</a>

Pochopitelně odkazy v menu musí mít jinak podtržení zrušené. Z jakého důvodu se ale nemůže používat tento zápis?

<a href="index.html" accesskey="h"><u>H</u>omepage</a>

Přijde mi to jednodušší, praktičtější, pohodlnější, je to koneckonců validní (element <u> je pouze zavrhnutý, ale stále je součástí specifikace) a sémantika nijak neutrpí, dokonce je zápis pomocí <u> sémantičtější, protože zápis se spanem nám neříká vůbec nic, i když by měl, jelikož nejde ani tak o vzhled, ale o určení významu toho písmenka. Samozřejmě element <u> není za stávajících podmínek stoprocentně sémantický, ale přesto se jedná o sémantičtější zápis než pomocí bezvýznamného spanu.

Jen škoda, že se třeba s vypnutými styly se nezobrazí písmenko se silnějším podtržením, aby to písmenko bylo poznat i s vypnutými styly. Hned by byl pádnější důvod k používání tohoto způsobu ;-).

komentáře
  1. zimmi - #
    —    31. prosinec 2005, 14:48   

    Přepiš to do angličtiny a pošli jim to. Zajímalo by mě, co by na to v konsorciu řekli.

  2. Aleš Janda - #
    —    1. leden 2006, 12:44   

    Myslím, že zrovna element (u) říká jenom to, že se jedná o podtržený text, tedy jen a pouze způsob zobrazení, a je tedy dobře, že je zavržen. Z tohoto pohledu není (u) o nic sémantičtější než (span).

    A rozlišení accesskey? Proč nepoužít css definici

    a[accesskey=neco] { styly.. }

    ?? Ta přece řeší právě toto, a mnohem lépe než bezvýznamné (u)…

    P.S.: Proč mi to hlásí, že moje (sdílená) IP je na blacklistu (navíc až při finálním přidávání) a musím sem lézt přes anonymouse.org? To je fakt dost kontraproduktivní :-/

  3. Timy - #
    —    1. leden 2006, 13:49   

    Aleš Janda: Stačilo by jen, kdyby konsorcium dalo za příklad správného použití právě accesskey, kdyby jen trošičku posunuli jeho význam a všechno by bylo v pořádku. Řekněte mi jediný pádný argument, proč by se právě pro tohle neměl tento element používat? Přijde mi to praktičtější, než ten element prostě zavrhnout a basta.

    a[accesskey=neco] { styly.. }

    Jste si jistý, že tuto konstrukci zvládne MSIE?

    K tomu PS: nejste jediný, komu to dělá, zkusil jsem tu ochranu vypnout úplně, tak uvdiíme. Jestli se to nezlepší, tak se zeptám nějakého odborníka ;-).

  4. Aleš Janda - #
    —    1. leden 2006, 15:15   

    Timy: Element (u) říká jen to, že „text uvnitř je podtržený“, o jeho sémantickém významu neříká vůbec nic. A pokud má být vzhled udáván pouze ve stylech (což je podle mě správný směr), je jasné, že (u) je zbytečný. Zkrátka k jeho používání není důvod, protože nemá sémantickou hodnotu a tak může být plně nahrazen styly. A je nejen zbytečný, ale svádí k „nepravostem“ (tedy k používání).

    To není jako (strong). Tag (strong) totiž říká „tento text je důležitější“, ale (u)? To může být opravdu cokoliv…

    Chápu, že zrovna podtrhávání „funkčních písmen“ je tak rozšířené, že zde by to příliš nevadilo, ale právě jen příliš. Proč by nemohlo být nesémantické (u) nahrazeno něčím jiným, vhodným pro tento případ? (Span není vhodný.) Nenapadá mě žádný vhodný tag (snad em s nějakou třídou), ale používání (u) nepřinese vůbec nic…

    Jste si jistý, že tuto konstrukci zvládne MSIE?

    Jsem si jistý, že ji nezvládne. Ale myslím, že to nevadí. V NN4 také nelze udělat plně sémantický web.

    Zkrátka zavržení (u) se mi zdá jako krok správným směrem, ale měl by taky přijít nový tag pro takovéto zvýraznění.

  5. Timy - #
    —    1. leden 2006, 16:05   

    Aleš Janda:

    Element (u) říká jen to, že „text uvnitř je podtržený“, o jeho sémantickém významu neříká vůbec nic. A pokud má být vzhled udáván pouze ve stylech (což je podle mě správný směr), je jasné, že (u) je zbytečný. Zkrátka k jeho používání není důvod, protože nemá sémantickou hodnotu a tak může být plně nahrazen styly.

    Zajímavé. Proč tedy nejsou zavržené značky jako třeba b nebo i? Také přece „nemají žádný sémantický význam“ a přesto je znám vhodný způsob jejich využití.

    A je nejen zbytečný, ale svádí k „nepravostem“ (tedy k používání).

    Zdá se vám tento způsob použití, který jsem popsal v článku, jako nějaká nepravost či zvrhlost? Určitě to není horší než použít span. Proč nevymyslet elementu u nějaké rozumné využití, když ho mohu zavrhnout, že ano? Navíc nesprávně ho bude používat jen ten, kdo nezná specifikaci a kdo nezná specifikaci, ten asi ani neví, že je ten element depracated ;-).

    Proč by nemohlo být nesémantické (u) nahrazeno něčím jiným, vhodným pro tento případ?

    Ano, to by bylo krásné. V současnosti mne však nic lepšího než právě element u nenapadá. Stačí jen trošičku poposunout jeho význam, čehož bych se nebál. Podívejte se třeba na tento článek na Intervalu. Pod definicemi jednotlivých sémantických elementů naleznete tuto větu:

    Všechny tyto elementy lze používat poměrně volně, tzn. že můžete jejich význam různě odvozovat; nic není dáno ve specifikaci úplně na pevno. Např. zde na Intervalu se používá element kbd k uzavírání klávesových zkratek programů a různých cest v menu, pokud se o nich autor v článku zmiňuje.

    Já bych se nebál vztáhnout tu větu i pro tento případ. Pokud to bude jen pro dobro věci, nevidím v tom problém.

    Jsem si jistý, že ji nezvládne. Ale myslím, že to nevadí. V NN4 také nelze udělat plně sémantický web.

    NN4 nepoužívá 80% uživatelů.

    Zkrátka zavržení (u) se mi zdá jako krok správným směrem, ale měl by taky přijít nový tag pro takovéto zvýraznění.

    A do té doby pokojně čekejme a pozorujme, s jakými inovacemi přichází konsorcium ve svých návrzích v XHTML2 ;-). (také o tom chystám drobné rýpnutí, ale to zase někdy příště :-)) Nebo tam snad je nějaká zmínka o nějakém způsobu vyznačování accesskey? Ještě tu specifikaci nemám pročtenou celou.

  6. kozleek - #
    —    2. leden 2006, 20:27   

    s tim u vidim problem v tom ze kdyz si vypnes styly tak ti to podtrzeni stejne splyne s podtrzenim odkazu. spis to resim strongem…

Jméno
Zapamatovat
http://
Zpráva

formátování: *kurzíva* **tučné písmo** `kód` "text odkazu":cíl odkazu

Tady formátuje Texy!

Rubriky

  • No Future
  • Internet
  • Se špetkou ironie
  • XHTML a sémantika
  • Testy
  • Oblíbené weblogy

  • La Trine
  • Derův zápisník
  • Yuhůův weblog
  • acciBlog
  • Martyho weblog
  • Ronnieho weblog
  • zimmiho blog
  • conBLOG
  • Klokynov blog
  • Buchtič blog
  • Dům mlhy
  • Anne’s Weblog
  • Mabfredův básnický blog
  • Další odkazy

  • Sémantika
  • MiSHAK
  • můj starší blog
  • Textpattern česky
  • Textpattern oficiální web
  • Jakpsatweb
  • Kocourek Koudy
  • Webylon