第十五天:定義快速鍵
HTML 有一個鮮為人知的功能,就是在鏈結及表單裡還可以使用 accesskey
屬性,讓網頁設計師定義常用鏈結或表單區域的快速鍵。在 Windows 上,妳可以按下 ALT + 某個便捷鍵;在 Macintosh 上則是按下 Control + 某個便捷鍵。如果便捷鍵是被定義在某個鏈結上的話,妳的瀏覽器就會跟著連結出去;如果是被定義在表單區域的話,妳的瀏覽器就會把焦點一到那個區域裡。 Internet Explorer 從 4.0 版開始支援便捷鍵, Netscape 則是從 6.0 版開始支援。比較舊的瀏覽器會單純地忽略掉這個屬性,所以不會造成甚麼可怕的影響。
雖然那個按鍵對應到甚麼功能並沒有一個標準,但是這裡還是列出了一些常用的快速鍵:
- 便捷鍵 1
- 主頁面
- 便捷鍵 2
- 跳到主要內容(也就是導覽列跳過鏈結)
- 便捷鍵 9
- 回應
誰因此獲益?
- Jackie 從中獲益了。因為當 JAWS 讀到定義有
accesskey
的鏈結時,也會把這個便捷鍵唸出來。舉例來說,<a href="/" accesskey="1">Home pageD</a>
這個鏈結會被 JAWS 讀成「 link: Home page, ALT + 1 」。所以 Jackie 可以按下 ALT+1 來把瀏覽器焦點移到那個鏈結,然後再按下 ENTER 就可以從那個鏈結連出去。 - Bill 從中獲益了。雖然 Bill 受到中風的影響,沒辦法有效率地使用滑鼠,但是他還可以靠鍵盤導覽以及快速鍵的幫忙來在頁面中移動。便捷鍵可以幫他非常有效率地跳到常用的鏈結。 Bill 能夠按下 ALT+1 ,接著 Mozilla 就會馬上連到定義有
accesskey="1"
的鏈結去。(註:既然 Mozilla 不會把便捷鍵唸出來,那麼 Bill 要怎麼發現有這個便捷鍵可以用就會變成一個重要的議題了。我們將在後面討論到這個訣竅。)
怎麼做:主頁鏈結
Movable Type: 預設的模版並沒有連回主頁的鏈結,所以妳應該在站台名稱的地方加上鏈結,並且賦予一個
accesskey
。在妳的模版裡搜尋<$MTBlogName$>
,然後改成這樣:<a href="<$MTBlogURL$>" style="color:black; text-decoration:none" accesskey="1"><$MTBlogName$></a>
Radio: 在妳的模版中搜尋
{siteName}
。這很有可能已經是某個鏈結了,像這樣:<a href="<%radio.macros.weblogUrl ()%>" style="color:black; text-decoration:none"><%siteName%></a>
所以妳祇要在這個鏈結裡加上
accesskey
屬性就行了。像這樣:<a href="<%radio.macros.weblogUrl ()%>" style="color:black; text-decoration:none" accesskey="1"><%siteName%></a>
Blogger: 在妳的模版裡搜尋
<$BlogTitle$>
。如果這個標籤已經被<a>
標籤關上了的話,就在<a>
標籤裡加上accesskey="1"
屬性,就跟前面的 Radio 一樣。如果妳的<$BlogTitle$>
標籤還沒有被<a>
標籤關上的話,就用像這樣的標籤把它關上(別忘記要插入妳自己的主頁網址):<a href="http://妳的/主頁的/網址" style="color:black; text-decoration:none" accesskey="1"><$BlogTitle$></a>
怎麼做:跳過導覽鏈結
妳是否有提供一個跳過導覽列的鏈結呢?如果有的話,就指定 accesskey="2"
給它吧。
<a class="skiplink" href="#startcontent" accesskey="2">跳過導覽列</a>
怎麼做:回饋鏈結
妳是否有提供連到回饋表單或妳的電子郵件住指的鏈結呢?如果有的話,就指定 accesskey="9"
給它吧。
<a href="mailto:me@mydomain.com" accesskey="9">寄信給我</a>
注意: Radio 網誌通常會有個連到回饋表單的鏈結(小信封圖示),但是這個鏈結是由巨集所產生的,所以妳沒辦法在上面加上 accesskey
。
請確定妳在網站上的每一頁都加上了 accesskey
;這表示妳得修改所有相關的模版。
延伸閱讀
- Jukka Korpela: Improving accessibility with
accesskey
in HTML forms and links. Explains why all my suggestedaccesskey
codes are numbers, instead of letters. - Paul Bohman: Access keys, IE6. 這是 Web Accessibility Forum Mailing List 上關於
accesskey
的部分討論。