Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème W3C

    4 novembre 2008 à 21:29:10

    onmouseover="see_bubble('<b>Venez</b> vous mettre au courant des dernières mises à jours du site !');"
    


    J'ai donc ce code qui fais apparaitre du texte au survol d'un lien, ce code marche impec, jusque là tout est bien beau. Seulement en allant faire valider ma page html chez les messieurs du W3C, PAF, error, pas de html dans le texte que je veux afficher, sinon, pas de validation.

    Comment puis-je faire pour faire en sorte que mon premier mot soit en gras si je met pas de html ?
    • Partager sur Facebook
    • Partager sur Twitter
    aligette.fr - Mangez bio près de chez vous
    Anonyme
      4 novembre 2008 à 21:39:44

      tu peux peut être l'ajouter via la fonction see_bubble (avant l'affichage)
      • Partager sur Facebook
      • Partager sur Twitter
        4 novembre 2008 à 21:58:27

        ce qu'il y a c'est que je n'ai pas qu'un seul mot, en effet j'ai plusieur lien dont la description commence par ces mots différents ...

        Mais ne me dites pas que c'est impossible de mettre du html là dedans sans être invalidé par le w3c, ça je trouve que c'est scandaleux par ce que ça ne gêne en rien la visibilité ou l'accessibilité de mon site, je veux juste mettre une lettre en gras !!!!
        • Partager sur Facebook
        • Partager sur Twitter
        aligette.fr - Mangez bio près de chez vous
          4 novembre 2008 à 22:01:07

          Euh a mon avis, l'erreur ne vient pas de la.
          Montre nous le contexte du code.
          • Partager sur Facebook
          • Partager sur Twitter
            4 novembre 2008 à 22:11:29

            <ul id="menuhorizontal">
            
            		
            		<li><a href="page.php?page=Nouveautés"					 onmouseover="see_bubble('Venez vous mettre au courant des dernières mises à jours du site !');" onmouseout="kill_bubble();">Nouveaute</a></li>
            		<li><a href="page.php?page=Manga"      					 onmouseover="see_bubble('Dossiers, téléchargements, du streaming, lecture en ligne ... qu\'attendez-vous ?');" onmouseout="kill_bubble();">Manga</a></li>
            		<li><a href="page.php?page=Communaut%E9&amp;task=Contact"	 onmouseover="see_bubble('Idées d\'amélioration, demandes de série, remerciements et encouragements ?...');" onmouseout="kill_bubble();">Contact</a></li>
            
            	</ul>
            



            Voilà, avec les balises html en moins.
            • Partager sur Facebook
            • Partager sur Twitter
            aligette.fr - Mangez bio près de chez vous
              4 novembre 2008 à 22:37:39

              Et sans balise, ca marche ?
              Quel est l'erreur du validateur ?
              • Partager sur Facebook
              • Partager sur Twitter
                4 novembre 2008 à 22:48:46

                Line 34, Column 83: character "<" is the first character of a delimiter but occurred as data.

                …ws" onmouseover="see_bubble('<b>Toute</b> l\'actualité du site, news manga ,



                This message may appear in several cases:

                * You tried to include the "<" character in your page: you should escape it as "&lt;"
                * You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&amp;", which is always safe.
                * Another possibility is that you forgot to close quotes in a previous tag.

                • Partager sur Facebook
                • Partager sur Twitter
                aligette.fr - Mangez bio près de chez vous
                  4 novembre 2008 à 23:28:08

                  Essaye de mettre les guillemets avant le point virgule ;)

                  comme ceci :
                  onmouseover="see_bubble('<b>Venez</b> vous mettre au courant des dernières mises à jours du site !')";
                  


                  Cordialement.

                  Dekaron
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 novembre 2008 à 23:32:35

                    Bonjour,
                    Le message du W3C (enfin, de son validateur plutôt) est assez clair je trouve : le caractère "<" est interdit quand il ne s'agit pas d'une balise.
                    C'est-à-dire, si tu l'utilise comme le signe mathématique "inférieur"...ou si tu le mets dans un attribut d'un élément !
                    Essaie donc, comme proposé, de l'"échapper" par "&lt;", et de faire de même pour ">" qui deviendra "&gt;".
                    Soit,
                    <a href="..." onmouseover="see_bubble('&lt;b&gt;Venez&lt;/b&gt; vous mettre au courant des dernières mises à jours du site !');">...</a>
                    

                    Ayant moi-même testé ceci dans un script d'infobulle, je peux t'affirmer que cela fonctionne, il n'y a pas d'erreur de validation et HTML "fait croire" à JavaScript que ce sont de vraies balises, donc pas de problème normalement.
                    Si ton texte est généré par PHP, htmlentities avec ENT_QUOTES (soit, htmlentities($chaine, ENT_QUOTES)) est parfait pour ce genre de choses.
                    En espérant t'avoir été utile,
                    cbasile06
                    P.S. : dekaron, il ne faut surtout pas mettre les guillemets avant le point-virgule ! Le point virgule fait partie du code JavaScript, qui doit être englobé par les guillemets !
                    Donc tu créé une nouvelle erreur de validation (car le validateur refuse un ; se baladant à l'extérieur d'un attribut) en plus.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 novembre 2008 à 7:55:30

                      et en fesent comme sa ?
                      onmouseover="javascript:see_bubble('<b> Blala</b> ......
                      c'est a dire d'ajouter javascript pour fair comprendre qu'on execute du javascript
                      enfn c'est qu'une suposition

                      PS : si tu veux etre vraiment dans les normes oublie pas que <b> ===> <strong>
                      • Partager sur Facebook
                      • Partager sur Twitter
                        5 novembre 2008 à 8:20:40

                        Non, la précision "javascript:..." n'est nécéssaire que pour l'attribut href des liens, pour onmouseover et tout le tralala, il n'y en a pas besoin.
                        P.S. : La balise strong n'est pas l'équivalent de l'ancienne balise b.
                        La balise strong permet de déclarer du texte important, la balise b n'a aucun but si ce n'est de mettre du texte en gras.
                        Si ça se trouve, dans son CSS, il a déclaré qu'il préférait que le texte important soit en rouge sur fond vert, et que là, il veut du gras.
                        Mais c'est vrai que dans ce cas-là, il vaut mieux mettre un span avec une class gras déclarée dans le CSS à la place du <b>, soit (pour rester cohérent avec mon précédent message) :
                        <a href="..." onmouseover="see_bubble('&lt;span class=&quot;gras&quot;&gtVenez&lt;/span&gt; vous mettre au courant des dernières mises à jours du site !');">...</a>
                        
                        • Partager sur Facebook
                        • Partager sur Twitter
                          5 novembre 2008 à 8:36:48

                          cbasile06 on dit " Important " mais aussi " fort ".
                          donc en autre therme
                          http://www.siteduzero.com/tutoriel-3-1 [...] tml#ss_part_3

                          et je voie pas en quoi sa pose Probleme avec le Css Oo

                          J'edit quand meme pour dir:

                          autant pour moi , j'avais toujour crue que <b> ete pas valide W3C , apres recherche des balise Hors W3C elle n'y figure pas , donc a parament j'ete dans l'erreur en disant que <b> n'ete pas valide W3C :)

                          mais pour <strong> je ne suis pas non plus dans l'erreur ;)
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            5 novembre 2008 à 10:27:29

                            Pour éviter les soucis de validation il faut entourer son code javscript avec les balises /* <![CDATA[ */ et /* ]]> */
                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 novembre 2008 à 12:00:52

                              @nijel : Oui, dans une balise script, pas dans un attribut. Et seulement si le MIME du document est application/xhtml+xml (ou xml+xhtml, je sais plus, mais non reconnu par IE...), pas si c'est text/html (auquel cas, c'est entre commentaires <!-- -->).
                              @angelus76 : la plupart des navigateurs mettent par défaut la balise strong en gras, mais ce n'est pas forcé, c'est à toi de décider comment tu veux que le texte important soit rendu, même si c'est en gras en général, enfin bref, c'est pas le plus important dans ce cas-là.
                              De plus, la balise b est effectivement valide, mais elle est dépréciée, tout comme les balises i ou u, qu'on remplacera habituellement par des span aux classes gras, italiques ou souligne (par exemple), afin de passer le relai au CSS et de rester dans la logique du couple XHTML/CSS : au XHTML le contenu, au CSS l'apparence.
                              Il y a une différence entre "un texte important" (ou "un texte fort" si tu veux), et "un texte en gras" selon moi.
                              Enfin, j'arrête là, ce n'est pas le sujet de ce topic.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Problème W3C

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown