Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: HTML semantics - The practical version

Sivun loppuun

Lebe80 [18.04.2013 14:02:13]

#

Vanha kamu teki HTML-luennon. Totesin sen melko hyödylliseksi vasta-alkajien lisäksi ihan vanhan ajan html-vääntäjille, että laitetaan se kaikkien nähtäville tänne Ohjelmointiputkaankin:

https://speakerdeck.com/eiskis/html-semantics-the-practical-version

The Alchemist [18.04.2013 15:41:07]

#

Itse lisäisin ja korjaisin muutamia asioita:

- Html:ssä ei tosiaan ole mitään määrättyä tapaa luokkien ja id:iden käyttöön, mutta mielestäni ihmiset käyttävät aivan liian usein luokkanimiä, kun oikeasti pitäisi käyttää id-attribuuttia. Jos nimellä on tarkoitus erotella selkeästi uniikki elementti, niin silloin pitää käyttää id:tä.

- Dd-elementeistä sanottiin, että niitä voi olla 0-n, mutta kun standardi erikseen vaatii, että jokaisella dt-elementillä eli termillä täytyy olla parinaan vähintään yksi dd-elementti eli selitys/kuvaus. (Dt ei siis voi esiintyä ilman siihen assosioituvia dd-elementtejä, mutta tällaisia pareja ei tarvitse olla ainuttakaan; dl-lista saa siis olla tyhjä.)

- B- ja i-elementtien käyttö on sallittua html5:ssä, koska niiden merkitys on määritelty uudelleen. Kuitenkin pitää huomioida, etteivät b/strong ja i/em ole vaihdannaisia, vaan niiden merkitykset eriävät toisistaan.

- Li-elementti ei mielestäni ole semanttinen elementti vaan headeriin ja footerin verrattavissa oleva pseudosemanttinen containeri. Tästä kielivät jo html-standardin määrittelytkin: esimerkiksi p:n ja h1/h2/h3...:n sisällä ei saa käyttää container-tyyppisiä elementtejä, mutta li:lle tällaista rajoitetta ei ole.

Grez [18.04.2013 16:06:19]

#

The Alchemist kirjoitti:

- B- ja i-elementtien käyttö on sallittua html5:ssä, koska niiden merkitys on määritelty uudelleen. Kuitenkin pitää huomioida, etteivät b/strong ja i/em ole vaihdannaisia, vaan niiden merkitykset eriävät toisistaan.

Kyllä kai niiden käyttö on sinänsä sallittua kaikissa HTML-versioissa, eikä tuossa luennossakaan muuta väitetty. Kuten luennossa, myös Html5 speksissä kehotetaan välttämään niiden käyttöä: "The b element should be used as a last resort when no other element is more appropriate."

The Alchemist [18.04.2013 16:10:41]

#

Jos edelleen muistetaan, että tässä puhutaan semantiikasta eikä standardien kirjaimellisesta tulkinnasta, niin oli olemassa sellainen lyhyt ajanjakso, jolloin semanttinen web alkoi nousta esiin mutta jolloin html5 ei vielä ollut saatavilla. Tällöin b- ja i-elementtejä ei voinut semanttisessa merkkauksessa ajatellakaan, koska niiden merkitys oli puhtaasti näyttömuodon/tyylien määrittelyssä (ja koska kaikki puristit käyttivät toki xhtml 1.1:tä, josta moiset oli poistettu kokonaan).

W3C:n wiki ei muuten ole mikään virallinen speksi vaan vähemmän formaali tiedonjakelun kanava. Suoraan etusivulta: "Pages here have no formal status but may have WikiConsensus. Questions & answers here may be misleading, or just plain wrong. Or, they may be useful. You are welcome to add, fix, develop and rearrange topics."

Itse käytän tätä oletettavasti virallisempaa dokumentaatiota: http://www.w3.org/TR/html-markup/b.html

Mutta eihän tuossa sinällään mitään kyseenalaista ole, lähinnä asiaa teroitetaan tyhmille. Hierarkiassa <b> on semanttisempi kuin <span class="this-text-should-be-bolded"> mutta vähemmän semanttinen kuin <strong>.

Lebe80 [19.04.2013 16:01:52]

#

ja CSS-luento:

https://speakerdeck.com/eiskis/css-mindset

Yucca [19.04.2013 21:18:59]

#

Lebe80 kirjoitti:

Vanha kamu teki HTML-luennon. Totesin sen melko hyödylliseksi vasta-alkajien lisäksi ihan vanhan ajan html-vääntäjille, että laitetaan se kaikkien nähtäville tänne Ohjelmointiputkaankin:

https://speakerdeck.com/eiskis/html-semantics-the-practical-version

Tässä on oikeasti käytännöllinen kuvaus:

http://www.cs.tut.fi/~jkorpela/pragmatic-html.html8

