有没有办法在Firefox中显示alt =“text”作为鼠标悬停工具提示,就像IE自动执行一样?

时间:2009-11-14 16:53:47

标签: jquery css firefox seo accessibility

我不想再次在标题中重复替代文字?这有可能与任何JavaScript,jquery,CSS解决方案?或任何可以禁用显示alt = text并启用title = texr并作为工具提示的解决方案?

6 个答案:

答案 0 :(得分:27)

alt文字用于图片的替代表示。 title文字用于工具提示。

IE在这方面的行为不正确,Firefox永远不会实现它。 (Bugzilla数据库中的错误是#25537,它是VERIFIED WONTFIX。)

不仅如此,即使是Microsoft has admitted that their behavior is incorrect IE 8也不会将alt文字显示为工具提示!。

所以不要依赖alt文本显示为工具提示。请改用title

答案 1 :(得分:19)

正确的方法是使用标题属性。

e.g。

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

“alt”属性仅用于在使用图像元素时提供“替代”文本(但不可供用户使用...例如,盲人用户或使用基于文本的浏览器的用户等)。

答案 2 :(得分:4)

就像scunliffe所说的那样,正确的方法是title属性。遵守标准比依赖IE的非标准行为更好。请记住,title属性适用于可以查看图像的用户的工具提示,alt文本适用于不能使用的用户(尽管他们也可以看到标题)。如果这真的让您感到烦恼,您可以使用javascript将标题属性设置为所有图像的alt属性,从而为您提供跨浏览器效果。 :D

这样的事情:

 var images=document.getElementsByTagName("img");
 for (var item in images) {
     item.title = item.alt;
 }

OR(W3 DOM风格)

 for (var item in images) {
     item.setAttribute("title", item.getAttribute("alt") );
 }

OR(jQuery)

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

(尚未测试任何这些,因此可能需要稍作修改)

答案 3 :(得分:1)

请注意,用户可以通过将高级配置参数title设置为browser.chrome.toolbar_tips来取消Firefox中的false属性工具提示。

答案 4 :(得分:1)

jQuery tooltip脚本将获取标题的内容并将其显示在工具提示中(包括HTML格式)。虽然,它没有修复显示替代文本的IE错误,但您可以在页面加载后添加一些脚本来清除alt属性;但如前所述,这是一个坏主意,因为它不允许文档阅读器按设计工作。

答案 5 :(得分:0)

Gordon的回答很有帮助,但是jQuery没有用的原因是因为this需要成为jQuery选择器的对象,如下所示:

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

它还缺少)以关闭.each()功能。