2011-11-17 37 views
2

它應該很簡單,但顯然沒有人知道:如果我添加一個Label控件到我的基於Windows窗體的對話框,並且我希望這個標籤被JAWS讀取,我將如何實現這一點?如何讓JAWS閱讀簡單的標籤?

它可以正常使用AccessibleDescription用於按鈕等其他控件,但它不適用於標籤。甚至MS does not quite seem to know。我也問FreedomScientific,但他們只是給了我某種默認的回答像

  • 檢查www.microsoft.com/enable
  • 閱讀JAWS幫助文件
  • 。利用JAWS腳本(我不不想直接控制JAWS雖然)誰對應用程序的定製

所有不是非常有幫助提供服務的公司的

  • 地址。

  • +0

    也許有用:[WinForms:有沒有關聯標籤和文本框的概念?](http://stackoverflow.com/questions/4730807/winforms-is-there-a-concept-of-associating-a -label-a-textbox) – steveax

    +0

    不,我不認爲這有幫助。 – floele

    +0

    你好@floele。我面臨着類似的問題。如果能幫助我,我將非常感激。 –

    回答

    0

    JAWS不一定需要使用開發人員術語的文檔:如果您要做的是HTML,請查看Navigation Quick Keys for HTML or the JAWS Keystroke for the type of element you are using

    嘗試使用FORM或H或HEADING或INSERT + F5查看錶單字段列表是否出現在列表中。對於使用JAWS的最終用戶而言,沒有什麼特定的TITLE作爲導航輔助工具(儘管逆向工程是如何通過JAWS「渲染」它是一個簡單的試驗和錯誤)。

    +0

    我正在談論Windows Forms/.NET。與HTML無關。 – floele

    1

    我的Windows窗體應用程序出現此問題。

    看來JAWS不會自動讀取靜態屏幕文本。

    在鍵盤上按下「INSERT」+「B」觸發「讀取當前窗口」JAWS動作 - 然後JAWS讀取Label.AccessibleDescription屬性(以及其他屏幕詳細信息)。

    因此,您需要設置輔助功能屬性,並且用戶必須執行JAWS按鍵才能讀取標籤,只要我可以知道。

    0

    我使用AccessibleName屬性並使用它可以在該屬性中讀取的名稱設置TextBox,Button和ComboBox。這似乎適用於大多數事情。我無法讀取標籤。如果標籤顯示動態數據,我建議將標籤的動態部分(整體或部分)更改爲可編輯或不可編輯的文本框,並設置其可訪問性名稱。當它被標記或獲得焦點時,它應該準備好AccessibleName,然後是值。所以tbAmoundOwed應該聽起來像「金額欠文本框125.78美元」(或類似的東西取決於使用大白鯊或其他讀者。)****這仍然是一項工作正在進行中。我還沒有找到如何閱讀列表視圖中的列標題。如果將焦點設置爲ListView中的某一行,則通常還需要將焦點也設置爲ListView。

    0

    默認情況下,如果JAWS獨自躺在整個表單上,它永遠不會讀取標籤的文本值。但總的來說,這不是一種常見的情況。因此,如果您在複選框,選項按鈕,文本框等(以及標籤)的表單上還有其他控件,可以從屬性窗口設置tabStop屬性,那麼此解決方案將起作用。在窗體上添加一個組框,並將標籤和其他可控制焦點的控件放置在組框中。將可聚焦控件的製表位屬性設置爲True。現在,當應用程序啓動並且焦點到達組框的時候,因爲tabStop屬性設置爲true的tab可停止控件,JAWS將讀取標籤的文本。

    在JAWS中還有一個虛擬窗口的概念,它需要一些腳本,但它很少使用,它不是最終用戶可以輕鬆使用的事實和標準方法。

    編輯1:其他選項是使用文本框而不是標籤。文本框是可對焦的控件。現在顯而易見的問題是,如何將文本框看起來像一個標籤。設置以下兩個屬性來實現這一目標:

    1. 只讀=真
    2. 邊框樣式=無

    編輯2:您也可以把刀尖。可以啓用JAWS中的設置來閱讀控件的工具提示。因此,如果有一對代表某個字段的標籤和文本框控件,則可以將工具提示添加到可由JAWS讀取的文本框中。