2016-07-01 67 views
2

我遇到了让我疯狂的奇怪问题。 其实我有一个HTML的结构像WAI ARIA - 多次阅读屏幕阅读器

<button ng-disabled="vm.updating" ng-click="doSomething()" class="something" type="submit" aria-label="average score"> 
 
    
 
<span ng hide="hideConditional()" class="font-white">score</span> 
 
<span ng-show="showConditional()" class="font-white"> 
 
    <span class="grey"></span> 
 
    <span>scoring</span> 
 
</span> 
 
</button>

当我打开屏幕阅读器,它读取平均得分得分得分按钮多次,然后再进球得分,但我只希望它读取我写入按钮的任何文本,并忽略子元素文本,如内部跨度或按钮下的任何控件。但我无法忽略其余的内容。我试图在每个span上使用aria-hidden,但无济于事。任何人都可以请纠正我?我在这里错过了什么?如何让屏幕阅读器忽略button中的元素的文本,并使其只能读取按钮上设置的文本?

+0

你有这个功能的网址吗?当我[制作笔](http://s.codepen.io/aardrian/debug/YWxqYv)时,我所得到的只是“平均分数按钮”,并且在点击/按下时显然没有任何内容。由于AT自己读取呈现的HTML而不是'ng-aria'位,否则无法正确调试。 – aardrian

回答

0

我用:

<div class="" aria-hidden="true" role="presentation" > </div> 

它的工作对我非常好。