第一章 連結
連結
說明
連結可以說是網頁當中最常見的元素,透過連結,我們可以連到各個地方去。
操作
- 使用方向鍵或 tab 鍵讓焦點在連結上面時,可使用空白鍵或 enter
鍵點擊該連結。
- 物件瀏覽則使用 NVDA + 小鍵盤 enter 鍵進行點擊。
- 利用 NVDA 的單鍵瀏覽:連結是 k 可直接跳至連結上。
態樣
- 需要有連結說明文字(link
text)來說明該連結之作用,說明文字必須有意義且易理解。
- 需使用 title
屬性補充連結說明,例如「另開新視窗」之設計(target="_blank")需提醒使用者即將離開原網站。
- 讓導讀軟體可朗讀「連結」屬性,點顯器會顯示「lnk」縮寫。
- 需能使用鍵盤瀏覽與點擊。
- 禁止在連結上使用按鍵觸發功能 (onkeypress, onkeydown, onkeyup,
onblur, onfocus), 如此會讓導讀軟體瀏覽時不小心觸發其他功能。
原碼範例
編號 1 原始語法
原碼
<a></a>
補充
NVDA 視為該標籤為不完整之連結,故完全忽略。
編號 2 原始 + 連結說明
原碼
<a> google 首頁 </a>
補充
NVDA 將他當成純文字來顯示,因為沒有網址屬性 href。
編號 3 基本
原碼
<a href="http://www.google.com.tw"> google 首頁 </a>
補充
NVDA 正常顯示連結屬性與連結文字,並可順利點擊。
編號 4 利用 js
產生連結之網址
原碼
<a onClick="link()"> google 首頁 </a>
<script>
function link()
{
location.href = "http://www.google.com.tw";
//location = "http://www.google.com.tw";
//window.location = "http://www.google.com.tw";
//window.location.assign("http://www.google.com.tw");
//window.location.replace("http://www.google.com.tw");
}
</script>
補充
使用 NVDA 搭配 tab 鍵瀏覽時將會跳過該連結,需加入 href="#"
屬性讓連結標籤擁有完整語法。
編號 5 基本 + title 屬性
原碼
<a href="http://www.google.com.tw" target="_blank" title="另開新視窗"> google 首頁 </a>
補充
- 若將滑鼠移至該連結,則連結下方會顯示 title 屬性內之文字。
- 當 NVDA 使用 NVDA + 小鍵盤數字 5、NVDA + tab 鍵或 tab 鍵皆無法朗讀
title 屬性內之文字時,請核取以下項目:
- NVDA 功能表 -> 偏好 -> 設定 -> 物件呈現 ->
讀出物件說明
- NVDA 在 ie 瀏覽器下,使用 tab 鍵瀏覽時無法直接朗讀 title
屬性內之文字,只能利用 NVDA + 九宮格數字 5 或 nvda + tab
鍵朗讀物件或焦點得知。
- 亦可直接將「另開新視窗」之提示放於連結說明,但通常因版面考量,多半會放於
title 屬性內。
- 使用 NVDA 搭配方向鍵無法朗讀 title 屬性內之文字。
- 使用點顯器,必須將 NVDA 切換為焦點模式才能看到 title
屬性內之文字。
- ios 系統對於語系設定較敏感,若設定成非中文時就無法朗讀 title
屬性為中文之文字。
編號 6 將 title
屬性改成 aria-label 屬性
原碼
<a href="http://www.google.com.tw" aria-label="另開新視窗"> google 首頁 </a>
補充
- 若設計者連滑鼠移到連結都不想顯示「另開新視窗」之提示文字,可以這樣做,但不符合
NCC 無障礙規範(連結要加 title)。
- aria-label 屬性的優先權通常最高且有排他性,當 NVDA
發現該屬性將直接朗讀且忽略原有連結之說明文字。
- aria-label 的有效性很強,連使用方向鍵都有作用。
編號 7
將連結說明也加入 aria-label 屬性中
原碼
<a href="http://www.google.com.tw" aria-label="google 首頁 (另開新視窗)"> google 首頁 </a>
補充
雖然 NVDA 可以正確朗讀並操作,但此設計方式不符合 NCC
無障礙規範(連結要加title)。
編號
8
加太多類似屬性可能導致重複朗讀相同訊息的困擾或互相衝突而不發生作用
原碼
<a href="http://www.google.com.tw" title="另開新視窗" aria-label="google 首頁 (另開新視窗)"> google 首頁 </a>
補充
- 該案例中,NVDA 會先朗讀 aria-label 再朗讀 title
造成資訊重複的反效果。
- 應了解每個屬性之特性,並實際以導讀軟體測試才能得到最佳設計方式。
編號 9 使用 role
屬性將按鈕改為連結
原碼
<button title="另開新視窗" role="link">原來為按鈕</button>
補充
- NVDA 將以 role 角色為主,並且完全擁有該角色之特性。
- title 屬性在按鈕原本就有作用。
編號 10 沒有連結說明的連結
原碼
<a href="http://www.google.com.tw" title="另開新視窗" aria-label="google 首頁 (另開新視窗)"></a>
補充
- 沒有連結說明的純連結,將被 NVDA
視為不完整連結而忽略,此時不管加什麼補充屬性都沒作用,但 android +
chrome 可正確朗讀。
- 但圖片連結,有圖片替代文字例外。
編號 11
定位點快速鍵之設計也是連結的一種
原碼
<a accesskey="C" href="#" title="中央區塊">:::</a>
補充
- NCC 於 2017
年底決議,不強制顯示三個冒號,且若網頁本身有清楚層級架構與定位方式,則不強制使用
accesskey 設計。
- 定位點雖為連結,但不可讓其連至任何網頁。
編號 12 錨點設計
原碼
<div id="go">我是 go</div>
<div><a href="#go"> 回到 go </a></div>
補充
- 通常用於網頁下方「回頂端」或網頁上方「跳至主要內容」功能。
- 使用空白鍵或 enter 鍵點擊「回到 go」連結,會將焦點拉至「我是
go」,但並非每個標籤都能當錨點,例如 span 就無效。
編號 13 title
屬性內容與連結說明相同
原碼
<a href="http://www.google.com.tw" title="google 首頁"> google 首頁 </a>
補充
- 當 title 屬性內之文字與連結本身之說明文字完全相同時,NVDA 搭配
firefox 或 chrome 僅會朗讀一次訊息,舊版 chrome
則會重複朗讀,大家也可以測試看看手機的瀏覽器實做狀況。
- 理論上利用 title
屬性補充連結目的應與連結說明不同才是較佳之設計,本例旨在測試重複朗讀情形而已。
規範
- GN1240401E
針對脈絡中的鏈結,提供描述鏈結目的的鏈結文字
- 連結沒有提示文字。
- 只有網址之連結。
- 連結有無意義之英數字。
- 連結與 title 提示文字不統一。
- 需要中文提示文字。
- HM1240402E
合併相同資源的毗鄰圖片與文字鏈結
- HM1240404E
針對脈絡中的鏈結,用標題屬性來補充鏈結文字
- 下載檔案需有主題、檔名、格式等資訊。
- 連結 title 屬性內容有問題。
- 連結只有「more」或「更多」,提示不完整
- 另開新視窗而未告知另開新視窗
- 非另開新視窗而告知另開新視窗
- GN3320501E
在使用者請求的情況下才開出新視窗,並在鏈結文字中指出此行為
- 另開新視窗的連結文字就要有另開新視窗且使用者要求才可以開。
- GN1210100E
提供由鍵盤觸發的事件處理程式
- GN1210101E
確認所有功能都能透過鍵盤介面來操作
- GN3210300E
僅提供由鍵盤觸發的事件處理程式
實測
- 氣象局
連結說明為「看更多」
- 中央區塊按 tab 鍵到確定按鈕之後的連結。
- 不通過,需要更完整的目的提示文字
- 華碩官方支援
更多連結設計
- 位在第 3 級標題新聞之下。
- 不通過,需要更完整的目的提示文字
- 渣打個人網銀
沒有連結說明的連結
- 位在常見問題連結之前。
- 不通過,連結需要有目的提示文字
- NVDA台灣
手動展開與自動收合選單
- 內政部空中勤務總隊
選單只能用滑鼠展開
- 從「關於空勤」開始的選單。
- 不通過,使用鍵盤也要能夠展開選單,而不是直接進入該選項,滑鼠與鍵盤的操作必須一致
- 雲林縣斗南鎮公所
使用 tab 鍵或方向鍵會自動彈出次選單
- 從「認識斗南」開始的選單。
- 通過,鍵盤與滑鼠都是在取得焦點後自動展開次選單
- 自由時報
自由廣場會議中心連結未標明另開新視窗
- 從最底部往前按幾下 tab 鍵。
- 不通過,另開新視窗之設計需有提示文字告知使用者
- Get add-ons to enhance
NVDA 連到其他網站需不需要另開新視窗
- 第 3 級標題。
- 通過,有另開新視窗才要確認,並不強迫使用另開新視窗功能
- 臺北榮民總醫院
連結的提示文字只有 a、a+、a- 而已
- 第 5 級標題交通路線按 tab 鍵。
- 不通過,連結需要有目的提示文字,或用 title 屬性來補充
- momo購物網
結帳連結無法使用 tab 鍵到達
- 從最上方按 tab 鍵到購物車連結,下一個連結就是結帳。
- 不通過,連結需要讓方向鍵與 tab 鍵皆能駐點