--
@++
Fabrice
Sauf erreur(s)...
Je lis :
"Finally, note that XHTML 1.0 has deprecated the name attribute of the
a, applet, form, frame, iframe, img, and map elements, and it will be
removed from XHTML in subsequent versions."
Il n'est pas question de input...
lp
> j'ai un sérieux problème. Le XHTML définit l'attribut "name" comme
> formellement déprécié et remplacé par l'attribut "id".
Pas tout a fait. La rec. dit :
| Note that in XHTML 1.0, the name attribute of these elements is
| formally deprecated,
Le _these_ fait reference aux elements mentionnes un peu plus haut, et
<button> n'en fait pas partie. id remplace name seulement pour les
identificateurs de fragments, si je comprends bien.
> Petite question : comment fait-on pour les boutons radios ?
Comme avant je presume, avec name.
-- Alain.
Tout d'abord, merci. C'est plus le paragraphe suivant qui me pose
problème :
In XML, fragment identifiers are of type ID, and there can only be a
single attribute of type ID per element. Therefore, in XHTML 1.0 the
id attribute is defined to be of type ID. In order to ensure that
XHTML 1.0 documents are well-structured XML documents, XHTML 1.0
documents MUST use the id attribute when defining fragment
identifiers, **even on elements that historically have also had a name
attribute**. See the HTML Compatibility Guidelines for information on
ensuring such anchors are backwards compatible when serving XHTML
documents as media type text/html.
Avant tout, merci. Poussons le raisonnement un peu plus loin. J'ai mis
des <label> sur mes éléments. Or l'attribut for attend l'id de
l'élément auquel il se rattache, ce qui fait que pour l'instant, j'ai
ça :
<label for="foo">Bar</label>
<input type="radio" id="foo" name="foo" value="1" />Truc
<input type="radio" name="foo" value="2" />Machin
C'est valide, mais c'est "un peu bancal", non ? Je m'inquiète pour la
perennité de la chose.
> In order to ensure that
> XHTML 1.0 documents are well-structured XML documents, XHTML 1.0
> documents MUST use the id attribute when defining fragment
> identifiers, **even on elements that historically have also had a name
> attribute**.
Et donc pour identifier un fragment particulier, on doit utiliser
l'attribut 'id' et non plus 'name' comme on pouvait le faire en HTML
puisque 'name' n'assure pas l'unicité (c'est un bête CDATA)... ça ne
rajoute pas de fonctionnalité en plus, juste un test de contrainte.
D'ailleurs, pour revenir à ta remarque, c'est pas plus mal puisqu'on
utilisait 'name' et pour adresser un fragment bien particulier (via <a
href="#foo"> par exemple) et pour grouper des radio-boutons ce qui n'a
pas grand chose à voir et n'était pas super-propre...
> See the HTML Compatibility Guidelines for information on
> ensuring such anchors are backwards compatible when serving XHTML
> documents as media type text/html.
Bon alors là c'est plus la merde.
On nous explique qu'en XHTML on définit les framents avec l'attribut
'id'... seulement en HTML on faisait plutôt ça avec 'name'. Conclusion
si on veut définir un fragment qui soit adressable en XHTML et en XML on
est obligé de mettre les 2...
Voilà
Laurent
Bon, tu as utilisé deux fois 'foo' ce qui est un peu confusant comme
disent les américains, et surtout ici un peu inutile vu que je suis
certain que tu vises des navigateurs qui comprennent bien 'id'...
En écrivant ainsi c'est plus clair non ?
<label for="foo">fou</label>
<input type="radio" id="foo" name="fubar" value="1" />Truc
<label for="bar">barre</label>
<input type="radio" id="bar" name="fubar" value="2" />Machin
Voilà
Laurent
C'était déjà le cas en HTML 4.
http://www.w3.org/TR/html401/struct/global.html#adef-id
> Et donc pour identifier un fragment particulier, on doit utiliser
> l'attribut 'id' et non plus 'name' comme on pouvait le faire en HTML
> puisque 'name' n'assure pas l'unicité (c'est un bête CDATA)... ça ne
> rajoute pas de fonctionnalité en plus, juste un test de contrainte.
En HTML, qu'est qui n'était pas un bête CDATA ?
; ^)
> Bon alors là c'est plus la merde.
> On nous explique qu'en XHTML on définit les framents avec l'attribut
> 'id'... seulement en HTML on faisait plutôt ça avec 'name'.
Conclusion
> si on veut définir un fragment qui soit adressable en XHTML et en
XML on
> est obligé de mettre les 2...
Surtout qu'un formulaire posté avec des id plutôt que des names ne
donne rien en sortie.
: ^(
Qui devrait être rattaché au groupe.
> - 'name' permet de regrouper les deux radio-boutons
Si un jour les name "sautent" au profit des id, n'y a-t-il pas un
risque que mon second bouton passe à la trappe ?
> Bon, tu as utilisé deux fois 'foo' ce qui est un peu confusant comme
> disent les américains, et surtout ici un peu inutile vu que je suis
> certain que tu vises des navigateurs qui comprennent bien 'id'...
> En écrivant ainsi c'est plus clair non ?
>
> <label for="foo">fou</label>
> <input type="radio" id="foo" name="fubar" value="1" />Truc
> <label for="bar">barre</label>
> <input type="radio" id="bar" name="fubar" value="2" />Machin
Même remarque, si name disparaît, les id seront pris en compte et mon
script de réception, il attend "fubar" et il reçoit "foo" et "bar". Je
sais, c'est de la pure réflexion théorique et anticipatoire mais la
rigueur du XML sert aussi à me flageller l'esprit. (J'ai laissé 2
neurones sur cette phrase)
Sinon, ça marche, c'est valide et visuellement, pas de problème.
Mais les 'name' ne sauteront pas au profit des 'id', en tout cas pas
dans ce contexte : comme tu l'as fort bien remarqué, tu en as besoin
pour regrouper des radio-bouton, 'id', lui sert juste à identifier les
elements. Chacun son job.
C'est juste plus propre au final : avant on utilisait le même attribut
'name' pour des fonctionnalités qui différeraient suivant le contexte.
plus maintenant. :-)
voilà
laurent
Ouaip, ben, dans la rec, il est dit que les éléments ayant
historiquement utilisé name doivent utiliser id. Blackout sur les
boutons radio, d'où mon interrogation. Mais j'ai compris que name
continuerait d'exister pour les formulaires. Par ailleurs, en grattant
un peu plus profond, je suis tombé sur les XForms qui semblent vouloir
dire que les bons vieux forms ont vécu :
http://www.w3.org/TR/2002/WD-xforms-20020118/index.html.
Merci.