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

问题描述 投票:0回答:7

我不想再次重复标题中的替代文本? 这可以用任何 javascript 、 jquery 、 css 解决方案吗?或任何可以禁用显示 alt=text 并启用 title=texr 并作为工具提示的解决方案?

jquery css firefox seo accessibility
7个回答
58
投票

alt
文本用于图像的 alternative 表示。
title
文本用于工具提示。

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

不仅如此,甚至微软也承认他们的行为是不正确的,并且IE 8不再将

alt
文本显示为工具提示!.

所以不要依赖

alt
文本显示为工具提示。 请使用
title
来代替。


37
投票

正确的方法是使用 title 属性。

例如

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

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


6
投票

就像 scunliffe 所说,执行此操作的正确方法是在

title
属性中。遵守标准比依赖 IE 的非标准行为要好。请记住,标题属性适用于可以看到图像的用户的工具提示,替代文本适用于看不到图像的用户(尽管他们也可以看到标题)。如果这确实让您烦恼,您可以使用 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") );
 }

或(jQuery)

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

(尚未测试其中任何一个,因此可能需要稍作修改)


1
投票

请注意,用户可以通过将高级配置参数

title
设置为
browser.chrome.toolbar_tips
来抑制 Firefox 中的
false
属性工具提示。


1
投票

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


0
投票

Gordon 的回答很有帮助,但 jQuery 不起作用的原因是因为

this
需要是 jQuery 选择器的对象,如下所示:

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

还缺少关闭

)
功能的
.each()


0
投票

有什么不同?找到“两个”的答案。 回应

有一段文字写道,30 个问号的百分之二十是多少。 带有替代文本的图像:文本内容为,30 个问号的百分之二十是多少。

有一段文字写道,百分之二十的数字是 30 个问号。 带有替代文本的图像:文本显示,数字的百分之二十是 30 个问号。

有一段文字写道,30 个问号的五分之一是多少。 带有替代文本的图像:文本内容如下:30 个问号的五分之一是多少。

有一段文字写道,30 个问号的十分之二是多少, 带有替代文本的图像:文本内容如下:30 个问号的十分之二是多少, 问题2 答案是什么

© www.soinside.com 2019 - 2024. All rights reserved.