覆盖 ionic3 离子图标的 aria-label

Override aria-label of ionic3 ion-icon

我正在使用 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 大声读出 "Finish my postcard checkmark circle"。

同样适用于选项卡:

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

大声朗读为"Images outline postcards"

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

在这种情况下,我想出了如何在使用 ion-icon 代码时隐藏图标的名称。只需添加 aria-hidden="true"

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

仍在尝试找出如何为制表符抑制它或覆盖标签。

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

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

由于您在听起来像是任务的内容旁边显示了复选标记,我假设该图标实际上包含重要信息:任务已完成。因此,您不应该向屏幕 reader 用户隐藏该信息。