5568 sujets

Sémantique web et HTML

bonjour,

je me demande depuis plusieurs jours si l'attribut name est totalement obsolète ou si il peut encore être utilisé avec quelques balises. En effet, pour transmettre des information à une applet Java, on est obligé d'utiliser
<param name="nom" value="valeur" />
Après vérification, cette méthode passe la validation xhtml 1.0 strict.

Est-ce une exception pour la balise param ???

Merci pour vos réponses Smiley smile
Modifié par the_penguin (01 Oct 2005 - 22:42)
Bonsoir,

Attention aux éléments et aux types de contenus (application/xhtml+xml ou text/html) concernés :

- En XHTML1.0, name est déprécié pour les éléments a, applet, form, frame, iframe, img, et map :
* il est toujours valide pour ces éléments en XHTML1.0 et requis quand celui-ci est traité en tant que text/html
* il n'est plus requis en application/xhtml+xml, et devient invalide dans les version suivantes du format (c'est le cas en XHTML1.1).

- Toujours en XHTML1.0, name reste d'autre part valide pour les autres éléments pour lesquels il n'est pas obsolète : c'est le cas pour param. Voir le tableau des attributs HTML4.01 dans la spécification : http://www.w3.org/TR/html401/index/attributes.html . Les attributs param valides en HTML4.01 et autres que ceux de a, applet, form, frame, iframe, img, et map restent valides en XHTML1.0 quelque-soit le type de contenu.

<edit>Message corrigé</>
Modifié par Laurent Denis (03 Oct 2005 - 05:04)
Laurent Denis a écrit :
* il est toujours valide pour ces éléments en XHTML traité en tant que HTML.
* il ne l'est plus en application/xhtml+xml


Tu es sùr ?
Bonjour :

Extrait de la spec Xhtml 1.0 :4.10 Les éléments avec les attributs 'id' et 'name'

a écrit :
4.10 Les éléments avec les attributs 'id' et 'name'

HTML 4 a défini l'attribut name pour les éléments a, applet, form, frame, iframe, img, and map. HTML 4 a également introduit l'attribut id. Ces deux attributs ont été conçus pour être utilisés comme des identificateurs partiels.

En XML, Les identificateurs partiels sont de type ID, et il ne peut y avoir qu'un unique attribut ID par élément. En XHTML 1.0 l'attribut id est aussi défini de type ID. Pour s'assurer que les documents XHTML 1.0 sont des documents XML correctement structurés, les documents XHTML 1.0 DOIVENT utiliser l'attribut id quand l'identificateur partiel est défini, même sur les éléments qui historiquement ont également un attribut name. Voir les règles de compatibilité HTML pour obtenir de l'information pour assurer une compatibilité antérieures lorsque les ancres pointent sur des documents XHTML en tant que type de média text/html.

Notez qu'en XHTML 1.0, l'attribut name de ces éléments est formellement abandonné, et il sera éliminé dans les versions suivantes de XHTML.


Jean-pierre
Ça ne dit pas que l’attribut name sur les éléments en question est invalide dans les documents envoyés avec le type de média XHTML mais que l’attribut id doit être utilisé en lieu et place de name, sauf si le doc est envoyé avec le type text/html. Dans ce cas, pour la compatibilité, il est préférable de le doubler avec l’attribut name.

Mais avoir par exemple <form id="form-name" name="form-name" ...> dans un document XHTML 1.0 envoyé avec le type de média application/xhtml+xml n’a rien d’invalide. Ce serait plutôt <form name="form-name" ...> qui ne serait pas valide dans ce cas de figure.
Bonjour,

edit: mal lu le message de bobe.

bobe a écrit :
Ça ne dit pas que l’attribut name sur les éléments en question est invalide dans les documents envoyés avec le type de média XHTML


a écrit :
Notez qu'en XHTML 1.0, l'attribut name de ces éléments est formellement abandonné, et il sera éliminé dans les versions suivantes de XHTML.


donc

a écrit :
<form id="form-name" name="form-name" ...>


devrait être invalide avec le type type de média application/xhtml+xml

Non ?

Jean-pierre
Modifié par jpv (03 Oct 2005 - 01:37)
Bonjour,

J'étais un peu trop pressé hier, en effet : name n'est pas rendu obsolète par XHTML1.0, mais déprécié. C'est XHTML1.1 qui le rend obsolète.

C'est pourquoi les règles de compatibilité XHTML1.0 - HTML peuvent recommander le double usage de name et d'id.

Et c'est pourquoi, en effet, il n'invalide pas formellement une page XHTML1.0 traitée en tant que application/xhtml+xml. Il n'a simplement aucune raison d'y figurer pour les éléments concernés ; l'UA n'a pas à le prendre en compte et peut l'ignorer. En revanche, id doit obligatoirement être pris en compte.
Modifié par Laurent Denis (03 Oct 2005 - 07:45)
Une question me vient à l'esprit quand vous dites que name sera complètement abandonné dans les versions suivantes d'XHTML :
ET les boutons radio ? comment fera-t-on ?
car il nous faut obligatoirement l'attribut name pour pouvoir identifier les groupes de boutons distincts, étant donné qu'un id ne peut pas être utilisé deux fois...


Ainsi le code suivant sera invalide puisqu'il utilise name :

<input type="radio" name="check" id="check1" /><label for="check1">...</label>
<input type="radio" name="check" id="check2" /><label for="check2">...</label>
...


et celui-ci aussi car il utilise deux fois le même id :

<input type="radio" id="check" /><label for="check">...</label>
<input type="radio" id="check" /><label for="check">...</label>


Est-ce que le XHTML2 prévoit une nouvelle façon d'identifier les groupes de boutons radio ?

Enfin vous avez compris où pourra être lr problème sans l'attribut name...
Il est question ici de l'attribut name sur les éléments a, applet, form, frame, iframe, img et map.

input, textarea et autre button ne sont pas concernés.