2019年5月21日

NVDA瀏覽網頁的關鍵密碼

對一般人來說上網瀏覽網頁資訊是再普通不過的事,透過視覺並移動點擊滑鼠就行,但對無法以視覺配合滑鼠操作而需使用NVDA配合鍵盤上網的視障者來說事情可沒這麼簡單,一來沒有視覺的情況下網頁上內容的編排、位置都無法掌握,也不知要如何閱讀網頁內容,二來網頁上可以利用滑鼠點選的內容不清楚要如何以鍵盤操作執行,對剛接觸NVDA上網的使用者造成極大的壓力。


如何以NVDA閱讀網頁內容是最基本的科目,只要學習過後應可很快上手,但如何以NVDA與網頁上可操作的內容互動卻是個難題,因為以NVDA瀏覽網頁會有所謂瀏覽模式與焦點模式之分,不同模式下的操作行為個不相同,經常讓人弄不清楚就竟是要以瀏覽模式還是焦點模式進行,可能會被搞得頭昏腦脹而進入了當機模式。一般人瀏覽網頁並沒有區分什麼模式,為何以NVDA瀏覽網頁卻要有這樣的分別呢?

傳統上瀏覽器呈現的網頁內容即使不使用NVDA也能以鍵盤操作的方式將焦點在某些特定內容上移動,包括連結、表單元素如按鈕、核取方塊、下拉選單、選擇鈕(選項按鈕)、文字框,但是網頁上的文字、圖片、表格或一些非以HTML語法撰寫而成的元素就無法使用鍵盤操作的方式將焦點移動到這些元素,如果只利用移動焦點的方式來瀏覽網頁,可以想見有些內容一定讀不到或無法操作。
為了解決這個問題,NVDA提供了瀏覽模式與焦點模式來對應不同的操作需求,在焦點模式下,此時就如同沒開啟NVDA一樣,只能按Tab鍵在連結與表單元素間移動,按Enter/空格鍵操作元素,在瀏覽模式下,幾乎所有的網頁元素皆可被讀取或操作。
在焦點模式下,你可以在這個元素上進行動作,例如在文字框輸入文字、對核取方塊進行勾選或取消勾選,但是這個元素以外的內容皆無法瀏覽閱讀,而在瀏覽模式下則可以瀏覽閱讀其他的網頁內容,甚至也可以對表單元素進行操作。
簡單來說,焦點模式下的行為是受到侷限的,而瀏覽模式下的行為不受限制,既然如此,那永遠都是瀏覽模式不就好了,為什麼還要有個半調子的焦點模式呢?

奇妙之處就在這裡,由於網頁內容的構成方式有很多變化,表面上看來一樣的東西其構成方式可能不同,例如以鍵盤操作表單元素在焦點模式下是最直覺方便的,但常造成無法以鍵盤操作執行動作的表單元素或選單項目往往都以javascript語法撰寫,此類元素不像HTML語法撰寫的表單元素一樣可取得鍵盤移動焦點,在焦點模式下自然就無法按Tab鍵移動到這些表單元素或選單項目上進行操作,而在瀏覽模式下只要移動到該元素且NVDA有支援就能順利操作。

再者現今流行的網頁應用程式設計,例如網頁中出現的對話選項,若呈現方式比照傳統Windows程式對話方塊的方式,那麼在焦點模式下按Tab鍵在各選項間移動就能充份理解並可操作選項,若是以網頁內容編排方式呈現,那麼在焦點模式下按Tab鍵就無法充份掌握選項資訊,此時以瀏覽模式對選項內容進行瀏覽並操作才是理想的作法。

不過瀏覽模式下可四處移動的特性也會帶來瀏覽操作的問題,例如前述提到的對話選項,雖然視覺上可能看得出這個對話選項是在一個範洄內,但各選項元素仍然是網頁內容的一部份,所以瀏覽時就會產生現在就竟是在對話選項內還是對話選項以外內容的疑問,這種無邊際瀏覽往往導致識別困難反而出現了訒知混肴的問題。

瀏覽模式會遇到的另一個問題是為何有些網頁內容即使在瀏覽模式下也無法閱讀或操作呢?這原因是多面向的,包括網頁技術的發展、瀏覽器的支援、輔助工具如NVDA的支援、網頁開發工具的支援、開發者的觀念與技術能力等。
縮小範圍來看,透過一些無障礙網頁設計的方式可有效解決使用者以鍵盤配合輔具如NVDA瀏覽操作時會遭遇到的問題,像Google的相關雲端服務網頁版即有提供相當不錯的無障礙設計,不過畢竟網頁內容的呈現大多數還是以一般人的使用考量為主,當以NVDA瀏覽網頁時遇到無法瀏覽操作的內容也就不足為奇了。

NVDA的瀏覽模式與焦點模式切換時機原則上就是閱讀資訊時使用瀏覽模式,表單或選單操作時視情況選擇焦點模式,理想情況是使用者無須思考辨別的直覺操作,但這需要配合良好的無障礙網頁設計,現實情況則為需要見招拆招適時在兩種模式間做切換,倘若你能優遊於這兩種模式,恭喜你已經升級為……嗯,姑且稱之為達人模式好了。

延伸閱讀