如何检测屏幕阅读器是否正在运行(JAWS)?
正如我在.NET 4的理解,我们可以使用AutomationInteropProvider.ClientsAreListening从System.Windows.Automation.Provider命名空间,但如果我必须做的.NET 2.0是什么?
我试图检查ClientsAreListening源代码,它RawUiaClientsAreListening从UIAutomationCore.dll库调用外部方法.
您对如何在.NET 2.0中实现JAWS检测有任何想法吗?
c# accessibility screen-readers ui-automation jaws-screen-reader
我写了一个使用jQuery来显示模态弹出窗口的网站.它基本上覆盖了屏幕的整个可视区域和覆盖图,然后显示了一个DIV,其中包含覆盖层顶部的实际弹出窗口.该项目的要求之一与可访问性有关.
当弹出窗口时,我们已经能够将焦点集中在模态中,以便屏幕阅读器停止它的操作并开始在模态内部读取.然而,我们当前的问题是,一旦JAWS屏幕阅读器完成在模态窗口内读取文本,它将继续经过该文本并读取窗口外的文本(在叠加层下面).
有没有办法将屏幕阅读器"锁定"在特定元素内部,以便它无法读取任何内容?
我有三个锚标签,一个带有文本内部,两个带有有效alt文本的图像.带有文本内部的锚标记可以正常使用JAWS并且可以正确读取.但是,出于某种原因,对于内部带有图像的锚点,正在应用tabIndex为-1,这意味着它们被跳过.
这是在IE 9中测试的.有没有理由为什么会这样?有没有办法防止它?
通常,我观察到Chrome和JAWS不能很好地协同工作,而Firefox与JAWS无缝协作.
browser firefox accessibility google-chrome jaws-screen-reader
我有一个简单的ASPX页面,如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test JAWS</title>
</head>
<body>
<form id="form1" runat="server">
<div class="divBody">
<div id="header">
<h1>Simple ASPX page</h1>
</div>
</div>
</form>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
在使用JAWS测试页面时,我注意到页面标题被读取了两次(主要是在Firefox中).在其他浏览器中,例如IE和Chrome,它会以不同的方式读取.
有没有人有同样的问题?我的代码出了什么问题?
我正在研究如何使我的代码更容易访问,但最近偶然发现了Chase的可访问性声明,使得JAWS屏幕阅读器更倾向于使用Internet Explorer和NVDA更好地使用FireFox.
资料来源:(https://www.chase.com/digital/resources/accessibility)
由于我的计算机上没有安装任何这些,我首先想知道每个程序是否确实偏好使用哪个浏览器?第二,如果他们确实有偏好 - 每个程序的某些功能是否在其他浏览器上不能正常工作?
问题:在开发这些程序时,我应该注意哪些事项?
编辑: 如果你正在寻找同一个问题的答案,史蒂夫斯共享这个主题的一个很好的信息来源.
http://www.webaim.org/projects/screenreadersurvey6/#browsercombos
我想从 HTML 生成一个 PDF,其中嵌入了可访问性标签。换句话说,我想将 HTML 转换为 PDF,以便 JAWS 友好。用于从 HTML 生成 PDF 的标准选项不会在导出的 PDF 中嵌入辅助功能标签。例如,jsPDF 有各种插件,但没有一个能够添加适当的辅助功能标签。有人有这方面的经验吗?
想象一下,我有一个<div>with aria-labelas “Read this”(aria-label在运行时添加)。在里面<div>,我有一个<span>带有文字“不要阅读这个”的文字。
现在大白鲨正在做的是,它同时读取文本(“阅读这个”和“不阅读这个”)。
<div aria-label="Read this">
<span>Do not read this</span>
</div>
Run Code Online (Sandbox Code Playgroud)
期望是只阅读“阅读此内容”。反正有没有限制屏幕阅读器强制停止阅读文本?
html accessibility screen-readers wai-aria jaws-screen-reader
我们有一个ASP.NET MVC 5 Web应用程序.我们使用JAWS与Internet Explorer 11(企业授权)和Chrome进行定期可访问性测试.当用户选择进入字段时,我们一直遇到JAWS无法读取与表单字段关联的验证消息的问题.我们使用FluentValidation和标准HTML帮助程序来显示表单字段和验证消息(如下所示):
@Html.LabelFor(model => model.Email)
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email, null, new { role = "alert" })
Run Code Online (Sandbox Code Playgroud)
示例FluentValidation可能会在数据库中查询表单中的电子邮件地址,并在服务器端显示"已收到此电子邮件"的消息.
生成的HTML发送回浏览器是:
<label for="Email">E-mail address:</label>
<input type="text" name="Email" id="Email" ...>
<span class="..." data-valmsg-for="Email" data-valmsg-replace="true" role="alert">
This e-mail has already been taken
</span>
Run Code Online (Sandbox Code Playgroud)
没有任何内容将验证消息与表单字段相关联.我一直认为MVC框架自动建立了这种连接,但显然它没有.
根据WebAIM,我们应该利用该aria-describedby属性将表单字段与内联验证错误相关联,但是要重新使用现有的MVC5框架来完成这项任务是非常重要的.
当将焦点转移到ASP.NET MVC5生成的表单字段而不重写主要HTML帮助程序时,我们如何让屏幕阅读器宣布内联验证消息?
我的页面上有多组动态内容,在一些用户交互后会更新.我希望屏幕阅读器能够读取更新的内容,但NVDA不会在Chrome上读取实时区域.它虽然在Firefox上工作.请帮忙.铬上的钳口和chromevox也不起作用.
accessibility google-chrome wai-aria nvda jaws-screen-reader