Aller au contenu

balise map, alt, title etc....sous mozilla


Sujets conseillés

Posté

slt à tous (et toutes, on sait jamais...)

j'ai un petit souci d'affichage pour un site sous mozilla, je m'explique :

j'ai une carte de france avec tout pleins de ch'tits points...

déjà à la base, j'affiche des infos ds un alt (infos récupérées d'une table en base, pas trop fait pour ça le ALT mais bon) en passant sur les points...

sous I.E, no pb

sous moz ( et g pas encore tester d'autres browser), ce qui se passe en fait, c'est ke le pointeur de ma souris se change tout de suite en "lien" (la tite mimine) dès que je passe sur la carte, et en plus il m'affiche pas mes infos :evil:

so je vous mets un p'tit copier coller du code ('tention, y'a du php d'dans) :

echo "\n\t<map name='paris' id='cartefrance'>";
               while($lt_row = ifx_fetch_row($li_table)){
                       $ls_alt = $lt_row[sigle]."\nStation: ".$lt_row[isitm]." - ".$lt_row[lclst]."\nValeur: ".$ls_val;

               echo "\n\t<area shape='circle' coords='$li_x,$li_y,5' href='#' ";
               echo "\n\t alt='".$ls_alt."' title='".$ls_alt."'";
           echo ">";

               }
               echo "\n\t</map>\n";

si vous comprenez rien, c'est pas grave (enfin si mé bon...)

Posté (modifié)

L'attribut alt ne sert pas à cela. C'est clairement expliqué ici, tu verras.

Internet Explorer, qui ne respecte pas bien la norme, l'interprête mal, de ce fait.

Pour répondre à ta demande il faut utiliser l'attribut title. :)

Modifié par 20cent
Posté
et en plus il m'affiche pas mes infos

Pourquoi devrait-il ? le alt c'est un contenu "alternartif". Mozilla arrive à afficher les images, il n'a aucune raison d'afficher le texte alternatif (que ce soit en bulle d'aide ou ailleurs) quand c'est le cas.

so je vous mets un p'tit copier coller du code ('tention, y'a du php d'dans) :

Visiblement il manque beaucoup de htmlentities() ou htmlspecialchars() mais ça n'est pas trop ce qui nous préoccupe. J'allais te dire qu'il fallait mettre ton info en title="" plutot qu'en alt="" mais visiblement tu le fais aussi.

Est-ce que tu pourrais nous donner le code HTML résultat plutot que le PHP (qui ne nous sert pas à grand chose ici) ? à priori faire simplement un "voir source" sur ta page dans le navigateur et nous copier ce que ça donne, sinon nous donner l'url de la page de test.

Posté

ok

alors ça donne ça :

<map name='paris' id='cartefrance'>

<area shape='circle' coords='470,106,5' href='#'

alt='paris

Station: 01 - paris

Valeur: ' >

et autant de MAP qu'il y a de points sur ma carte

Posté

J'ai un doute à la vue de ton code : tu utilises cette image map... pour faire des liens réels vers d'autre pages, ou juste pour afficher une carte et des informations au survol de la souris ?

Posté
sous I.E, j'ai aucun problèmes...

IE est loin d'être une référence. Si tu codes en fonction de lui ce n'est pas étonnant que tu ai des problèmes de compatibilité.

 <area shape='circle' coords='470,106,5' href='#'
alt='paris
Station: 01 - paris
Valeur: ' >

Donc on est d'accord : tu remplaces le "alt" par un "title" et logiquement ça devrait aller mieux si ton image principale n'a elle même pas de "title". Après, au lieu de mettre un href="#" qui n'est pas du tout prévu pour ça, met donc un "nohref".

Logiquement ça devrait marcher. Si ce n'est pas le cas il faudra sortir un javascript pour créer ta bulle d'aide.

Donc :

 <area shape='circle' coords='470,106,5' nohref
title='paris Station: 01 - paris Valeur: ' >

Posté (modifié)

RHAAAAAAAAAAAAAAAAAAA :angry:

ça ka pa maché BOWDEL !!!

c'est koi cette histoire de href="#", nohref... ?

et kelle sorte de javascript tu conseilles...

là j'ai trop la tête dans le c... j'ai besoin d'une :idea:

Modifié par guemtz
Posté
c'est koi cette histoire de href="#", nohref... ?

Simple, area contient un attribut nommé href. Cet attribut est là pour faire un lien entre une ressource (une page) et la zone de l'image concernée. Là tu fais un lien entre la zone et ...... rien (ou plutot une ancre inexistante de ta page).

Pour signaler qu'il s'agit d'une zone qui n'est pas un lien il ne faut pas mettre une ancre vide (ce qui n'a absolument pas de sens). Il existe un attribut pour ça, il s'appelle "nohref".

Quand on te demande un n° de fax sur un papier administratif tu fais quoi ?

- tu laisses vide

- tu barres le champ

- tu marques "aucun"

- tu marques "0000000000"

à priori marquer dix 0 parait plutot bizarre, voire idiot. Et bien bizarrement c'est ce que tu fais en mettant ce href="#". (bon, c'est une analogie pourrie mais ça résume bien ce que je veux dire)

Pour le javascript je pensais à quelque chose dans le style de http://blog.dreams4net.com/JavascriptNonIntrusif (tu peux sauter le dernier paragraphe, il n'a rien à faire avec notre histoire). Je sais que ça existe pour les liens classiques (et faire apparaitre le titre avec une bulle d'aide un peu plus élaborée que par défaut), c'est peut être adaptable pour les <area> aussi.

Globalement tant que tu cherches à détourner des choses qui ne sont pas faites pour ... tu t'exposes à des problèmes :

- le href est fait pour faire un lien, pas pour avoir un effet technique de zone réactive

- le alt est un texte alternative, pas une information complémentaire

- l'affichage par bulle d'aide n'est pas garanti par défaut car pas fait pour, c'est juste une des présentations possibles. Rien ne parle de bulle d'aide (tooltip) en HTML.

Tu as d'autres solutions :

- afficher directement les textes dans l'image, sans survol

- utiliser des choses plus élaborées avec plein de javascript pour les événements

- afficher des drapeaux ou points avec une légende en dessous

- faire du flash pour la carte ...

Posté

ok ok, merci pour toutes ces infos....

pour ma part, j'ai trouvé la solution à mon bug.

en fait le "map name" n'avait pas le mm nom que mon "usemap" du coup le curseur se changeait direct en lien sur l'iamge de ma carte et pas les points qu'il y avait dessus.

ajouté à ça les autres modif que vous m'avez conseillé...ça marche nickel.

je suis d'accord pour dire que c'est pas la meilleure approche pour faire afficher des infos mais en attendant ça me dépanne bien...

merci à tous :up:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...