|
| label for - multiple names Fra : Rune Jensen |
Dato : 13-06-09 14:00 |
|
Jeg sidder her med noget form-kode, som ikke nødvendigvis er et
tilgængelighedproblem (jaja, det validerer da), men udfordringen gør mig
alligevel nysgerrig:
http://webdesigngruppen.dk/datovalg.asp
Normalt vil man vel bruge label for, da det kan lette navigering for
brugere, som benytter tastatur. Men hvordan bruger man "label for", når
navnet på flere selectboxe er det samme, og dermed danner et
index/array? Det er datoernes select boxe, som har ens name.
MVH
Rune Jensen
--
Yep! ..så er der sguda halvfemser trampe-træsko-techno-trance:
http://www.youtube.com/watch?v=63-2pg6rv1g
coolfm.dk - Vi spiller nettets største hits!
100FM - Vi spiller DKs værste shit!
| |
Bertel Lund Hansen (13-06-2009)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 13-06-09 14:12 |
|
Rune Jensen skrev:
> brugere, som benytter tastatur. Men hvordan bruger man "label for", når
> navnet på flere selectboxe er det samme, og dermed danner et
> index/array? Det er datoernes select boxe, som har ens name.
Du skal give dem en id og så
label for='<id>'
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Rune Jensen (13-06-2009)
| Kommentar Fra : Rune Jensen |
Dato : 13-06-09 17:05 |
|
Bertel Lund Hansen skrev:
> Rune Jensen skrev:
>
>> brugere, som benytter tastatur. Men hvordan bruger man "label for", når
>> navnet på flere selectboxe er det samme, og dermed danner et
>> index/array? Det er datoernes select boxe, som har ens name.
>
> Du skal give dem en id og så
>
> label for='<id>'
Det er selvfølgelig rigtigt.
Men prøv at se her:
http://www.evolution-internet.com/downloads/javascript/dynamic-drop-down-boxes.htm
...er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
Og virker de IDer som rigtige arrays, ligesom i name?
MVH
Rune Jensen
| |
Bertel Lund Hansen (13-06-2009)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 13-06-09 17:47 |
|
Rune Jensen skrev:
> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
Fra validatoren:
character "[" is not allowed in the value of attribute "id"
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Rune Jensen (13-06-2009)
| Kommentar Fra : Rune Jensen |
Dato : 13-06-09 19:30 |
|
Bertel Lund Hansen skrev:
> Rune Jensen skrev:
>
>> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
>
> Fra validatoren:
>
> character "[" is not allowed in the value of attribute "id"
Jeg forvekslede da vist id med name i første omgang..
Men tak for svarene, Bertel
MVH
Rune Jensen
| |
Lasse Reichstein Nie~ (13-06-2009)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 13-06-09 17:58 |
|
Rune Jensen <runeofdenmark@gmail.com> writes:
> Bertel Lund Hansen skrev:
>> Rune Jensen skrev:
>>
>>> brugere, som benytter tastatur. Men hvordan bruger man "label for",
>>> når navnet på flere selectboxe er det samme, og dermed danner et
>>> index/array? Det er datoernes select boxe, som har ens name.
>> Du skal give dem en id og så label for='<id>'
>
> Det er selvfølgelig rigtigt.
>
> Men prøv at se her:
> http://www.evolution-internet.com/downloads/javascript/dynamic-drop-down-boxes.htm
>
> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
Nej.
Id'er må ikke indeholde alle tegn, og "[" er ikke et af dem der er tilladt.
> Og virker de IDer som rigtige arrays, ligesom i name?
Nej. Det gør name="foo[2]" heller ikke i browseren. Det er server-siden
der laver det om til indgang to i et eller andet array.
Id'er bruges kun til unikt at identificere et element. De bliver heller
ikke sendt med til serveren, så du kan bruge id="select_1" i stedet for
id="select[1]".
Helt korrekt brug af label er at have den ved siden af det element den
refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
at have elementet inde i labelen.
Altså:
<label for="select_1">Element1: </label>
<select id="select_1" name="element[1]">
<option ....>
...
</select>
Held og lykke med det.
/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Birger Sørensen (13-06-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 13-06-09 18:52 |
|
Lasse Reichstein Nielsen udtrykte præcist:
> Rune Jensen <runeofdenmark@gmail.com> writes:
>
>> Bertel Lund Hansen skrev:
>>> Rune Jensen skrev:
>>>
>>>> brugere, som benytter tastatur. Men hvordan bruger man "label for",
>>>> når navnet på flere selectboxe er det samme, og dermed danner et
>>>> index/array? Det er datoernes select boxe, som har ens name.
>>> Du skal give dem en id og så label for='<id>'
>>
>> Det er selvfølgelig rigtigt.
>>
>> Men prøv at se her:
>> http://www.evolution-internet.com/downloads/javascript/dynamic-drop-down-boxes.htm
>>
>> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
>
> Nej.
> Id'er må ikke indeholde alle tegn, og "[" er ikke et af dem der er tilladt.
>
>> Og virker de IDer som rigtige arrays, ligesom i name?
>
> Nej. Det gør name="foo[2]" heller ikke i browseren. Det er server-siden
> der laver det om til indgang to i et eller andet array.
>
> Id'er bruges kun til unikt at identificere et element. De bliver heller
> ikke sendt med til serveren, så du kan bruge id="select_1" i stedet for
> id="select[1]".
>
> Helt korrekt brug af label er at have den ved siden af det element den
> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
> at have elementet inde i labelen.
> Altså:
> <label for="select_1">Element1: </label>
> <select id="select_1" name="element[1]">
> <option ....>
> ...
> </select>
>
> Held og lykke med det.
> /L
Det er vist ikke rigtigt.
Hvis man bruger
<label>Tekst<input></label>
bliver labellen associeret med input-linien, og man behøver ikke bruge
id.
Hvilket er lige så rigtigt som
<label for="text">Tekst</label><input id="text"...>
http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL
Det kan så være sværere at formattere den første end den anden. Men det
bliver den første ikke mere forkert end den anden af
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Rune Jensen (13-06-2009)
| Kommentar Fra : Rune Jensen |
Dato : 13-06-09 19:46 |
|
Birger Sørensen skrev:
> Hvis man bruger
> <label>Tekst<input></label>
> bliver labellen associeret med input-linien, og man behøver ikke bruge id.
> Hvilket er lige så rigtigt som
> <label for="text">Tekst</label><input id="text"...>
Så den del har han, scriptmakeren, altså styr på. Jeg synes bare det
virker lidt ulogisk at indhegne inputten i labellen, men selvfølgelig
kortere/nemmere i visse situationer.
Tak for svaret, Birger, jeg blev i hvert fald klogere i dag.
Jeg regner med at bruge jeres svar i forb. med noget CSS3, som det
alligevel kun er Opera, som forstår.. hvis ikke, jeg kan finde en CSS2.1
metode.
MVH
Rune Jensen
| |
Rune Jensen (13-06-2009)
| Kommentar Fra : Rune Jensen |
Dato : 13-06-09 19:34 |
|
Lasse Reichstein Nielsen skrev:
> Rune Jensen <runeofdenmark@gmail.com> writes:
>> ..er det lovligt, og brugbart, at inddelle IDer med indekseringsskilletegn?
>
> Nej.
> Id'er må ikke indeholde alle tegn, og "[" er ikke et af dem der er tilladt.
Mente jeg heller ikke. Men jeg fandt scriptet på "unobtrusive
scripting", og de foolk, der laver scripts efter de principper plejer at
have styr på koden, så dér blev jeg nok forvirret.
>> Og virker de IDer som rigtige arrays, ligesom i name?
<SNIP>
> Helt korrekt brug af label er at have den ved siden af det element den
> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
> at have elementet inde i labelen.
> Altså:
> <label for="select_1">Element1: </label>
> <select id="select_1" name="element[1]">
> <option ....>
> ...
> </select>
Det er også sådan, jeg normalt ville gøre.
Meget gode svar fra jer tre, tak for det ;)
MVH
Rune Jensen
| |
Lasse Reichstein Nie~ (13-06-2009)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 13-06-09 23:39 |
|
=?ISO-8859-15?Q?Birger_S=F8rensen?= <sdc@bbsorensen.com> writes:
> Lasse Reichstein Nielsen udtrykte præcist:
>> Helt korrekt brug af label er at have den ved siden af det element den
>> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
>> at have elementet inde i labelen.
....
> Det er vist ikke rigtigt.
> Hvis man bruger
> <label>Tekst<input></label>
> bliver labellen associeret med input-linien, og man behøver ikke bruge
> id.
> Hvilket er lige så rigtigt som
> <label for="text">Tekst</label><input id="text"...>
Det har du ret i. Jeg blandede vist nogen ting sammen.
(Der var vist engang hvor ikke alle browsere virkede med begge metoder,
men jeg kan ikke huske detaljerne mere).
> http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL
Jep, standarden er klar (ud over hvad der sker hvis man har to
input-elementer inde i samme label - men så beder man også om problemer :)
/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Birger Sørensen (14-06-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 14-06-09 00:07 |
|
Lasse Reichstein Nielsen kom med følgende:
> =?ISO-8859-15?Q?Birger_S=F8rensen?= <sdc@bbsorensen.com> writes:
>
>> Lasse Reichstein Nielsen udtrykte præcist:
>
>>> Helt korrekt brug af label er at have den ved siden af det element den
>>> refererer til, og bruge id'en til at lave linket, og ikke, som du gør,
>>> at have elementet inde i labelen.
> ...
>> Det er vist ikke rigtigt.
>> Hvis man bruger
>> <label>Tekst<input></label>
>> bliver labellen associeret med input-linien, og man behøver ikke bruge
>> id.
>> Hvilket er lige så rigtigt som
>> <label for="text">Tekst</label><input id="text"...>
>
> Det har du ret i. Jeg blandede vist nogen ting sammen.
> (Der var vist engang hvor ikke alle browsere virkede med begge metoder,
> men jeg kan ikke huske detaljerne mere).
>
>> http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL
>
> Jep, standarden er klar (ud over hvad der sker hvis man har to
> input-elementer inde i samme label - men så beder man også om problemer :)
>
> /L
Jeg bruger også altid metoden med id.
CSS på <label> og <input>, og man slipper for tabeller eller andre
finurligheder, for at få tingene til at stå fornuftigt.
Vi alver alle sammen smuttere. Godt at RAM'en i PC'en er mere stabil
end den i hovedet. ^^ I hvert fald mit.
Tror man får en valideringsfejl, og ingen sammenhæng med nogen af
<input>. Har dog ikke testet. Det svarer lidt til at give 2 <input>
samme id.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Rune Jensen (14-06-2009)
| Kommentar Fra : Rune Jensen |
Dato : 14-06-09 00:25 |
|
Birger Sørensen skrev:
> Tror man får en valideringsfejl, og ingen sammenhæng med nogen af
> <input>. Har dog ikke testet. Det svarer lidt til at give 2 <input>
> samme id.
Egentlig bør browseren vel ignorere begge, da det ikke er sikkert,
hvilken man mener, og man ikke kan lave index. Især, hvis man bruger
strict. Og ja, give en valideringsfejl. Men altså ikke afprøvet ;)
MVH
Rune Jensen
| |
Stig Johansen (14-06-2009)
| Kommentar Fra : Stig Johansen |
Dato : 14-06-09 05:27 |
|
"Lasse Reichstein Nielsen" <lrn.unread@gmail.com> wrote in message
news:vdmzoj2b.fsf@gmail.com...
>
> Jep, standarden er klar (ud over hvad der sker hvis man har to
> input-elementer inde i samme label - men så beder man også om problemer :)
Klippet fra DTD'en (xhtml):
.....
Each label must not contain more than ONE field
Label elements shouldn't be nested.
.....
--
Med venlig hilsen/Best regards
Stig Johansen
| |
|
|