Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Miten haluaisit muuttaa HTML:ää?

Sivun loppuun

HTML5 [25.02.2015 22:26:47]

#

Kiinnostaisi kuulla, millaisia muutoksia tekisitte HTML:ään, jos ei tarvitsisi välittää taaksepäin yhteensopivuudesta. Oletetaan kuitenkin, ettei HTML:n tilalle suunniteltaisi uutta kieltä.

Tekisin ainakin tällaiset muutokset:

1) Muuttaisin tapaa, jolla kuvan vaihtoehtoinen teksti merkitään. Alt-attribuutin sijasta vaihtoehtoinen teksti sijoitettaisiin img-elementin sisälle:

<img src="kuva.png" alt="Lorem ipsum..."> <!-- Ei näin, -->
<img src="kuva.png">Lorem ipsum...</img>  <!-- vaan näin! -->

2) Yhtenäistäisin tavan, jolla ulkoiset CSS- ja JavaScript-tiedostot liitetään dokumenttiin:

<style src="tyylit.css" />
<script src="yleinen.js" />
<!-- Tägit on suljettu itensä sisällä, jottei väritys rikkoudu. -->

Tai sitten molemmat liitettäisiin link-elementin avulla:

<link rel="styles" src="tyylit.css"> <!-- `stylesheet` muotoon `styles` -->
<link rel="script" src="yleinen.js">
<!-- Attribuutti `href` vaihdettaisiin `src`-attribuuttiin, ellei ole perusteltua käyttää juuri `href`-attribuuttia -->

3) Mm. tyhjät iframe- ja script-elementit eivät tarvitsisi lopputägiä:

<iframe src="//www.youtube-nocookie.com/embed/...">

Lebe80 [26.02.2015 10:16:51]

#

<img src="kuva.png">Lorem ipsum...</img>

MIKSI NÄIN? Tuo standardin mukainen tapa on paljon selkeämpi ja monipuolisempi. Attributit ovat tarkoituksella attribuutteja ja lopputägit on mun mielestä selkeitä, koska tällöin näkee milloin elementti sulkeutuu. Html-dokumentin rakenne on tällöin aina sama tägistä riippumatta.

Tzaeru [26.02.2015 12:35:45]

#

Poistaisin n. 90% tageista ja jättäisin jäljelle vain tavan ilmaista kaikkein yksinkertaisimmat mahdolliset kuva-, teksti-, ääni- ja canvas-asettelut. 8)

HTML5 [26.02.2015 15:46:54]

#

Lebe80 kirjoitti:

<img src="kuva.png">Lorem ipsum...</img>

MIKSI NÄIN? Tuo standardin mukainen tapa on paljon selkeämpi ja monipuolisempi. Attributit ovat tarkoituksella attribuutteja ja lopputägit on mun mielestä selkeitä, koska tällöin näkee milloin elementti sulkeutuu. Html-dokumentin rakenne on tällöin aina sama tägistä riippumatta.

Kun kuvan vaihtoehtoinen teksti on attribuutissa, ei siinä voi käyttää tägejä. Iframe-elementin voisi toki sulkea itsensä sisällä, mikä on yhtä selkeää kuin lopputägin käyttäminen:

<iframe src="//www.youtube-nocookie.com/embed/..." />

Lebe80 [27.02.2015 13:37:02]

#

HTML5 kirjoitti:

Lebe80 kirjoitti:

<img src="kuva.png">Lorem ipsum...</img>

MIKSI NÄIN? Tuo standardin mukainen tapa on paljon selkeämpi ja monipuolisempi. Attributit ovat tarkoituksella attribuutteja ja lopputägit on mun mielestä selkeitä, koska tällöin näkee milloin elementti sulkeutuu. Html-dokumentin rakenne on tällöin aina sama tägistä riippumatta.

Kun kuvan vaihtoehtoinen teksti on attribuutissa, ei siinä voi käyttää tägejä.

Mutta miksi ihmeessä alt-tekstissä pitäisi käyttää tägejä?! Selkeästi toinen meistä ei nyt tajua alt-attribuutin käyttötarkoitusta.

HTML5 [27.02.2015 15:50:44]

#

Lebe80 kirjoitti:

– –

Mutta miksi ihmeessä alt-tekstissä pitäisi käyttää tägejä?! Selkeästi toinen meistä ei nyt tajua alt-attribuutin käyttötarkoitusta.

