文/王建立
NVDA 提供了一種物件導航的功能,它並非模擬鼠標移動,若能清楚其運作模式,將有助於操作 NVDA 的效能,以下是編譯自 NVDA 網站
http://www.nvda-project.org/wiki/ObjectNavigation
什麼是物件?
物件為一種單一獨立的訊息元件。在作業系統內,物件通常會被組織成各種樹狀架構,來執行類似的功能(如檔案總管或我的電腦)。
以下為一些常見的物件:
按鈕
功能表中的選單項目及桌面上的圖示
部分文字如在 word、編輯區、對話方塊或網站等之內
表單(表單內的可編輯欄位或表格)
標題列、功能表列、工作列
通知區域或稱系統托盤
桌面
某些物件如功能表列,是由其它許多不同的物件組合而成。就術語而言,功能表列可視為母物件,而其所包含的物件則被視為它的子物件。而在同一層級樹狀架構內的物件,彼此之間則被視為上一個或下一個物件。
什麼是物件導航?
物件導航是 NVDA 內的一個主要導航方式,它允許使用者以不改變目前系統焦點位置的前提下,以另一種游標在物件之間瀏覽直到他想選擇將系統焦點游標移過去。使用者可在母物件與子物件的樹狀架構之不同層級間移動,甚至是下一個物件或上一個物件。
如果你還不熟悉物件導航的概念,而比較習慣傳統的平面導航,以下所舉的例子將對你的了解有所幫助。
實際範例
在此我們以手機的硬體本身為例來說明物件導航。
首先我們定義組成手機的幾個硬體元件,包括:
機身外殼
鍵盤
數字鍵
功能鍵
相機鏡頭
螢幕
在此範例中,只有以上幾個元件會被提及,我們將這些元件視為物件。
幾個物件可組成另一個新的物件,形成物件之間的樹狀架構。例如,外殼會被上述所有的物件所組成,成為最外層的物件,也就是根物件。任何在根物件底下的其它物件,會被視為根物件的子物件。在此範例中,此根物件(外殼)的底下會有三個子物件,分別為:螢幕、相機鏡頭、鍵盤。前兩個子物件(即螢幕、相機)的再底下已經沒有其它子物件了。然而鍵盤底下還可再細分為兩個子物件,分別為功能鍵及數字鍵;此時我們可稱鍵盤為其子物件(功能鍵及數字鍵)的母物件。
以下我們以數字編號來表達此範例的樹狀架構。
1. 機身外殼(根物件)
1.1 螢幕
1.2相機鏡頭
1.3 鍵盤
1.3.1 功能鍵
1.3.2 數字鍵
在作業系統中,由物件組成的樹狀架構也可視為與前述類似的構成方式。
NVDA 使用的物件導航概述
當您使用NVDA物件導航時,系統焦點並不會自您現在所作的按鍵操控動作而移開原停留的位置。當您想於一個開啟的文本中尋找某項訊息來執行另一個應用程序,卻不想將目前物件時,物件導航會是一項很有用的工具。
您可使用 NVDA+數字鍵盤enter 來點選啟動您所要執行的物件,即使這時您的系統焦點位於別處。
NVDA物件導航功能鍵列表
NVDA+numpad 5: 讀出目前的物件
NVDA+numpad 8: 讀出母物件
NVDA+numpad 2: 讀出第一個子物件
NVDA+numpad 4: 讀出上一個物件
NVDA+numpad 6: 讀出下一個物件
NVDA+數字鍵盤enter: 啟動目前的物件
NVDA+數字鍵盤減號: 移至焦點
物件導航有什麼缺點?
只有當物件有經過妥善的設計時,物件導航才能正確地讀出物件的名稱及狀態。某些選單的項目名稱無法被物件導航所接受,因程式的設計者在設計當初沒有給這些物件適當的名稱。
為什麼NVDA要使用物件導航?
因為這是目前能讓NVDA接受作業系統中之訊息的最有效率之方法。此外物件導航也是用於 Linux 螢幕報讀軟體的導航首選,並也在 Virgo4 中所使用,後者為早期用於視窗作業系統的一種螢幕報讀軟體。