【问题标题】:SVG <img> in HTML, <title> tooltip not displayed on mouseoverHTML 中的 SVG <img>,鼠标悬停时不显示 <title> 工具提示
【发布时间】:2015-05-09 03:36:47
【问题描述】:

我有一个 SVG 图像,其中包含用作工具提示的

元素。 当我在 Mozilla 中加载 SVG 时,工具提示正确显示。 <p>但是,当我在 HTML 文档中使用 SVG 时,通过 <img> 元素,鼠标悬停时不会显示工具提示。</p> <p>是否可以让工具提示正确显示?</p> <p>HTML 是</p> <pre><code><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>SVG in HTML title test</title> </head> <body> <img src="test.svg" /> </body> </html> </code></pre> <p>SVG 是</p> <pre><code><?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/SVG/DTD/svg10.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" viewBox="0 0 100 100"> <title>SVG in HTML test</title> <g> <polygon stroke="black" stroke-width="1" fill="#0000ff" points="20,20 40,20 40,40 20,40" /> <title>rectangle</title> </g> <g> <circle stroke="black" stroke-width="1" fill="#ff0000" cx="70" cy="70" r="10" /> <title>circle</title> </g> </svg> </code></pre>

【问题讨论】:

  • 图像( 元素等)不是交互式的,因此它们中的标题元素不起作用。

标签: html svg


【解决方案1】:

您可以尝试使用object 标签,但这可能不适用于所有浏览器,我认为它只适用于支持HTML5 的浏览器:

<object type="image/svg+xml" data="test.svg">Browser doesn't support SVG</object>

或者,我不是这个的忠实粉丝,但你也可以尝试使用iframe

<iframe src="test.svg"></iframe>

这也应该适用于旧版浏览器...这两种方法都应该显示由您的title 标签定义的tooltips。我用你的做了一个快速(成功)的测试。

【讨论】:

  • 谢谢,我会尝试在对象中放置一个 iframe,以便较新的浏览器将使用 object 元素,而较旧的浏览器将使用 iframe。
  • 很高兴能帮上忙。它现在是否按您需要的方式工作?如果这解决了您的问题,我恳请您接受我的回答。否则,请让我们知道工具提示是否仍然存在问题。此外,作为iframe 的后备方案,您仍然可以使用image(没有工具提示)——在最坏的情况下。至少使用这些tags 不需要使用任何javascript 库。
  • 谢谢,它适用于提示问题的复杂 SVG。回退到
  • 我同意,只是想提一下。 real 访问者的浏览器不支持 iframe 的可能性很小。但是,某些浏览器可能会阻止混合内容。但我会说,这也取决于你的听众。 ;-)
【解决方案2】:

将适当的 ID 添加到 &lt;title&gt;

&lt;title id="uniqueTitleID"&gt;SVG in HTML title test&lt;/title&gt;

&lt;svg&gt; 标签上,添加:

aria-labelledby="uniqueTitleID"(使用标题ID)

title 应该包含在 aria-labelledby 中,因为它比 aria- describeby 有更好的屏幕阅读器支持

【讨论】:

猜你喜欢
  • 2015-05-11
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-07
  • 2011-04-22
相关资源
最近更新 更多