【问题标题】:JAWS accessiblity software with .Net带有 .Net 的 JAWS 可访问性软件
【发布时间】:2016-02-11 17:41:45
【问题描述】:

我在运行 .net 4.5 的桌面应用程序上有一个 XAML 表单,它根据所选的组合框动态更改窗口上显示的表单。

我的问题是 JAWS 可访问性软件错误地读取了我的组合框名称。它不是读取字段的正确标签,而是读取隐藏标签。

是否存在有助于屏幕阅读器的 .Net 可访问性类,或者是否存在类似于 "aria-hidden" 的 XAML .Net 属性?它隐藏了屏幕阅读器的字段,我可以动态地做到这一点。

【问题讨论】:

  • 是否已经在父级上设置了AutomationProperties.Name
  • 我们根本没有设置 AutomationProperties.Name。
  • AutomationProperties.Name 与可访问性有何关系?
  • 从这里开始,如果我没记错的话,JAWS 几年前就采用了 UI 自动化,因此它应该成为对象和任何子对象的默认标识描述符。你可以浏览一下链接。
  • 你会看到布罗汉姆。尽管对于您的特定问题,您可能正在寻找 AutomationProperties.LabeledBy 而不是 ~.Name

标签: c# .net wpf xaml jaws-screen-reader


【解决方案1】:

因此,正如我们在 cmets 中讨论的那样,JAWS 几年前就采用了完整的 UI 自动化支持,这为开发人员提供了多种快速/简单的方法来解决一些可访问性障碍。

对于你的例子来说,AutomationProperties 告诉读者它真正关心的是什么。与您可能熟悉的 HTML 世界中的 aria 类似的一种即席。

无论如何,AutomationProperties.LabeledBy(或在其他情况下AutomationProperties.Name)为您提供了一种快速的方法来定义读者唯一尊重的字符串上下文来定义一个对象或一个带有仅适用于该对象的描述的部分,或将该对象/面板和它的孩子作为读者所关注的事实来源。

希望这会有所帮助,我的意思是谁不喜欢成为英雄?呵呵,干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    相关资源
    最近更新 更多