On yksi tapaus: Kentässä on muunkielistä tekstiä, joka halutaan merkitä lang-attribuutin avulla, esim. näin:

<img src="kuva.png">Neque porro quisquam est <span lang="en">Content Security Policy</span> qui dolorem ipsum quia.</img>

Nyt näytönlukija voi hyödyntää kielenmerkkausta ja ääntää englanninkielisen osuuden oikein.

Jonkinlaisen ratkaisun tähän tuo longdesc-attribuutti.

The Alchemist [27.02.2015 20:17:53]

#

Esimerkiksi video- ja object-tageillakin on fallback-ratkaisunsa nestattuina elementteinä, joten niihin nähden img-tagin attribuuttiin perustuva ratkaisu ei ole koherentti.

Antti Laaksonen [28.02.2015 00:09:48]

#

Mahdollisuus määritellä omia tageja olisi hyvä. Esimerkiksi

<span class="hassu">Moikka!</span>

olisi paremmin

<hassu>Moikka!</hassu>

groovyb [28.02.2015 20:59:16]

#

Mikäs sen estää?

jsfiddle

Tukki [28.02.2015 21:02:09]

#

Antti Laaksonen kirjoitti:

Mahdollisuus määritellä omia tageja olisi hyvä.

Tämähän on ollut mahdollista jo pitkään XHTML:n myötä. Tosin hyöty on useimmille aika rajallinen, koska todellisen toiminnallisuuden tai semantiikan toteuttaminen noille omille tageille on usein hyvin työlästä ja/tai kallista.

Käytännössä, jos pelkkä css-tyylittely ja itse tehdyt js-tominnot riittävät, mikään ei estä tekemästä noita omia tageja jo nyt myös "perus htmlläkin". Se tosin tekee dokumentista epävalidin

HTML5 [28.02.2015 21:08:53]

#

Antti Laaksonen kirjoitti:

Mahdollisuus määritellä omia tageja olisi hyvä. – –

