我试图为屏幕阅读器优化一些组件,但是Android Talkback被证明是一个挑战.
下面是一个非常简化的代码示例:
<div class="wrapper">
<form>
<span role="presentation" aria-hidden="true">
This should not be read by Talkback
</span>
<input aria-label="This should be read by Talkback"
在使用屏幕阅读器(NVDA)读取占位符信息时,我遇到了一个问题,而这是不应该的。
我有一个标题和占位符的输入。屏幕首先读取占位符,然后读取标题:
<div>
<input type='text' placeholder='DD.MM.RRRR' title='Insert date correctely in the format DD.MM.RRRR' />
</div>
根据网络提供的信息,NVDA不应该首先读取占位符,它应该只用于视觉目的。我已经尝试了一些解决方法,使用了aria-describedb
我有一些奇怪的行为,chrome屏幕阅读器读取标签两次,我无意中“修复”了它,我不确定修复是否正确。
在下面的代码示例中,我添加了一个引用输入id的aria-labelledby,它停止读取它两次,这让我非常困惑。我本想让aria-labelledby引用标签id,但当我这样做时,它再次开始读取标签两次:
<div>
<label for="placeOfBirth" id="placeOfBirth-label">Place of birth<span><em>(such as town, city or
我在我的mac上使用了一些VoiceOver和文本到语音的功能。我注意到数字和标点符号的发音方式有一些不同。例如,"the year is 1978“这句话,当我突出显示它并使用文本到语音时,它被完美地读出。然而,在画外音上,它是这样写的:“那年是一九七八年”。
我如何告诉屏幕阅读器我想要以某种方式发音?我可以为这种行为添加ARIA属性吗?
这不仅仅是日期和年份,还有价格和标点符号(可能还有很多其他的东西!)
我正在用HTML制作一个表格。它需要符合WCAG标准,但我在理解什么是可接受的表格标题时遇到了问题。我能用<h1>和aria-describedby代替<caption>元素吗?
我关注了一个 - 。虽然看起来我的桌子和不符。
基于,这是我目前所拥有的:
<h1 id="tableHeading">Table of requests</h1>
<p>Some other text that is relevant to the page</p>
<table aria-describedby=
我希望trumbowyg工具栏按钮(粗体/斜体等)的按下状态由NVDA屏幕阅读器读出。我已经实现了aria-pressed解决方案,它在VoiceOver上工作得很好;当按钮被选中和取消选中时,它会读出select/select,但对于NVDA则不然:
function addValuesToTextEditorButtons() {
const toggleButton = element => {
// Check to see if the button is pressed
var pressed = (element.getAttribute("ar
我想跳过阅读屏幕阅读器的一些内容。考虑一下这个html
<div id="test" aria-labelledby="test>
...
<div aria-hidden="true">Dont read this content. This content will be loaded from javascript</div>
...
</div>
尽管为div设置了aria-hidden=true,但内容是由屏幕阅读器读取的。请帮助跳过此内容
我了解到,屏幕阅读器应该以其title属性在屏幕阅读器读取时替换其内容的方式来解释<abbr>标记。然而,当我尝试时,MacOS (火狐和Safari) Voiceover和NVDA (Windows10,Edge和Firefox)都不能以这种方式工作。下面是相关的代码部分:
... bla bla bla <abbr title="nervus">N.</abbr> peronaeus ...
(这是一种医学表达)
我想这应该读作"... bla nervus peronaeus ...",但它被读成"... bla
假设我在HTML中有以下句子:
<p>Please enter your licence number</p>
屏幕阅读器错误地把这个单词发音为“liss”(拼音)。它应该发音为"lice-ens“(拼音)。
我想通过向屏幕阅读器提供语音拼写来解决这个问题,同时让文本在视觉上看起来是一样的。
我可以使用<span>、aria-属性和样式,如下所示:
<p>Please enter your <span aria-hidden="true">licence</span><span style=&