11
votes

Existe-t-il un moyen d'afficher Alt = "Texte" comme une info-bulle de souris dans Firefox comme c'est-à-dire automatiquement?

Je ne veux pas répéter le texte alt dans le titre? Est-ce possible avec n'importe quelle solution JavaScript, jQuery, CSS? ou toute solution pouvant désactiver d'afficher l'alt = texte et activer le titre = Texr et comme une info-bulle?


1 commentaires

Ceci est un bug de l'explorateur Internet pour montrer le texte alternatif en tant qu'offret. (Microsoft peut appeler cela une fonctionnalité, mais le texte alternatif ne doit être affiché que lorsque l'image ne peut pas être affichée.)


6 Réponses :


24
votes

La bonne façon de le faire est d'utiliser l'attribut TITLE STRT>.

EG P>

<div title="This is your tooltip">...content...</div>


3 commentaires

Avez-vous simplement dit que les utilisateurs aveugles ne peuvent pas voir l'image mais ils peuvent voir le texte de l'alt spécifié? : o


@Rakesh Joyal: Les utilisateurs aveugles auront un logiciel de lecture d'écran. Les lecteurs d'écran peuvent lire texte , mais pas des images.


@Daniel: gr8 je ne le connaissais jamais merci +1



36
votes

alt Le texte est destiné à une représentation alternative d'une image. Titre Le texte est destiné aux info-bulles.

Le comportement de l'IE est incorrect à cet égard et Firefox ne l'appliquera jamais. (Le bogue 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 en tant qu'intro-intestines !.

Ne comptez donc pas sur alt en étant affiché comme une info-bulle. Utilisez titre à la place.


2 commentaires

Je sais, mais je ne veux pas répéter l'Alt Text en tant que texte du titre et que vous souhaitez afficher une info-bulle sur la souris sur les deux navigateurs.


@JITENDRA: Vous ne devriez pas répéter le texte alt pour le titre de toute façon. Le texte alt doit être ce que vous voulez que les utilisateurs voient s'ils ne peuvent pas voir l'image, tandis que titre devrait être pour les info-bulles. Si vous avez les deux alt et titre défini dans votre HTML, c'est-à-dire utiliser titre pour l'info-bulle. Donc, si vous ne voulez qu'un seul élément pour tous les navigateurs modernes, utilisez titre , pas alt !



4
votes

Comme Scunliffe dit, la bonne façon de le faire est dans l'attribut titre code>. Il est préférable de respecter la norme que de compter sur le comportement non standard de IE. N'oubliez pas que l'attribut de titre est pour les info-bulles pour les utilisateurs pouvant voir l'image, ALT texte est destiné aux utilisateurs qui ne peuvent pas (bien qu'ils puissent voir le titre aussi). Si cela vous insigne vraiment, vous pouvez simplement utiliser JavaScript pour définir les attributs de titre sur les attributs Alt pour toutes vos images, vous offrant un effet de navigateur croisé. : D

quelque chose comme ceci: p>

 $("img").each( function() { this.attr("title", this.attr("alt") ); }


3 commentaires

Réutilisation alt text pour le titre attribut est une mauvaise idée d'accessibilité. Il n'y a pratiquement aucun cas où le même texte est approprié pour les deux.


C'était l'un de mes premiers points à déclarer lors de la rédaction de cette réponse, mais je ne pouvais pas penser à un bon exemple. Pourriez-vous en fournir un? :RÉ


Jitendra Postez un code dans la question et nous ferons de notre mieux pour aider. :RÉ



1
votes

Notez que l'utilisateur peut supprimer Titre Attribut info-butintes dans Firefox en définissant le paramètre de configuration avancé browser.chrome.toolbar_tips à false . < / p>


1 commentaires

Mais alors vous n'obtenez aucune info-bulle, ce qui n'est pas ce que veut l'OP.



1
votes

Ce JQuery ToolTip script Prenez le contenu du titre et les affichez dans une info-bulle (y compris le formatage HTML). Bien que cela ne corrige pas le bogue IE de montrer le texte alt, vous pouvez ajouter un script pour effacer l'attribut ALT après la charge de la page; Mais comme indiqué précédemment, c'est une mauvaise idée car elle ne permettra pas aux lecteurs de documents de travailler comme conçu.


1 commentaires

Je ne veux pas supprimer le texte alt de la source. Je veux utiliser le texte du titre comme une info-bulle dans tous les navigateurs



0
votes

La réponse de Gordon a été utile, mais la raison pour laquelle la jQuery n'a pas fonctionné est parce que Ceci doit être l'objet d'un sélecteur JQuery comme SO:

jQuery ("img"). Chaque (fonction () {jQuery (this) .attr ("titre", jQuery (this) .attr ("alt"))}); < / p>

Il manquait également le ) pour fermer la fonction . () fonction.


0 commentaires