5568 sujets

Sémantique web et HTML

Bonsoir à tous,

en navigant sur AccessiWeb.org, je me suis aperçu qu'ils utilisaient la syntaxe <fieldset><legend>...</legend>...</fieldset> en dehors d'un formulaire. Je me demandais si cette utilisation est bonne ou non, et si oui, quels seraient les avantages/inconvénients. Quels sont vos avis sur la question ? Smiley smile

Antoine
Modifié par Bouda (13 Apr 2005 - 09:18)
Tu veux dire un <form> à l'intérieur d'un <fieldset> ou un <fieldset> dans un autre contexte que celui d'un formulaire ?
Sinon ceci est valide mais discutable...

<fieldset>
 <legend></legend>
 <form>
 </form>
</fieldset>
Du tout, un <fieldset><legend>...</legend>...</fieldset> au beau milieu de paragraphes, voir ici : (Zoom sur : Etude BrailleNet/Sysqua)

EDIT: Une utilisation comme celle-ci serait-elle acceptable ? :
<fieldset>
 <legend>Navigation</legend>
 <ul>
  <li><a...>Lien 1</a></li>
  <li><a...>Lien 2</a></li>
  <li><a...>Lien 3</a></li>
 </ul>
</fieldset>


Dommage que Laurent Denis n'intérviènne plus ici, il est tellement bien pour toutes ces questions de sémantique.. Smiley decu
Modifié le 15 Dec 2004 - 00:26
L'élément <fieldset> sert à regrouper des champs au sein d'un formulaire.
Toute autre utilisation est à mon avis un détournement de balises. Smiley lol

Étonnant venant d'AccessiWeb.org !
Bouda a écrit :

Dommage que Laurent Denis n'intérviènne plus ici, il est tellement bien pour toutes ces questions de sémantique.. Smiley decu

bah ! Il passe ici de temps à autre.
Sinon tu fais remonter ton sujet puis il va finir par intervenir ! Smiley cligne
Hum... Pour l'instant, en dehors d'un effet de présentation d'une portée limitée à quelques navigateurs graphiques, j'avoue que je vois pas ce que l'on gagne à utiliser <fieldset> et <legend> hors de leur contexte normalisé, qui est celui des formulaires:

- Structurellement, les liens sont déjà regroupés par <ul> qui suffit à en faire un bloc logique traitable comme tel par un script. Si l'on veut être plus spécifique, il y a <map> qui est fait pour ça (mais pratiquement pas implémenté en ce sens).
- Du point de vue accessibilité, <legend> n'apporte rien de plus ici qu'un simple <p> précédant la liste, ou qu'un titre <h>, ou qu'un bloc de texte anonyme: l'information sera lue de toute façon avant la liste de liens. Elle sera en revanche plus facile à atteindre ou à extraire avec un titre.
- Pour ajouter une éventuelle métadonnée "Ceci concerne la navigation", autant recourir aux mécanismes prévus pour, tels que <ul title="navigation"> ou <ul id="navigation">.
- Surtout, rien dans la spécification HTML4.01 n'invite les concepteurs de navigateurs ou de lecteurs d'écran à développer des fonctionnalités exploitant <legend> et <fieldset> hors des formulaires : quel alors est l'avenir de cette pratique ?

Finalement, on peut y voir, AMHA:
- un simple gadget de balisage présentatif, sans doute inoffensif.
- une n-ième tentative de forcer HTML à faire ce qu'il n'est actuellement pas conçu pour faire, c'est à dire définir une portion de contenu comme étant de la "navigation" (Pour quoi faire, au fait ?). Finalement, ce n'est qu'une émulation de plus du <menu><lh> ( http://blog-and-blues.org/weblog/2004/11/06/333-menus-de-navigation-1-semantique-structure-implementation ).
- une lecture discutable de la spécification HTML4.01 qui définit clairement le champ d'application de ces deux éléments.

En outre, il faut noter:
- que <fieldset> et <legend> ne font pas partie du module formulaire de XHTML Basic, et qu'ils sont donc exclus du XHTML normalisé pour les Mobiles, le Web TV, les PDA, etc.
- qu'ils ne sont pas implémentés dans Netscape 4.x

Mais bon... Je ne demande qu'à être convaincu du contraire Smiley cligne

PS: AccessiWeb/BrailleNet ont déjà considérablement revu leurs pratiques de codage dans le sens des Standards. Mais il faut avouer que http://www.accessiweb.org/ est encore assez surprenant parfois:
- leur image invisible pour caser le lien "Aller au contenu",
- le lien "Aller au contenu" qui mène en fait au fil d'ariane... immédiatement suivi du menu principal;
- les liens "Aide" et "Plan du site" placés dans un menu en fin de contenu qu'on ne peut atteindre qu'en parcourant toute la page;
- la non-utilisation des liens relatifs;
- une surprenante <meta name="vs_targetSchema"...> supposée indiquér que la page est spécifiquement développée pour IE5;
- des images d'arrière-plan décoratives en <img>...
"Work in progress", donc Smiley cligne
Laurent Denis a écrit :
En outre, il faut noter:
- que <fieldset> et <legend> ne font pas partie du module formulaire de XHTML Basic, et qu'ils sont donc exclus du XHTML normalisé pour les Mobiles, le Web TV, les PDA, etc.


Ah bon ? Concrètement, ça signifie quoi ? Que les documents contenant des <fieldset> ne sont pas totalement accessibles ?
e-t172 a écrit :


Laurent Denis a écrit :
En outre, il faut noter:
- que <fieldset> et <legend> ne font pas partie du module formulaire de XHTML Basic, et qu'ils sont donc exclus du XHTML normalisé pour les Mobiles, le Web TV, les PDA, etc.

Ah bon ? Concrètement, ça signifie quoi ? Que les documents contenant des <fieldset> ne sont pas totalement accessibles ?

Cela signifie que:
- Ces éléments sont invalides en XHTML basic.
- Les navigateurs spécifiques pour mobiles, Web TV... (NetFront par exemple) ne doivent pas les implémenter en mode de respect strict des Standards.
- Un navigateur pour mobile admettant le traitement application/xml+xhtml d'une page XHTML basic devra interrompre la restitution de la page sur un message d'erreur XML lorsqu'il recontrera ces éléments.
- Un navigateur pour mobile limité au traitement text/html y verra simplement de la soupe de balise.

L'absence de <fieldset> et de <legend> en XHTML basic peut sembler surprenante, étant donné leur rôle important pour l'accessibilité. Mais il faut se souvenir, je crois, qu'ils sont destinés avant tout au traitement vocal d'un formulaire par un lecteur d'écran... ce qui a peu de chances de se produire sur un mobile Smiley cligne