首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TalkBack屏幕读取问题

TalkBack屏幕读取问题
EN

Stack Overflow用户
提问于 2014-04-03 03:54:49
回答 1查看 1.5K关注 0票数 2

我正在试图掌握如何在考虑到屏幕阅读器的情况下编写代码,并且我遇到了一些问题。第一个示例是我试图显示的单个HTML元素:

代码语言:javascript
复制
<h2><span>This is an element.</span></h2>

Android上的Talkback会将其读作"This is an element header 2“,但我想知道如何将其读回为"This is a element”。

另一个问题是具有大量嵌套子元素的元素;例如,我测试了以下内容:

代码语言:javascript
复制
<div aria-live="assertive" aria-atomic="true" tabindex="0">
    <div>
        <div>
            <p>This is text for the div.</p>
        </div>
    </div>
    <div>
        <p> This is additional text. </p>
    </div>
</div>

我希望屏幕阅读器显示"This is text for the div. This is additional text.",但它只显示"This is text for the div“。我的印象是aria-atomic会让这个区域的所有内容都被读取,那么我可能做错了什么呢?我试图将第二句话设为标题,但也不起作用(在这样的场景中,如何才能同时读取div和title属性的内容呢?)

最后,虽然这个问题仍然存在,但我奇怪地同时获得了标题文本和内容文本,并与以下内容一起阅读:

代码语言:javascript
复制
<a title="for the title">this is additional text</a>

仅当我单独关注该元素时才使用...but。如果我尝试让它成为带有其他文本的div的子级,就像la:

代码语言:javascript
复制
<div>This is a title and <a title="for the title">this is additional text</a></div>

当我想要“这是一个标题,这是标题的附加文本”时,它将显示为“这是一个标题,这是附加文本”。它基本上跳过了title属性。

这非常令人困惑;我已经阅读了aria属性,以及某些屏幕阅读器和Talkback是如何工作的,但我没有运气。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-08-08 14:31:29

如果您在标题标签下放置一个跨度,屏幕阅读器将读取标题级别。如果您不想读取标题,那么不要将span放在heading标记中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22821665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档