Javascript 为什么不关注iOS11?

Javascript 为什么不关注iOS11?,javascript,focus,accessibility,voiceover,Javascript,Focus,Accessibility,Voiceover,我现在正在做网页无障碍的工作。 但是当我在iOS11中使用画外音时,我发现焦点不好。 在那之前没有问题 请参见下面的示例 <a href="#test">skip</a> [focus O] 1) <div id="test" tabindex="-1">test1</div> 2) <div id="test" tabindex="-1"><span>test1</span></div> 3) &l

我现在正在做网页无障碍的工作。 但是当我在iOS11中使用画外音时,我发现焦点不好。 在那之前没有问题

请参见下面的示例

<a href="#test">skip</a>
[focus O]
1) <div id="test" tabindex="-1">test1</div>
2) <div id="test" tabindex="-1"><span>test1</span></div>
3) <div id="test" tabindex="-1"><img src="url" alt="test"></div>

[focus X]
1) <div id="test" tabindex="-1">test1<img src="url" alt="test"></div>
2) <div id="test" tabindex="-1">test1<span>test2</span></div>

[焦点O]
1) 测试1
2) 测试1
3) 
[焦点十]
1) 测试1
2) 测试1测试2
似乎如果一个元素中有两个以上的元素,它就没有了

这是什么原因


有什么解决办法吗?

试着理解你的问题。我不知道你的“焦点O”和“焦点X”是什么意思。我认为“O”是个好例子,“X”是个坏例子

VoiceOver将导航到DOM中的每个元素,因此在“X”示例中,VO将在
test1上停止,然后在嵌入的

测试1测试2

这将使整个
成为一个焦点区域,并将所有文本作为一个焦点读取。然而,这也将失去形象的作用。您将听到图像的
alt
文本,但不会听到宣布的图像角色。

例如,skip navi在目标中包含许多元素,并且role=“text”不是一个好主意。。。Voiceover的工作原理与其他浏览器非常不同,我想知道这是一个bug还是正常现象?你能解释一下为什么这不是一个好主意吗?个人观点或基于某些引用?通常,移动到页面内锚定的元素包含许多子元素。但是,如果设置role=“text”,则无法访问子元素。这就是我要说的。然后我误解了你原来的问题。听起来好像你想把整个
作为一个对象来对待,而不是访问子元素,但你最后的评论听起来好像你真的想访问子元素?我的英语不好。我很抱歉。在iOS10上,焦点是tabindex为-1的div。然而,重点不是iOS11。如果这是一个bug,我要求一个解决方案。
<div id="test" tabindex="-1" role="text">test1<img src="url" alt="test"></div>
<div id="test" tabindex="-1" role="text">test1<span>test2</span></div>