- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 SVG 树形图形,我想让 NVDA 和类似的用户可以访问它。
SVG图形中的每个节点编码如下:
<g class="node" >
<foreignObject tabindex="0" focusable="true" aria-label="I want this read by screen readers such as NVDA..." class="nodestyle">...and I'd like this read out as well.</foreignObject>
</g>
当我切换到每个节点时,Chrome 只读出 foreignobject 中的文本,而 Edge Chromium 只读出 g 中的 aria-label 文本。我试过在 g 和 foreignobject 中使用标题、标签等,但我无法让任何一个浏览器读出两个文本。如果可能的话,任何人都可以建议我如何实现这一目标吗?
我不想做一些棘手的事情,比如输入额外的文本然后用 CSS 隐藏它。
最佳答案
我一直在做一些非常相似的事情,尽管我没有任何打开/关闭隐藏/显示行为。
这在很大程度上不是一个已解决的问题,所以我很好奇在这个领域所做的任何工作,我希望您能收到进一步的信件!检查this article .我认为这是任何适当解决方案的一部分。 This one也值得一看。
我尝试了很多东西,也选择了带有外来对象的 SVG,并使用 Tab 键进行导航。甚至实现了几种不同的机制来选择分支。
棘手的事情是选择分支。有一个名为 aria-flowto 的属性它以一个或多个“目的地”id 作为一个值,但它的支持很差,并且没有推荐的习语用于在其中进行选择。 (但是,它可以与 javascript 一起使用)。
我的一个尝试是使用 javaScript 将方框的内容复制到附在元素上的 aria-label 中,该元素上有 tabindex=0
。这工作得很好,但没有提供任何“可浏览”内容的功能。同样,宣布分支机构是一项挑战。
如果您希望使用标题等语义可供浏览 foreignObject 中的标记,您可能必须使用 role=document
,许多 a11y 社区成员无疑会警告您不要这样做因为这很棘手。我已经能够使 role=document
在 HTML 中正常工作,但尚未将其与 SVG 集成。我还不知道它是否能很好地与 WAI-ARIA Graphics Module 配合使用角色。
关于svg - 我怎样才能得到 NVDA 和类似读出 <foreignobject> 的 aria-label 和内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59787839/
我可以用于 在 SVG 中。它支持 Firefox 14、Safari。但它不支持IE9。我的密码是 here .如何使用在 IE 9 中?或在 SVG 中的 HTML 元素中使用的任何其他方式。 最
附加一个带有外部对象的 html 复选框和文本。 .attr("id",function(d){return d.id;}) .append("foreignObject")
当我在 svg:foreignObject 内的 html 对象上使用它时,我遇到了绝对和相对定位问题。 我做了这个jsfiddle来证明我的问题。 div.wrapper应该和svg:g中的rect
以下是 Safari 的一个奇怪且明显有问题的行为(使用版本 11 和 12 测试)。一个 包含 HTML 的内容在缩放时仍以其原始大小显示,即使其本地用户空间坐标相对于屏幕进行缩放。 HTML 内容
我在 SVG 元素中有一个 foreignObject。显示所有其他元素,但 foreignObject 及其内容不可见。在 Chrome、Firefox 和 Edge 中测试,结果相同。 代码如下:
下面的代码,我想给文本添加描边,但是它不起作用。 // the html code something words..... // th
我真的很喜欢 foreignObject 在 svg 上显示 HTML 区域,但今天我发现它在 IE9 中不起作用(为什么我并不感到惊讶)行。所以我正在寻找一种适用于 IE9 的替代方案,但它似乎很难
MDN says : 将不会绘制 foreignObject 中的任何 SVG 元素,除非以递归方式嵌入具有正确 xmlns 属性规范的正确定义的 SVG 子文档。 我已经尝试为所有后续元素设置正确的
我在 Angular9 组件模板中使用内联 SVG。我想在这个 SVG 中显示一个 HTML 元素。当我尝试在其中使用 SVG foreignObject 时,它不会显示。 Inline SVG wi
我将文本附加到外部对象内的 div。文本在 chrome 中呈现良好,但在 IE 中根本不显示。我研究了一下,好像IE不支持外来对象。是否有解决方法可以使其在 IE 中正常工作?? 附言我正在使用 d
我正在使用 Highstock,将其插入一些 通过 元素,像这样: http://jsfiddle.net/3svXN/ 但是,在 Firefox 中,滚动条不起作用——它在我的 JsFiddle 示
我在 Safari 上遇到 SVG 的 foreignObjects 元素问题。我正在使用 SVG 元素以及我正在使用的 d3.js 库。 我所做的是在 Canvas 上附加一个 foreignObj
我正在使用 d3js 制作一棵树,需要插入 foreignObject 但 Internet Explorer 不显示它 node.append('g:foreignObject') .att
我创建了一个 SVG,它使用此处的滚动条滚动: http://www.dotuscomus.com/svg/lib/library.html#innerscroll_full 在 SVG 中,我有一个
我将文本附加到外部对象内的 div。文本在 chrome 中呈现良好,但在 IE 中根本不显示。我研究了一下,好像IE不支持外来对象。是否有解决方法可以使其在 IE 中正常工作?? 附言我正在使用 d
我有一个带有 XHTML 表格的 SVG 文件。我想将表格的某些部分与 SVG 绘图连接起来(通过 JavaScript)。例如,在以下文件中,我想将每个黄色圆圈放置在红色边框右端的中心: C
我正在尝试创建一个 CSS 构建的“微调器”作为位于父 SVG 中的 foreignObject。在 Chrome 中工作正常,但它在 Firefox 中被剪裁。 包括一个运行示例。
我有一个使用 svg 组件的 JavaScript 应用程序。我有 svg 组: person:object
我有一个包含一些数据的 svg。我需要将此数据显示为表格,我设法做到了,将其作为 foreignObject 插入,但问题是它太小了,我无法为其设置大小。 这是 fiddle :https://jsf
2016 年 4 月 22 日更新:没什么新鲜事,我只是决定检查一下,然后发布快速代码更新。 Firefox 仍然按预期运行,IE 完全没有运行,而 Chrome 50.0.2661.87 m 仍然与
我是一名优秀的程序员,十分优秀!