簡體   English   中英

AccessibilityInsights 未檢測到基於 Java Swing 的 windows 桌面應用程序

[英]Java Swing based windows desktop application is not detected by AccessibilityInsights

We have developed a Windows based Desktop application using Java Swing and build a exe of it using javapackager available in Java 8.

現在我們正在嘗試使用空手道機器人對其進行自動化測試,但機器人無法檢測應用程序 GUI 上的字段。 為了進一步挖掘,我們安裝了空手道社區建議的 AccessibilityInsights,以弄清楚如何訪問 GUI 上的元素,但似乎我們的應用程序沒有在其中被刪除。 請參閱隨附的屏幕截圖。

在此處輸入圖像描述

有人可以幫助我們如何修復應用程序嗎?

Java Accessibility Bridge 會在這里提供幫助嗎? As per documentation https://docs.oracle.com/en/java/javase/11/access/java-accessibility-guide.pdf , Application needs to implement Java Accessibility APIs when it needs to be available to Windows Assistive technologies.

Edit 1: As per https://docs.oracle.com/javase/tutorial/uiswing/misc/access.html , "Because support for the Accessibility API is built into the Swing components, your Swing program will probably work just fine with輔助技術,即使你沒有做任何特別的事情。”

阿什——

多年來,基於 Windows 的輔助技術已經多次迭代。 當前的迭代自 2005 年以來就存在,稱為UI 自動化 這是操作系統提供的工具(如放大鏡和講述人)所需的技術。 這也是 Accessibility Insights 對 Windows 所需的技術。 根據您的描述,它也可能是空手道機器人所需的技術。

Java 輔助功能橋使用舊版本的輔助技術,操作系統提供的輔助功能工具不再識別該技術。 一些第三方輔助工具(例如 JAWS 和 NVDA)可以識別它,但操作系統提供的輔助工具不能識別它。 據我所知,Oracle 沒有計划在未來支持 UI 自動化。 當他們的文檔說您的應用程序“運行良好”時,他們指的是依賴這些第三方工具的用戶。

Windows 的 Accessibility Insights 有意識地決定支持 UI 自動化,因為支持 2 個平台會使事情變得更加困難。 我們選擇了帶有 UI 自動化的 go,因為它是唯一的技術:

  • 操作系統積極支持,定期添加和記錄新功能。
  • 由本機 Windows 控件和最積極支持的語言框架支持。
  • 我們期望新的輔助技術工具首先實施的技術。

我很抱歉成為這方面壞消息的承擔者。

DaveTryon(無障礙洞察團隊)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM