问题标签 [wai-aria]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
accessibility - 用于网格中行选择的 Aria-selected 属性
aria-selected
属性用于指示选择了网格中的一行,当我使用颚键导航到网格中的选定行时,它不会被读取为选中。有什么线索/建议可以使这项工作正确吗?
我正在使用最新的 FF 和 Jaws 12
javascript - add aria-expanded and tabindex values to parent based on current URL
I'm creating a jQuery-powered, WAI-ARIA tree menu for a site that doesn't have any server-side capabilities. Because of this, my only way of changing the menu dynamically is to check the current URL and compare it against the current file. For a match, I need to do all of these things:
- Add a class of "current" to the
<li>
element that holds the<a>
element that matches the current page's URL - Add a class of "current" to the
<li>
element that holds the<ul>
element that holds the<li>
element that holds the<a>
element that matches the current page's URL - Set the
aria-expanded
attribute totrue
on the<li>
element targeted in number 2 above - Set the
tabindex
attribute to0
on the child<a>
element of the<li>
element targeted in number 2 above (NOT the<a>
that is actually the current page)
Here's what the resulting HTML should look like (if "owls.html" is the current page):
I've gotten this bit of jQuery to do the trick for items 1 through 3:
However, I'm a JavaScript/jQuery newbie, so I'm not sure if this is the best or most efficient way to do what I want. If anyone can suggest a better way to approach it, I'd appreciate it!
But I don't know how to achieve item 4, adding the tabindex value to the first-level <a>
element, because it's not actually a parent/ancestor of the current page's <a>
element. What can I add to my script to target this <a>
element and change its tabindex value from -1 to 0?
mobile - 手机导航
我正在为网站创建一个标签列表,并希望修改移动设备上的体验。
我正在寻找为导航选项卡项创建一个选择列表。
保留 arai 角色(例如 role='tab' 用于选项)是有效的
提前致谢
dialog - 带有 NVDA 的选项卡索引的 Aria、Dialog 和 Div
我试图弄清楚为什么 NVDA 没有说出具有 tabindex 的 div 的内部 HTML。下面的片段位于一个 jquery-ui-dialog 中,具有对话框的 aria 角色。如果我删除了 aria-label,并且我选择了这个部分,NVDA 只会说“部分”。如果我离开 aria-label,它会说话。有没有办法让它说出内部 HTML 而不会到处复制文本?
html - aria-required in a radio group
When I have a mandatory (required) radio group, which element(s) should have the aria-required="true"
attribute? Basically, I have a bunch of <input type="radio">
elements that share the same name
and are grouped together under a <fieldset>
.
- Should I put
aria-required
on the<fieldset>
? - Should I put
aria-required
on each radio? - Or would you say "there should be no such thing as a mandatory radio group; set a default value so that the radio group can never be in non-selected state"? -- perhaps this is the topic for a separate usability discussion.
css - CSS 不透明度如何影响可访问性?
在浏览了许多 Google 和其他 SO 文章之后,我决定直截了当地提出我的问题,希望得到一个简单、直接的答案。
在关于是否 opacity:0 与 visibility:hidden 具有完全相同的效果的讨论中添加进一步的步骤:我理解这一点display:none
并visibility:hidden
从屏幕阅读器等中隐藏元素,但是呢opacity:0
?
链接问题的答案之一中的表格指出 opacity 参与taborder,那么这是否一定意味着它将被映射到可访问性 API?
设置一个巨大的负数text-indent
通常作为下拉菜单的替代方案display: none
,visibility: hidden
但我想在没有 JavaScript 的情况下淡入和淡出我的菜单,同时确保我不会对屏幕阅读器隐藏它们。
iphone - 强制对 aria-hidden 的更改在 Mobile Safari 上立即生效
我正在使用 CSS3 在 HTML 中创建一个基本菜单。当您单击 adiv
时,相邻的列表会使用 CSS 过渡展开或收缩。例如:
点击 时div
,ul
高度会更新为其子级偏移高度的总和,并aria-hidden
设置为false
或删除。再次点击将高度设置为 0 并设置aria-hidden="true"
.
我面临的问题是,Mobile Safari 在相邻元素更改其 aria-hidden 值时并不能很好地发挥作用。从一些实验来看,如果更改的元素距离至少 2 个可聚焦元素并且发生 DOM 更改,则效果最佳。<div>
在将 a 附加到文档末尾时,我已经尝试了以下内容。
其他技巧,例如将它们包装在单独的 div 中或在目标前面插入和删除两个 div 也不起作用。似乎 VoiceOver 在第一次选择元素时已经选择了接下来要播放的元素。
有没有人成功使用这种可访问的功能?
html - 为什么 NVDA 阅读器无法读取我的 jquery.html() 和 jquery.append() 代码?
在将 HTML 插入 DOM 时,我似乎无法让 NVDA 屏幕阅读器与 jQuery 一起工作。
我需要我的应用程序满足可访问性标准(例如 WAI-ARIA),并在 Ajax 回发时将动态内容添加到我的页面中。
这是我的代码没有被 NVDA 读取......我错过了什么?
html - 使用带有 WAI 和 ARIA 的 NVDA 屏幕阅读器...哪些 html 标签有效?
有人可以告诉我哪些 html 标签适用于使用 javascript 注入页面的动态内容吗?
我无法插入纯文本或任何其他未包含在 LI 中的文本,并且让 NVDA 大声朗读文本?
我尝试使用一些不同的 html 元素,如 DIV 和 SPAN,但它没有读取它?