簡體   English   中英

如何讓 NVDA 讀取 Swing/GUI 元素

[英]How to let NVDA read Swing / GUI elements

我正在使用 Eclipse ide 進行 Java 開發。 當我執行以下代碼時,NVDA 只讀取“這是一個框架”。 它不讀取按鈕。

導入 javax.swing。 ; 導入 javax.accessibility。 ;

public class MyButton {
    public static void main(String [] args) {
        JFrame f = new JFrame ("This is a frame");
JButton b = new JButton ("This one is a button");
    b.setBounds(50,100,95,30);
//f.add(b);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
b.setToolTipText("This tooltip makes the button accessible");;
}
}

**我已通過輕松訪問中心啟用了 AccessBridge。 我在 Windows 10 上使用 Eclipse 和 NVDA。

通常,它應該可以工作。 您可以嘗試以下操作:

  • 確保接入網橋已啟用
  • 安裝並啟用訪問橋后,重新啟動 NVDA 和您的應用程序,甚至重新啟動
  • 如果您使用的是 64 位系統,請同時嘗試 32 位和 64 位 JVM。 兩者中只有一個可能有效。
  • 確保焦點確實在按鈕上,不要停留在框架上。 焦點可能處於半死狀態,您無法閱讀任何內容並且選項卡什么也不做。
  • Java 8:檢查jre\\lib\\accessibility.properties包含類似assistive_technologies=com.sun.java.accessibility.AccessBridge 我不知道 Java 11+ 是否仍然存在類似的東西。

請注意,Swing 和 access bridge 已經過時且已被棄用。 對於較新的項目,您應該使用另一個 GUI 庫。 要制作可訪問的 GUI,您可以例如使用 SWT。

由於一長串問題,我最終切換到 Eclipse for Java EE。 我也大約在同一時間更新了我的 NVDA。 根據更新的 What's New 部分,他們對 Java AccessBridge 做了一些改進。 我不確定是 NVDA 更新還是切換到 Java EE,但一切正常。

暫無
暫無

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

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