启用屏幕 reader 不读取 class 名称,仅读取 C# UI 自动化名称

Enable screen reader to not read class name, only read C# UI automation name

我目前正在使用 AutomationProperty 研究可访问性选项,提供的示例之一是:

单选按钮内容="Canada" AutomationProperties.Name="Canada goose"

但是,当使用屏幕reader时,它读出"canada goose radio button",有没有办法让它只读出"canada goose",并省略"radio button",而仍在使用单选按钮控件。

特别是关于 C# UI 自动化,我不确定它在技术上是否可行,但如果我将它与 html5 联系起来,那么是的,这是可能的,但非常不鼓励。

在 html 中,我可以 <input type=radio role=presentation> 但这会违反 aria 使用的第二条规则 - https://www.w3.org/TR/2013/WD-aria-in-html-20131003/#second-rule-of-aria-use。它是有效的 html 并且会像您描述的那样执行。它只会读取标签,但不会说它是收音机。

当然,如果这样做,辅助技术用户将不知道这是一个单选按钮,也无法与之交互,因此单选按钮将毫无用处。