Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: HTML5: Outoja virheitä validoinnissa

Sivun loppuun

HTML5 [29.07.2013 21:35:49]

#

Huomasin, että W3C:n validaattori on alkanut valittaa asiasta, josta se ei ole ennen sanonut mistään.

Nyt yhtäkkiä W3C:n validaattori antoi seuraavat virheet:

http://validator.w3.org/check?uri=[osoite poistettu]

Validator.nu ei moisesta valita: http://html5.validator.nu/?doc=[osoite poistettu]

Eräältä sivulta (http://lists.whatwg.org/htdig.cgi/help-whatwg.org/2007-December.txt) löytyi tieto, jonka mukaan input-elementit eivät saa olla suoraan form-elementin lapsia, vaan niiden on oltava block-tason elementin sisällä, joka voi puolestaan olla form-elementin sisällä.

Otin neuvosta vaarin ja laitoin input elementit div-elementin sisälle – ei auttanut. Kokeilin myös p- ja fieldset-elementtejä ja sama tulos.

Onko kellään tietoa, mistä voisi kiikastaa?

The Alchemist [29.07.2013 21:59:10]

#

Input-elementille ei sallita attribuuttia role.

Role- ja aria-attribuuttien oikeaoppisesta käytöstä:
http://www.w3.org/html/wg/drafts/html/master/dom.html#sec-strong-native-semantics

HTML5 [29.07.2013 22:23:32]

#

Heti auttoi, kun poistin role-attribuutin. En tiennytkään, että yksi attribuutti voi sotkea asian näin pahasti. Virheilmoituksissa ei ollut pientäkään mainintaa role-attribuutista.

Jotenkin kuvittelin, että role="search" olisi tarkoitettu nimenomaan hakukentälle, mutta se onkin näköjaan tarkoitettu hakulomakkeelle.

No nyt opin tämänkin asian. Pitää tosiaan opiskella noiden role-attribuuttien oikea käyttötapa muutenkin.

The Alchemist [29.07.2013 22:44:48]

#

Niin no, en minäkään tuota välttämättä olisi nähnyt suoraan katsomalla, mutta noudatin debuggaamisen tärkeintä sääntöä: lue aina virheilmoitukset.

Line 151, Column 92: Attribute placeholder not allowed on element input at this point.

…   <input type="text" name="k" placeholder="Haku" maxlength="80" role="search">

Attributes for element input:
    Global attributes
    accept when type is file
    alt when type is image
    autocomplete when type is text, search, url, tel, e-mail, password, datetime, date, month, week, time, datetime-local, number, range, or color
    autofocus
    checked when type is checkbox or radio
    dirname when type is text or search
    disabled
    form
    formaction when type is submit or image
    formenctype when type is submit or image
    formmethod when type is submit or image
    formnovalidate when type is submit or image
    formtarget when type is submit or image
    height when type is image
    list when type is text, search, url, tel, e-mail, datetime, date, month, week, time, datetime-local, number, range, or color
    max when type is datetime, date, month, week, time, datetime-local, number, or range
    maxlength when type is text, search, url, tel, e-mail, or password
    min when type is datetime, date, month, week, time, datetime-local, number, or range
    multiple when type is email or file
    name
    pattern when type is text, search, url, tel, e-mail, or password
    placeholder when type is text, search, url, tel, e-mail, password, or number
    readonly when type is text, search, url, tel, e-mail, password, datetime, date, month, week, time, datetime-local, or number
    required when type is text, search, url, tel, e-mail, password, datetime, date, month, week, time, datetime-local, number, checkbox, radio, or file
    size when type is text, search, url, tel, e-mail, or password
    src when type is image
    step when type is datetime, date, month, week, time, datetime-local, number, or range
    type
    value when type is not file or image
    width when type is image

Yucca [30.07.2013 16:54:42]

#

The Alchemist kirjoitti:

Input-elementille ei sallita attribuuttia role.

Se on sallittu kaikille elementeille:
http://www.w3.org/TR/html5/dom.html#aria-role-attribute

Tässä on ilmeisesti kyse validaattorin bugista. Valitettavasti validaattorien kehitys on hiukan liian luovaa eli aika usein tulee ”korjauksia”, joiden mukana on pahojakin virheitä. Tehkää bugiraportti jos jaksatte, ohjeet löytyvät validaattorin sivuilta. Veikkaisin että tämä havaitaan muutenkin viikon kuluessa ja korjataan melko pian.

The Alchemist [30.07.2013 18:02:07]

#

lainaus:

Authors may use the ARIA role and aria-* attributes on HTML elements, in accordance with the requirements described in the ARIA specifications, except where these conflict with the strong native semantics described below.

Suoraan linkkaamaasi lukua edeltävästä luvusta. Olin tästä ymmärtävinäni, ettei input-elementin kanssa voi käyttää role-attribuuttia, koska type-attribuutti määrittää tällaisen "strong native semantics" -merkityksen valmiiksi. Toisin sanoen role-attribuutti olisi vähintäänkin redundantti. Joka tapauksessa quoteamastani validatorin virheilmoituksesta selviää, ettei validator hyväksy role-attribuuttia kyseiselle elementille.

Yucca [30.07.2013 19:32:16]

#

The Alchemist kirjoitti:

Olin tästä ymmärtävinäni, ettei input-elementin kanssa voi käyttää role-attribuuttia, koska type-attribuutti määrittää tällaisen "strong native semantics" -merkityksen valmiiksi.

Olit ymmärtänyt väärin. Sääntö, jonka mukaan role-määrite ei saa olla ristiriidassa natiivin semantiikan kanssa, ei kiellä tämän määritteen käyttöä.

lainaus:

Joka tapauksessa quoteamastani validatorin virheilmoituksesta selviää, ettei validator hyväksy role-attribuuttia kyseiselle elementille.

Se on selvää. Jokseenkin yhtä selvää on, että tämä on validaattorin bugi ja että se lisäksi raportoi virheen väärin: se valittaa type-, placeholder- ja maxlength-määritteestä, vaikka se yrittää (virheellisesti) sanoa, että virhe olisi role-määritteessä.

HTML5 [31.07.2013 00:09:14]

#

Ajattelinkin, että joku bugi on kyseessä, sillä ei tuo virheilmoitus liity mitenkään siihen, että role-attribuutti input-elementissä ei olisi sallittu.

Joka tapauksessa poistin tuon role-attribuutin ja vaihdoin type-attribuutin arvoksi ”search”. Se hyvältä ratkaisulta, vaikka validaattorissa on ilmeisesti bugi.

Yucca [31.07.2013 14:36:30]

#

Yucca kirjoitti:

Veikkaisin että tämä havaitaan muutenkin viikon kuluessa ja korjataan melko pian.

Taidan olla optimisti, sillä bugien käsittely näyttää olevan hitaampaa kuin muistin. No, tein bugiraportin:
https://www.w3.org/Bugs/Public/show_bug.cgi?id­=22846


Sivun alkuun

Vastaus

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

Tietoa sivustosta