Est-il possible d'afficher alt=“texte” comme un mouseover info-bulle dans firefox, IE fait automatiquement?
Je ne veux pas répéter le texte d'alt dans le titre de nouveau? est-ce possible avec javascript , jquery, css solution? ou toute solution qui peut désactiver le montrer alt=texte et activer title=texr et dans une info-bulle?
- C'est un bug d'Internet Explorer pour afficher le texte de remplacement dans une info-bulle. (Microsoft peut appeler cela une fonction mais le texte de remplacement est uniquement destinée à être affichée lorsque l'image ne peut pas être affiché.)
Vous devez vous connecter pour publier un commentaire.
alt
texte est pour une alternative représentation d'une image.title
texte est pour les info-bulles.IE comportement est incorrect à cet égard, et Firefox ne sera jamais à la mettre en œuvre. (Le bug dans la base de données de Bugzilla est #25537, qui est VÉRIFIÉ WONTFIX.)
Non seulement cela, mais même Microsoft a admis que leur comportement est incorrect, et IE 8 ne montre pas
alt
texte d'info-bulles plus!.Donc ne comptez pas sur
alt
texte affiché dans une info-bulle. Utilisationtitle
à la place.alt
texte pour letitle
de toute façon. Lealt
texte devrait être ce que vous voulez que les utilisateurs pour voir si ils vous ne pouvez pas voir l'image, tandis quetitle
devrait être pour les info-bulles. Si vous avez à la foisalt
ettitle
définis dans votre code HTML, c'est à dire utiliseratitle
pour l'info-bulle. Donc, si vous voulez un seul élément pour tous les navigateurs modernes, l'utilisationtitle
, pasalt
!La bonne façon de le faire est d'utiliser la titre attribut.
par exemple
L'attribut "alt" est uniquement conçu pour fournir une "alternative" de texte lorsqu'un élément de l'image est utilisé (mais n'est pas disponible pour l'utilisateur... par exemple, les aveugles ou les utilisateurs avec des navigateurs en mode texte, etc.)
Comme scunliffe dit, la bonne façon de le faire est dans le
title
attribut. De son mieux pour se conformer à la norme que de compter sur IE non standard de comportement. Gardez à l'esprit l'attribut title est pour les info-bulles pour les utilisateurs qui peuvent voir l'image, le texte alt est pour les utilisateurs qui ne peuvent pas (bien qu'ils puissent voir le titre ainsi). Si cela vous dérange vraiment, vous pouvez simplement utiliser javascript pour définir les attributs de titre pour les attributs alt pour toutes vos images, vous donnant un navigateur croix effet de. 😀Quelque chose comme ceci:
OU (W3 DOM style)
OU (jQuery)
(n'ai pas testé l'un de ces, de sorte que de légères modifications peuvent être nécessaires)
alt
texte pour letitle
attribut est une mauvaise idée pour l'accessibilité. Il n'y a pratiquement pas de cas où le même texte est approprié pour les deux.Noter que l'utilisateur peut supprimer
title
attribut des info-bulles dans Firefox par réglage de la configuration avancée paramètrebrowser.chrome.toolbar_tips
àfalse
.Ce jQuery tooltip script va prendre le contenu du titre et les affiche dans une info-bulle (y compris la mise en forme HTML). Bien que, il ne résout pas le IE bug de l'affichage du texte, vous pouvez ajouter un script pour effacer l'attribut alt, après le chargement de la page; mais comme l'a dit avant, c'est une mauvaise idée car elle ne permettra pas de lecteurs de documents de travail, comme prévu.
Gordon réponse a été utile, mais la raison pour laquelle le jQuery n'a pas de travail est parce que
this
doit faire l'objet d'un sélecteur jQuery comme suit:jQuery("img").each( function(){ jQuery(this).attr("title",jQuery(this).attr("alt") ) });
Il était également absente de l'
)
pour fermer la.each()
fonction.