我的 iPhone 应用程序是使用 Cordova 构建的,它大部分是原生的,我遇到了可访问性问题。在我的可访问性测试期间,我注意到当在某些元素上选择 Voice Over 时,它读出的不仅仅是标签或按钮的文本。例如,这是我的 HTML 中页面标题的样子:
<div data-role="header">
<div class="page-header">
<h1 class="header-title"><%= title %></h1>
</div>
</div>
When H1 is selected the following is read out to the user:
横幅标题标题级别 1 地标
有没有办法限制它只说出标题内容?
最佳答案
看起来您正在使用 jQuery Mobile。 jQuery mobile 根据您放置元素的位置和应用的属性为元素添加一些标记。在这种情况下,它将role="banner"放置在具有data-role="header"的div 上。
读出的方式很好。如果您实际上将标题用作标题,那么屏幕阅读器用户现在就拥有了这条有用的信息。如果他们不想要它,他们可以告诉他们的屏幕阅读器来抑制它。将其视为标题与页面其余部分在视觉上不同的事实的音频等价物。
关于html - iOS 辅助功能旁白读出 Web 中不必要的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27173768/