HTML5:ssä voi määritellä omia elementtejä. (http://www.html5rocks.com/en/tutorials/webcomponents/customelements/, http://www.w3.org/TR/custom-elements/)

Vaatimuksena on, että elementin nimessä pitää olla yhdysmerkki (-). Tämä ilmeisesti siksi, että validaattori voi näin erottaa omat elementit epävalideista elementeistä. (http://stackoverflow.com/questions/9845011/are-custom-elements-valid-html5)

groovyb [28.02.2015 21:32:36]

#

Uudet selaimet kyllä osaa käsitellä custom tagejä ilman erillistä domiin rekisteröintiäkin. jopa IE. Validaattori on asia erikseen.
jsfiddle

HTML5 [01.03.2015 01:45:50]

#

groovyb kirjoitti:

Uudet selaimet kyllä osaa käsitellä custom tagejä ilman erillistä domiin rekisteröintiäkin. jopa IE. Validaattori on asia erikseen.
jsfiddle

Niin. Validaattorillekin riittää, kun nimessä on yhdysmerkki; rekisteröinti ei ole välttämätöntä.

Olen käsittänyt, että rekisteröinnistä voi olla hyötyä JavaSciptissä. Oma elementti voi esimerkiksi periä jonkin standardielementin ominaisuudet, mitä voi hyödyntää ohjelmoinnissaan.

Spectrum [12.03.2015 21:11:40]

#

Jos saisi tehdä uudelleen html:n niin kaikkein ensimmäiseksi tekisin standardin sellaiseksi, että selaimet oikeasti alkaisivat noudattaa sitä - KAIKKI. Ja vielä samalla tavalla. Ja muutenkin voisi keskittyä selainpuolen yhteensopivuuteen. Lisäksi sillisalaatti mahdollisuus pois - eli kaikki vanhat standardit roskalaatikkoon ja niitä vain ei enää tuettaisi. Kaikki yhdellä tavalla. Netti vain uusiksi kokonaan.

Tzaeru [13.03.2015 14:50:48]

#

Spectrum kirjoitti:

Jos saisi tehdä uudelleen html:n niin kaikkein ensimmäiseksi tekisin standardin sellaiseksi, että selaimet oikeasti alkaisivat noudattaa sitä - KAIKKI.

Tää ei nyt varsinaisesti ole HTML:n ominaisuus, vaan selainten..

Yucca [13.03.2015 20:19:50]

#

Lebe80 kirjoitti:

Mutta miksi ihmeessä alt-tekstissä pitäisi käyttää tägejä?! Selkeästi toinen meistä ei nyt tajua alt-attribuutin käyttötarkoitusta.

Olen samaa mieltä, mutta todennäköisesti eri mieltä kanssasi siitä, kumpi teistä ei ymmärrä.

Alt-määritteen määritelty tarkoitus on esittää vaihtoehtoinen sisältö tilanteissa, joissa selain (tms.) ei esitä kuvaa. Miksi tämä sisältö mielivaltaisesti rajattaisiin pelkäksi tekstiksi?

Lisäys:

HTML5 kirjoitti:

Kiinnostaisi kuulla, millaisia muutoksia tekisitte HTML:ään, jos ei tarvitsisi välittää taaksepäin yhteensopivuudesta. Oletetaan kuitenkin, ettei HTML:n tilalle suunniteltaisi uutta kieltä.

XHTML 2.0 oli vähän tuonsuuntainen aktiviteetti, mutta se päätyi umpikujaan, luultavasti lähinnä siksi, että yhteensopivuuden paineet ovat liian suuret.

lainaus:

Tekisin ainakin tällaiset muutokset:

1) Muuttaisin tapaa, jolla kuvan vaihtoehtoinen teksti merkitään. Alt-attribuutin sijasta vaihtoehtoinen teksti sijoitettaisiin img-elementin sisälle:

Ajatus olisi hyvin looginen, ja datan (kuten vaihtoehtotekstin) sijoittaminen määritteeseen eli attribuuttiin on yleistettyjen merkkauskielten periaatteiden vastaista. Määritteiden on tarkoitus kuvata elementin ominaisuuksia, ei sisältää sen sisältöä.

Img-elementistä tuli mikä tuli, koska Netscape teki sen (vauhdikkaasti) kuten teki ja oli aikansa johtava selain. Shipping code wins. Periaatesuunnittelua sen takana ei ollut nimeksikään.

HTML 4:ssä käyttöön otettu, aluksi surkeasti toteutettu object-elementti rakentuuu esittämällesi periaatteelle. Sitä voi myös käyttää kuvan esittämiseen niin, että vaihtoehtosisältö on ”rikasta tekstiä”, yleisesti HTML-sisältöä. Eri asia on, miten hyvin tämä käytännössä toimii.

lainaus:

2) Yhtenäistäisin tavan, jolla ulkoiset CSS- ja JavaScript-tiedostot liitetään dokumenttiin:

Olisi sinänsä loogista, mutta ei kovin tärkeää.

lainaus:

3) Mm. tyhjät iframe- ja script-elementit eivät tarvitsisi lopputägiä:

<iframe src="//www.youtube-nocookie.com/embed/...">

HTML5 jo määrittelee, ettei iframe-elementin sisällöllä ole merkitystä, mutta syntaksi on silti vanhalla kannalla. Tällainen näyttää tietysti hyvin epäloogiselta, jos kieltä tarkastellaan sellaisena kuin se nyt on määritelty, ilman historiaa.

Eri asia on, miten looginen HTML5:n upotuselementtien (img, object, embed, iframe, audio, video) viidakko on. Siinä on samaa adhockeryn makua kuin img-elementissä: määritellään elementti hoitamaan tietty homma miettimättä mitään teorioita ja kasataan siihen määritteitä sitä mukaa kuin tuntuu tarpeelliselta.

HTML5 [22.06.2016 00:21:44]

#

Jatkan vielä vähän tästä aiheesta.

Ottaisin HTML:n syntaksin pohjaksi XML:n. Kaikki elementit pitäisi siis sulkea, ja minkä tahansa tyhjän elementin voisi sulkea itsensä sisällä. Attribuuttien arvot tulisi aina kirjoittaa lainaus- tai heittomerkkien sisään.

Määritteen arvon saisi kuitenkin jättää kokonaan pois, jos se on tyhjä:

<input name="foo" required/>

XML-tyyliset nimiavaruudet mahdollistaisivat omien elementtien ja määritteiden käytön:

<html c:="http://...">
    <!-- ... -->
    <c:hassu>Moikka!</c:hassu>
    <!-- ... -->
</html>

HTML5 [22.06.2016 02:27:42]

#

Kunpa XHTML lopulta korvaisi HTML:n!


Sivun alkuun

Vastaus

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

Tietoa sivustosta