覆盖ionic3 ion-icon的aria-label

时间:2018-06-05 20:47:51

标签: ionic3 accessibility voiceover ionicons

我正在使用iOS的VoiceOver功能测试我的Ionic3应用程序的可访问性。看起来ion-icon在其aria-label属性中使用了图标的名称,并且被大声读出。有没有办法用其他东西覆盖它或抑制图标的aria-label?

示例...

我有一个这样的按钮:

<button ion-button icon-right>
    Finish my postcard 
    <ion-icon name="checkmark-circle"></ion-icon>
</button>

使用VoiceOver大声读出“完成我的明信片复选标记圈”。

同样适用于标签:

<ion-tab [root]="tab3Root" tabTitle="Postcards" tabIcon="images"></ion-tab>

大声读出“图像大纲明信片”

在这两种情况下,最好不要公布图标的名称。但是,知道如何使用自定义文本覆盖它会很好。

2 个答案:

答案 0 :(得分:2)

根据ionicons compontent documentation,您可以简单地覆盖aria标签:

<ion-icon name="checkmark-circle" ariaLabel="Completed"></ion-icon>

由于您在听起来像是任务的对象旁边显示一个对勾,因此我假设该图标实际上承载着重要信息:任务已完成。因此,您不应向屏幕阅读器用户隐藏该信息。

答案 1 :(得分:1)

在这个例子中,我想出了在使用离子图标代码时如何抑制图标的名称。只需添加aria-hidden =“true”

<button ion-button icon-right>
    Finish my postcard 
    <ion-icon name="checkmark-circle" aria-hidden="true"></ion-icon>
</button>

仍然试图找出如何为标签抑制它或覆盖标签。