”Semanttinen HTML” on merkitysten sekasotkua, siitä alkaen, että sanan ”semanttinen” semantiikka eli merkitys on kateissa. Ei esimerkiksi h1-elementti sano mitään sisältönsä merkityksestä, ainoastaan sen rakenteellisesta asemasta.

The Alchemist [19.04.2013 22:26:02]

#

Yucca ei taida olla tietoinen siitä, että font-elementti on poistettu html5:stä. Sanoisin aika räikeäksi virheeksi. Mielestäni tuossa on myös virhe table-elementin käyttöä koskien. Tablea ei voi käyttää listamuotoisen datan esittämiseen, vaan se on tarkoitettu taulukkomalliselle datalle. Tässä tapauksessa määrittelen listan tarkoittavan yksiulotteista dataa ja taulukon n-ulotteiselle (n >= 2) datalle. Listaerotin ei ole dataa eikä siten tee todellisesta datasta moniulotteista. (Mitä edes tarkoittaa, että listaerotin/-merkki on "osa sisältöä"?)

Grez [19.04.2013 22:38:36]

#

Mielestäni taulukko on enemmänkin 2 -ulotteiselle kuin n-ulotteiselle datalle. Tai ainakaan minä en keksi miten tablella saa tehtyä nätisti esim. 3-ulotteisen taulukon.

The Alchemist [19.04.2013 22:41:43]

#

No sanotaan sitten "n-sarakkeiselle" datalle. Nipottaminen on ihan hölmöä, kun W3C:n virallinen speksikin käyttää termiä "dimension" eli ulottuvuus.

http://www.w3.org/TR/html-markup/table.html

Yucca [20.04.2013 16:42:51]

#

The Alchemist kirjoitti:

Yucca ei taida olla tietoinen siitä, että font-elementti on poistettu html5:stä.

Esimerkiksi kirjassani ”HTML5 – uudet ominaisuudet” kerrotaan, että HTML5:n määrittely suorastaan vaatii selaimia tukemaan font-elementtiä. (Voit tarkistaa asian määrittelystä, jos et usko.) Määrittely toki myös sanoo, ettei sitä saa käyttää, mutta maailmassa nyt muutenkin esitetään kaikenlaisia kieltoja, joilla ei ole voimaa eikä perusteita.

lainaus:

(Mitä edes tarkoittaa, että listaerotin/-merkki on "osa sisältöä"?)

Esimerkiksi sitä, että HTML-tiedostossa on <div>• Hei maailma</div> tai <div>– Hei maailma</div>. Se on ehdottomasti toimivin tapa saada sivulle varmasti luetelmapallo tai luetelmaviiva. Ei tällaisiin asioihin kannata suhtautua uskonnollisella kiihkolla. Miksi luetelmamerkkejä ei saisi olla tekstissä itsessään, kun kuitenkin muut välimerkit kuten lainausmerkit ja pisteet sallitaan sen sijaan, että pitäisi väen väkisin käyttää jotain ”semanttista” merkkausta?

The Alchemist [21.04.2013 11:29:42]

#

http://www.w3.org/TR/html5/obsolete.html#non-conforming-features:

Elements in the following list are entirely obsolete, and must not be used by authors: font

Eiköhän se ollut tässä. Asia on näin koska minä sanon niin. Kirjaa en ole jaksanut kirjoittaa mutta voinhan ilmoittaa asiasta tässäkin.

Yucca kirjoitti:

Esimerkiksi sitä, että HTML-tiedostossa on <div>• Hei maailma</div> tai <div>– Hei maailma</div>. Se on ehdottomasti toimivin tapa saada sivulle varmasti luetelmapallo tai luetelmaviiva. Ei tällaisiin asioihin kannata suhtautua uskonnollisella kiihkolla. Miksi luetelmamerkkejä ei saisi olla tekstissä itsessään, kun kuitenkin muut välimerkit kuten lainausmerkit ja pisteet sallitaan sen sijaan, että pitäisi väen väkisin käyttää jotain ”semanttista” merkkausta?

Tuolloinhan käytetään ihan tavallista listaelementtiä. Taulukkoa se ei vaadi eikä edes suosi.

Yucca [21.04.2013 14:14:13]

#

The Alchemist kirjoitti:

http://www.w3.org/TR/html5/obsolete.html#non-conforming-features:

Elements in the following list are entirely obsolete, and must not be used by authors: font

Kukas tuossa äsken kirjoitti ”standardien kirjaimellisesta noudattamisesta”? Ja mihin ”semantiikka” hukkui, kun nyt vetoat johonkin ”standardiin” puhumatta enää mistään ”semantiikasta” tai muista perusteluista.

No mistään standardistahan ei edes ole kyse, vaan yrität lyödä päähän luonnoksella, joka itse sanoo: ”It is inappropriate to cite this document as other than work in progress.”


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta