5568 sujets

Sémantique web et HTML

Bonjour,

Je fais une revue de code et je suis tombé sur un attribut title à rallonge avec des balises <br /> à l'intérieur. Mon valideur W3C ne tique pas, pourtant ça ne me semble pas très catholique d'imbriquer des balises dans des attributs. J'ai cherché si je trouvais une règle à ce sujet sans résultat. Quelqu'un peut-il me donner davantage d'éléments sur ce point ?

Merci !
Modifié par Jordi (22 Feb 2011 - 11:58)
Bonjour,

On ne peux pas mettre de balises HTML dans les valeurs d'attributs.
La plupart des valeurs d'attribut doivent être de type CDATA:
http://www.w3.org/TR/html401/types.html#type-cdata

Ça ne dit pas clairement comment sont traités les caractères < et > dans ce contexte, mais je suppose qu'ils sont traités comme des caractères littéraux. Autrement dit, dans le code suivant la séquence de caractères "<p>" n'est PAS une balise:
<span title="A<p>B">

Modifié par fvsch (22 Feb 2011 - 13:22)
En effet, le résultat c'est que la bulle d'aide affiche les <br /> littéralement.
Le valideur W3C ne sanctionne pas, sans doute parce qu'il considère qu'il s'agit de texte littéral. Je vais donc devoir sanctionner le code au niveau accessibilité...

Merci pour ta réponse ! Smiley smile
À noter que si le but est de saisir un code qui peut être utilisé ensuite dans une bulle d'aide ou autre contenu HTML ajouté au DOM via innerHTML, le contenu peut être placé:
- Dans un élément.
- Dans un data-attribute (HTML5, largement compatible tous navigateurs).
- Dans une variable ou un tableau JavaScript.

On choisira une solution en fonction de l'utilisation que l'on fait de JavaScript, de la nature du contenu, de la technique utilisée pour rendre le tout accessible...
Modifié par fvsch (22 Feb 2011 - 18:27)