Javascript 对讲屏幕阅读问题

Javascript 对讲屏幕阅读问题,javascript,android,html,accessibility,wai-aria,Javascript,Android,Html,Accessibility,Wai Aria,我试图掌握如何在头脑中使用屏幕阅读器进行编码,我遇到了一些问题。第一个示例是我试图显示的单个HTML元素: <h2><span>This is an element.</span></h2> 这是一个元素。 Android上的Talkback将其读为“这是一个元素头2”,但我想知道如何制作它,以便将其读为“这是一个元素” 另一个问题是元素中有许多嵌套的子元素;例如,我测试了这个: <div aria-live="assertive" ar

我试图掌握如何在头脑中使用屏幕阅读器进行编码,我遇到了一些问题。第一个示例是我试图显示的单个HTML元素:

<h2><span>This is an element.</span></h2>
这是一个元素。
Android上的Talkback将其读为“这是一个元素头2”,但我想知道如何制作它,以便将其读为“这是一个元素”

另一个问题是元素中有许多嵌套的子元素;例如,我测试了这个:

<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>

这是div的文本

这是补充文本

我希望屏幕阅读器说“这是div的文本。这是额外的文本”。但它只说“这是div的文本”。我的印象是,aria-atomic将使其能够读取该区域的所有内容,那么我可能做错了什么?我尝试将第二句话作为标题,但也没有成功(我如何使之在这样的场景中同时读取div和title属性的内容?)

最后,当这个问题仍然存在时,我奇怪地能够同时阅读标题文本和内容文本:

<a title="for the title">this is additional text</a>
这是附加文本
…但只有当我单独关注该元素时。如果我试着用其他文字把它变成一个div的孩子,一个la:

<div>This is a title and <a title="for the title">this is additional text</a></div>
这是一个标题,这是附加文本
当我想要“这是一个标题,这是附加文本”时,它将读出“这是一个标题,这是标题的附加文本”。它基本上跳过了标题属性


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

如果您像在您的案例中那样在标题标签下放置一个跨度,屏幕阅读器将读取标题级别。如果不希望读取标题,则不要将跨度放在标题标记内