上下文:我有一个div表,客户端希望屏幕阅读器可以像普通的html表一样使用表命令
问题:无法让aria工作以宣布带有行值的标题,以保持数据的完整性.
解决方案:只有使用div才能使其可访问?
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.Table
{
display: table;
}
.Title
{
display: table-caption;
text-align: center;
font-weight: bold;
font-size: larger;
}
.Heading
{
display: table-row;
font-weight: bold;
text-align: center;
}
.Row
{
display: table-row;
}
.Cell
{
display: table-cell;
border: solid;
border-width: thin;
padding-left: 5px;
padding-right: 5px;
}
</style>
<title>Div Table Example</title>
</head>
<body>
<div class="Table" role = "grid" aria-readonly="true">
<div class="Title">
<p>Example</p>
</div>
<div class="Heading" role = "columnheader">
<div class="Cell">
<p>Name</p>
</div> …Run Code Online (Sandbox Code Playgroud) 我听说应用于display:none不可见的东西比更改不透明度更容易理解.然而,使用display:none了一些我的css动画,这些动画逐渐分层到核心功能上.
如果在我的css中隐藏了元素opacity:0并赋予元素aria-hidden=true角色,或元素是否也具有display:none?
要考虑的另一个因素是:hover在这种情况下,aria角色由javascript控制(css具有伪类回退).所以对于没有javascript的环境,元素只会被隐藏opacity:0.
我正在尝试创建一个可访问的输入字段,如下所示:
<input type="text" role="textbox" aria-labelledby="helper-msg-value">
<p id="helper-msg-value">You must enter a value</p>
Run Code Online (Sandbox Code Playgroud)
有没有办法使用类作为aria-labelledby属性的选择器而不是ID?所以像这样:
<input type="text" role="textbox" aria-labelledby=".helper-msg-value">
<p class="helper-msg-value">You must enter a value</p>
Run Code Online (Sandbox Code Playgroud) 我正在建立一个需要符合WCAG 2.0 Level AA的网站.
我的问题是我实施了多少ARIA角色?
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques
问题:我遇到了一个无法解决的问题.我有一个有角度的Web应用程序.加载内容时会显示页面加载微调器/指示器.当页面内容加载时,微调器被隐藏.这个"div"永远不会从DOM中删除.
当显示加载div时,不会读取加载div的内容(通过NVDAor钳口).
<div class='loading' aria-live='polite' aria-label='Do not refresh the page' tabindex="-1">Do not refresh the page</div>
Run Code Online (Sandbox Code Playgroud)
我不想改变应用程序的结构,但是可以使用'aria tags'来解决这个问题,只是想知道我是否还需要做更多的事情才能让咏叹调生活?
更新(2016年7月27日)
进一步澄清:我没有从DOM中删除内容,而是使用css来显示/隐藏内容(display:none to display:block,反之亦然)
我正在使用jQuery Mobile“多页”文档的网站上工作,其中该网站的多个“页面”可能被编码为单个html文档的div。基本结构如下:
<body>
<div data-role="page" id="page1">
<header>Page 1</header>
<main>Content...</main>
<footer>...</footer>
</div>
<div data-role="page" id="page2">
<header>Page 2</header>
<main>Content...</main>
<footer>...</footer>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
我想使用<main>所示的html5 元素,但是w3c验证程序给我一个错误,说“一个文档不能包含多个主要元素”。
我了解w3c标准<main>每个文档只允许一个。然而,对于咏叹调标准role="main"(向其<main>映射)并允许“多个主元素作为DOM后代,假设每个这些都与不同的文档节点相关联的”(https://www.w3.org/TR/wai-aria/角色#main)。
这些jQuery Mobile [data-role='page']div是否算作“不同的文档节点”?<main>如果一次只暴露给最终用户,我可以有多个元素吗?
(请注意,无效的jQuery Mobile页面在文档中<body>,但是用隐藏display:"none"。)
我有2个属性连接到2道具:aria-hidden和aria-label.
什么时候aria-hidden是真的,它只显示一个.如果它是假的,它只显示aria-label.
我写了这段代码,但它并不干......我怎样才能改进它?
render() {
let svgMarkup = '';
if (this.props.hidden) {
svgMarkup = (
<svg role="img" aria-hidden="true">
...
</svg>
);
} else {
svgMarkup = (
<svg role="img" aria-label={ this.props.label }>
...
</svg>
);
}
return svgMarkup;
}
Run Code Online (Sandbox Code Playgroud) Microsoft Edge是否支持咏叹调活动区域?
我尝试测试它@ http://accessibility.athena-ict.com/aria/examples/live3.shtml
使用Jaws,旁白和NVDA可以在IE上正常工作。但是Edge却不行。
如果edge不支持aria-live,是否有其他选择可以得到类似的行为。
我正在研究聊天应用程序。回答我需要屏幕阅读器才能读取聊天中的传入消息。反正还有没有咏叹调的生活吗?
谢谢达萨里
当你写一个alt时,你应该记住一些事情.其中一项建议alt=""在图像内容装饰时使用空白或包含重复信息.
但是使用之间的区别是什么:
<img alt=""
<img aria-hidden="true"
<img role="presentation"
Run Code Online (Sandbox Code Playgroud)
还是一起?
<img alt="" aria-hidden="true" role="presentation" src="…" />
Run Code Online (Sandbox Code Playgroud) 由于最高审计机关的问题,我可以使用aria-label,并aria-hidden="true"在相同的元素?
我想要实现的是拥有一个<span>带有aria标签的元素(中的打开图标),但忽略其内容。
<span class="oi" data-glyph="star" aria-label="Favourite" aria-hidden="true"></span>
Run Code Online (Sandbox Code Playgroud)
这种用法是正确的,还是aria-hidden试图忽略该元素与aria-label试图赋予其含义之间存在冲突?