微软团队 |无障碍洞察 |双显示器

时间:2021-04-21 05:25:27

标签: ui-automation microsoft-teams dpi multiple-monitors accessibility-insights

目标:MS Teams 在双显示器上的可访问性行为,显示器设置为不同比例,例如 100% 和 125%,分辨率为 1920*1080。我使用的工具是 Accessibility Insight。

问题:当我在监视器中以 100% 比例启动 Teams 应用程序时,Accessibility Insight 无法正确定位 MS Teams 的元素,这也是我的主要监视器,并将其移动到监视器125% 比例。我看到已识别元素的位置距顶部约 280 度。我还看到 Left 似乎偏离了大约 1.25 倍,我认为这可能是由于缩放。 如果我在单个显示器上以 125%(或任何其他比例)工作,则 Accessibility Insight 在 MS Teams 上运行良好。

我阅读/理解的内容:我知道 MS Teams 是一个 Per Monitor DPI Aware 应用程序,Accessibility Insight 也是如此。如果我启用 GDI 缩放,阅读 Improve High DPI Experience ,我确实看到 Accessibility Insight 能够按它应该的方式定位元素。此外,Accessibility Insight 在“显示设置”本身(SystemSettings.exe 进程)上运行良好,这也是 Per Monitor DPI Aware。这让我认为 MS Teams 中的 Per Monitor Awareness 没有正确实现。

问题

  1. 我的假设是否正确,即 MS Teams 在双显示器/多显示器上无法按预期工作,即它在具有不同比例因子的双显示器中正确放大或缩小?
  2. 是否可以在不更改 MS Teams 的 GDI 缩放/覆盖高 DPI 缩放的情况下让 Accessibility Insight 在 MS Teams 上正常工作?
  3. 在 Electron 应用程序上运行 Accessibility Insight 本身是否存在挑战?我在 Slack 上发现了类似的问题。

[编辑] 添加了使用 Windows 自动化 API 的结果

enter image description here

Teams 运行的监视器为 125% 和 1920x1080。虽然我的演示应用程序被标记为 Per Monitor DPI Aware 并在 Monitor 100%、1920x1080 上运行。两台显示器的尺寸均为 14 英寸。结果显示 Root [Teams' Main Window] 元素的左侧和顶部位置以及“搜索”框左侧和顶部的位置,位于 Teams App 标题栏顶部,由 Automation API 检索。根据 Microsoft 的文档,自动化 API 检索物理坐标。观察

  1. 鼠标的物理位置显示 X:2455 和 Y:10
  2. 来自自动化 API 的元素搜索框的左侧和顶部位置分别为 2935 和 280。
  3. 2935 的值,当按比例缩小 1.25 时为 2348,当我在系统 DPI Aware 或 DPI Unaware 模式下运行我的应用程序时,它匹配搜索框中鼠标的物理位置。因此,每监视器模式下的左坐标是系统感知或不感知模式下左坐标的放大版本。
  4. 我无法得出与最高值 280 的任何相关性

1 个答案:

答案 0 :(得分:2)

我们在 Accessibility Insights 中对此进行了调查,这似乎是 Teams 的问题。我们能够用放大镜验证这一点;我们将其配置为跟踪键盘焦点,发现它在识别元素位置方面也不一致(表明存在 Teams 问题)。例如,有些控件在被跟踪时是正确的,而其他控件则不是。

注意:即使没有设置双显示器。