几个小时前,我读到了aria-label属性,其中:
定义标记当前元素的字符串值.
但在我看来,这就是该title
属性应该做的事情.我在Mozilla开发者网络中进一步了解了一些示例和解释,但我发现的唯一的事情是
<button aria-label="Close" onclick="myDialog.close()">X</button>
Run Code Online (Sandbox Code Playgroud)
哪个不给我任何标签(所以我认为我误解了这个想法).我在jsfiddle这里尝试过.
所以我的问题是:我为什么需要aria-label
以及如何使用它?
一位家庭成员几年前中风,现在有表现性失语症.她理解对她说的是对正在发生的事情的认知,但不能表达自己.她可以回答是/否问题(你想去购物吗?你在寻找你的耳环吗?)但她不能阅读(英语不是她的母语,她没有读过印地语几十年.)
我是这个家庭的技术专家,我打算想出一些东西来帮助我们沟通.这个想法是有一些图画书,她可以指出她想要的东西.
我的第一个问题:对于有表现性失语症的人,是否已经存在某种辅助技术?这些可以是硬件还是软件设备?
如果没有,那么这样的软件似乎并不难写.我最初的想法是有一个图片界面 - 可能按类别(食物,购物)分开 - 在那里她可以指向一张单独的图片来表明她需要什么.我们可以使用这样的软件轻松添加更多项目,我们可以有一个界面,她(或我们)可以"翻页".
这表明最好的解决方案是使用触摸屏而不是鼠标.训练她瞄准鼠标或在键盘上找到键是非常困难的.
我们正在考虑购买平板电脑并编写一些基本软件.但平板电脑价格昂贵且易碎 - 我不确定它是否能够在养老院遭受泄漏或被撞倒.
所以我的下一个问题是:我可以在哪种类似平板电脑的设备上进行编程?我对硬件一无所知,但如果有什么东西,我们可以特别订购它.这样一个项目的安全性和持久性是什么?我们可以在iPod或手机上做点什么,但我觉得这个界面太小了.
最后,这里有没有人有这种辅助技术的经验?在设计这样的系统时我可能没有预料到的事情?
编辑
我添加了一个(非常大的!)赏金.我有点想把这个问题提到人们可能有的任何建议,评论和经验.这是一个非常现实和重要的项目,因此,虽然我们将(正在制定)解决方案,但任何见解都会特别有用.
现在计划是在她的房间里安装一个屏幕.在看到她能够使用简单的原型后,我们要么教她使用轨迹球,要么使用触摸屏.然后软件类似于旧的"超级卡"套牌:
---------------------------------------------------------------- | -------------- -------------- | | | Clothes | | Food | ... | | -------------- -------------- | | | | Pic of item 1 Pic of item 2 Pic of item 3 | | | | | | | | | | Pic of item 4 Pic of item 5 Pic of item 6 | | | | | | | | …
输入:
<ins class="marked-for-jax">\[
1 + 2 + 3 + \ldots + n = \frac{n(n+1)}2.
\]</ins>
Run Code Online (Sandbox Code Playgroud)
MathJax配置:
MathJax.Hub.Config({
jax: ["input/TeX", "output/HTML-CSS"],
extensions: ["tex2jax.js"],
messageStyle: "none",
TeX: {
extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]
}
});
Run Code Online (Sandbox Code Playgroud)
为清晰起见,MathJax输出,缩短并格式化:
<p>
<ins class="marked-for-jax">
<span class="MathJax_Preview" style="color: inherit;"></span>
<div class="MathJax_Display" style="text-align: center;">
<span class="MathJax" id="MathJax-Element-2-Frame" tabindex="0" data-mathml="[mathML data here]" role="presentation" style="position: relative;">
<nobr aria-hidden="true"><span class="math" id="MathJax-Span-12" role="math" style="width: 14.517em; display: inline-block;"><!--lots of nested spans here--></nobr>
<span class="MJX_Assistive_MathML MJX_Assistive_MathML_Block" role="presentation"><!--lots of mathML here--></span>
</span>
</div>
<script <!--does not …
Run Code Online (Sandbox Code Playgroud) 我只是想知道我是否应该期待大约在2015年1月的浏览器和辅助技术使用speak:none以相当于设置aria-hidden ="true"的方式.我想指出一些半透明的文本应该被忽略,我想知道我是否可以在一个操作中完成它(只需添加一个设置不透明样式的类并说:none,而不是添加类并设置咏叹调隐藏属性).
我有一个商业伙伴,他有兴趣为残疾人提高低成本自适应/辅助技术的质量.iOS和Android平台已经有了一些不错的初出茅庐的努力,但我们认为有很多可以改进的,特别是在用户友好性方面(这应该是针对认知障碍者的产品的主要关注点).
我的问题是:这里的每个人都认为Windows 8将作为此类软件的目标平台有多适合?我一直在Surface上听到混合评论,但我并没有因为用户友好性的投诉的可信度而被出售.
我正在尝试使用辅助技术(NVDA)实现键盘辅助功能脚本.
我的脚本捕获箭头按键.代码段:
$(document).keydown(function(event){
var key = event.keyCode || event.which;
if(key == 40) //capture arrow key down
{
//do something evil
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,辅助技术有自己的键盘绑定.
是否有可能使它们同时工作?
我即将开始研究Windows的Accessibility项目(针对XP到7),并希望对使用托管代码与非托管代码的使用方面提供一些建议.基本上,软件需要能够从打开的窗口,访问菜单和其他常见功能程序(如JAWS或其他屏幕阅读器)中读取文本.问题是,我可以使用C#执行此操作还是需要使用C++?
在过去的两年里,我一直在开发大量的C#代码,所以看起来最快的方法就是使用System.Windows.Automation命名空间.另一方面,我在很长一段时间内没有做太多的C++或COM编程,并且在使用非托管代码之前必须花一些时间刷新.
在辅助功能软件中使用C#代码有什么限制?它们是否足够严重以证明花费相当多的时间来刷新我的C++和COM技能是因为我遇到了许多使用托管代码不可能(或者更难)的事情?Automation命名空间是否与旧应用程序(不使用.NET或WPF)兼容?