虽然建议title在<abbr />元素上使用该属性,但这对屏幕阅读器没有影响(至少在chromevox上没有).
<abbr title="as soon as possible">ASAP</abbr>
有用的东西当然是aria-label:
<abbr aria-label="as soon as possible">ASAP</abbr>
因此,为了兼顾语义和屏幕阅读器,我需要标记两者:
<abbr aria-label="as soon as possible" title="as soon as possible">ASAP</abbr>
这看起来有点像黑客.为什么chromevox只是不读取title属性?
VS Code 刚刚问我“您使用屏幕阅读器来操作 VS Code 吗?” 但它没有给我任何关于根据我的答案它会做什么的线索,我只能猜测。
我不使用屏幕阅读器,但我使用使用 macOS 辅助功能 API 的软件。我不希望 VS Code 打开仅对屏幕阅读器用户有用的模式,或禁用视觉用户的任何功能,但我也不想通过辅助功能 API 禁用对 VS Code 的访问。
在我看来,简单地问我问题并为我做出决定,就好像我无法做出决定,而不是向我解释它将做什么,这似乎是相当用户对抗的。
(如果它随后提出问题或建议,那么它就未能传达这一事实。)
如果 VS Code 认为您正在使用屏幕阅读器,它会破坏基本功能,因此我担心的问题不仅仅是假设的风险。
更新:我忘了提及我正在使用“Visual Studio Code - Insiders”而不是普通版本的 VS Code。我不知道这是否会改变什么。
如果我已经在图像下/图像上有人名,那么我应该在ALT文本中使用相同的名字吗?
alt text http://easycaptures.com/fs/uploaded/227/6990285751.jpg
<p><img width="125" height="157" alt="George Washington"
src="media/gw.jpg"><span>George Washington</span><p>
<p><span>George Washington</span>
<img width="125" height="157" alt="George Washington" src="media/gw.jpg"><p>
Run Code Online (Sandbox Code Playgroud)
如果我重复<span>在alt两个条件?图像没有链接.
搜索引擎和/或屏幕阅读器是否重视HTML5中的新标签?
有时我认为我会在JavaScript的帮助下使用HTML5,但是如果搜索引擎和/或屏幕阅读器无法理解新标签会有什么好处呢?
<header>并且<div class="header">是同样的事情,如果<header>有SEO和屏幕阅读器没有任何好处.
我有一个WPF应用程序需要支持屏幕阅读器(尤其是JAWS).问题是,当列表视图项已更改(添加,删除)时,JAWS不会发布任何内容.盲人用户完全不知道发生了什么.我有什么方法强制屏幕阅读器宣布一些文本,当尝试从列表视图控件添加/删除项目?我该怎么办?
我在测试我们的webapp的可访问性时遇到了问题,尽管看起来非常简单,但我还是无法在Google上找到明确的答案.
问题是屏幕阅读器(特别是iOS和OSX Safari中的Voice Over)甚至在用户点击任何内部链接之前,就会将应用程序中的每个内部链接读作"访问过的链接".链接都有相同的基础(类似http://domain.com/path/index.html#what-the-link-does),所以我的第一直觉是,因为这些链接都指向同一个不同的哈希文件链接是访问过的视图,因为该文件已被访问过.
但是,这不是理想的行为.我们希望将所有链接简称为"链接".所以这是我的问题:
是什么决定了链接是否被视为访问过?只是访问域名会导致它吗?访问特定文件会导致它吗?或者同一文件的不同哈希值是否应具有不同的访问状态?
有没有办法控制此行为并防止链接被读取为访问?一些Aria参数可能吗?
我了解到<abbr>标签应该由屏幕阅读器解释,其title属性将在屏幕阅读器阅读时替换其内容。但是,当我尝试这样做时,MacOS(Firefox 和 Safari)Voiceover 和 NVDA(Windows 10、Edge 和 Firefox)都不能那样工作。这是相关的代码部分:
... bla bla bla <abbr title="nervus">N.</abbr> peronaeus ...
Run Code Online (Sandbox Code Playgroud)
(这是医学表达)
IMO 这应该读作“...... bla bla bla nervus peronaeus ...”,但它读作“...... bla bla bla N.”,然后是长时间的沉默(或者屏幕阅读器甚至停在它之前),显然是因为点,然后是“peronaeus ......” - 没有“nervus”......
我是否正确使用了语法还是我遗漏了什么?或者,如果这是正确的:是否有任何 WAI-ARIA 代码或类似的代码可以添加以使其按照大多数屏幕阅读器应该的方式工作?
我正在研究客户网站的可访问性,并使用 JQuery/Javascript 来检测是否按下了 Enter 或空格键键盘按键,这非常有效...
$(document).addEventListener('keydown', navKeyboardHandler);
navKeyboardHandler = function(e) {
console.log('a keyboar key was pressed'); // This does work
if (e.keyCode === 13 || e.keyCode === 32) { // Keyboard Enter OR Spacebar pressed
console.log('enter or spacebar key pressed ! ! !'); // This does NOT work
}
};
Run Code Online (Sandbox Code Playgroud)
...直到我打开 NVDA 用屏幕阅读器测试键盘导航!它完全忽略了这个声明。偶尔,这会触发。就像按 10 或 20 次键盘中的一次一样。关于何时选择触发并不一致。
需要修改 IF 语句中的哪些内容才能使其正常工作?任何帮助将不胜感激。我正在 Windows 上使用 Chrome 和 Firefox 对此进行测试。
我正在我公司的网站上进行一些可访问性测试。我一直在使用 Mac 的 VoiceOver 工具和 Chrome 进行大部分屏幕阅读器测试。在大多数情况下,它已经起作用了,但是,今天我向自定义元素(主要使用 div 构建)添加了一些 ARIA 标签和角色,并且它似乎只在 Safari 中有效......
有没有其他人遇到过这个问题?关于是否有修复或解决方法的任何想法,以便它可以在任何浏览器上运行?
如果我的场景不够清楚,请告诉我,我会提供更多信息/细节。谢谢!
accessibility google-chrome screen-readers voiceover wai-aria
屏幕阅读器会忽略空字符串吗?或者如果字符串为空,我应该避免将它们添加到元素中吗?
作为参考,这是 React 中的一个用例,您希望默认为空字符串以避免检查未定义:
<input
id={id}
value={value}
{...(ariaLabel ? { 'aria-label': ariaLabel } : {})}
/>
Run Code Online (Sandbox Code Playgroud)