無障礙網頁檢測培訓課程

第十一章 頁框頁籤與表單

頁框

說明

頁框用來內嵌額外資訊到站內,多數內嵌的資訊是他站內容。

之前我們看過使用「另開新視窗」的連結連至他站,頁嵌比較像是把他站的部分資訊直接放到我的頁面上。

實務上較常看到的嵌入資訊,包括嵌入 youtube 影片、氣象局的天氣資訊或臉書粉專內容等。

若嵌入的是他站內容,無論修改權責或範圍皆已超過原本檢測網站之標的,除非是網站的重要組成部分,否則將不列入檢測範圍。

操作

  1. NVDA 對頁框的單鍵瀏覽為 m
  2. 離開頁框 , (按鍵位於字母 m 的右邊一個)
  3. 移至頁框的起始處 shift + ,

態樣

  1. 頁框要有標題屬性,也就是 title 屬性來描述頁框的作用
  2. 鍵盤焦點會困在頁框中無法離開,則要在進入頁框前加入可跳過頁框的連結

原碼範例

編號 1 頁框 frame
原碼
<frameset cols="50%,50%"> 
    <frame src="11-1-1.html"> 
    <frame title="我有標題屬性" src="11-1-2.html">
</frameset>
範例 1 頁框 frame
補充
  1. 整個畫面都是 frame 框架,現在已經很少這樣設計網站了
  2. 第一個 frame 沒有標題屬性,不能通過檢測
編號 2 頁框 iframe
原碼
<iframe src="11-2-1.html" title="小星星歌詞">
</iframe>
範例 2 頁框 iframe
補充
  1. 頁框內可以嵌入他站資訊,例如放入網址

規範

  1. GN1240101E 在重複內容的區塊開頭加入鏈結,連到該區塊結束之處,或用頁框來群聚重複出現的材料區塊
  2. GN1410200E 使用者介面元件應暴露名稱與角色,允許直接設定可由使用者設定的屬性,並在變更時提供通知

實測

  1. 台大課程網 數個頁框
  2. 素易購 下方區塊頁框
  3. 台中市政府 youtube頁框

討論

關於頁框嵌入臉書內容使用瀑布式開發來顯示資訊是否符合 GN1210200E 焦點被困住的條件,這是值得討論的問題。

瀑布式的開發讓使用者往下捲動資訊時能夠由新到舊的一直顯示資訊,除非使用者停止捲動或離開該區域。

我們先排除頁框中的內容是否已經超出檢測範圍這個議題,先就焦點被困住這件事來討論就好。

GN1210200E 可知,若焦點被困住時,只要有提供這些快速鍵或按鍵可以離開的方式就不算是被困住,例如 tab、shitft + tab、esc 等。

在瀑布式顯示時,很快速的往下移動到他來不及顯示舊資訊是可以離開該區塊的例如快速的一直按 tab 鍵。。

GN1240101E 可知,使用頁框來群聚重複出現內容的方式是可以被接受的。

因此我的結論會是,瀑布式開發或滾動式顯示資訊並不構成焦點被困住的要件。

我認為真正焦點被困住的狀況發生時,是無法由使用者自行排除的,以下舉三個例子:

  1. 游標遊走至中央區塊「機關消息」、「活動訊息」與「公告資訊」索引標籤處,使用tab鍵逐一順序瀏覽各項目,預使用shift+tab鍵反向瀏覽時,游標一直循環重覆遊走於「公告資訊」與「公告: 2019高雄MIZUNO國際馬拉....」之間,游標無法反向走訪至其他區塊。全網站如有相同問題請一併修正。
  2. 從網站上方依序按tab鍵進行瀏覽,游標會一直在選單中循環,無法繼續瀏覽其他區塊內容。全網站如有相同問題請一併修正。
  3. 從中央區塊定位點使用shift+tab往回進行瀏覽,游標會一直在語言功能表的「中文展開」與「中文連結」無限循環,無法繼續往回瀏覽其他區塊內容。全網站如有相同問題請一併修正。

也就是這些困住鍵盤焦點的狀態,實際上是由開發者的程式設計有問題所造成,需要由開發者修改程式才能解決焦點被困住的問題,使用者無法自行排除狀況。

而瀑布式或滾動式的顯示資訊,並不是程式設計的錯誤,而是一種顯示資訊的方式,你可以說這樣的設計對鍵盤操作不方便,但實際上鍵盤焦點並沒有被永遠的困住,極端的說法就是慢慢移動,資訊顯示完就好了,他沒有困住焦點,只是資訊很多而已。

最後,我們換個場景來思考,當一個頁面的主要內容有1000則最新消息且沒有做分頁,使用tab鍵逐一瀏覽時,你會覺得怎麼資訊那麼多,為什麼不做分頁,但你不會覺得焦點被困住或壞掉了,頂多就是覺得顯示方式設計不良而已。

所以,同樣都是顯示資訊,也都是資訊很多,我們就應該有同樣客觀的標準來看待此事。不過以上都是我個人的看法而已。無論如何,為了避免焦點在頁框裡不容易脫離的狀況,直接在頁框前加上跳過頁框的設計是最理想的做法。

頁籤

說明

頁籤又稱索引標籤。用於選擇一個主題後,相應的內容區塊會隨著這個選中的主題而有所變化,通常內容版型相同,但不同主題有不同的內容。

我們在很多程式的設定畫面較常看到這樣的設計,例如 Mozilla Firefox 或 Microsoft Office 功能表中的「選項」等。如果是在應用程式出現索引標籤,通常使用 control + tab 鍵可以切換,也可在類似頁籤的地方使用方向鍵進行切換。

另外,類似頁籤概念的設計也不少,像是 NVDA 的設定,win10 的設定等。

但如果是在網頁中出現頁籤,我們無法使用 control + tab 切換,通常是直接點擊標題來切換,或者按照頁面或網站導覽指示進行切換。

良好的設計是可以像選擇鈕那樣,將 NVDA 切換成焦點模式,使用方向鍵來循環選擇頁籤,這是頁籤的其中一種鍵盤瀏覽方式。

如果是按 tab 鍵可以依序瀏覽每個頁籤的內容,也是正確的鍵盤瀏覽方式。

關於頁籤的鍵盤正確瀏覽方式請參考 無障礙網路空間服務網 常見問題

操作

  1. 頁籤屬性沒有單鍵瀏覽
  2. html 沒有頁籤的語法,需要靠前端程式並搭配無障礙屬性來讓導讀軟體更好的支援

態樣

  1. 需要讓導讀軟體朗讀「索引標籤」屬性
  2. 可以使用鍵盤點擊並選取某個頁籤,或使用 tab 鍵依序瀏覽頁籤內容
  3. 可以使用鍵盤搭配導讀軟體確認目前選擇了哪一個頁籤
  4. 頁籤內容需顯示於被選取頁籤之後
  5. 同時只能選擇一個頁籤
  6. 不能讓鍵盤焦點困在頁籤或頁籤內容中

原碼範例

編號 3 直向頁籤
原碼
<ul style="list-style-type:none"> 
    <li>
        <a class="tab" id="q1li" role="tab" href="#q1">最新消息</a>
    </li>
    <li>
        <a class="tab" id="q2li" role="tab" href="#q2">最新公告</a>
    </li>
    <li>
        <a class="tab" id="q3li" role="tab" href="#q3">最新刊物</a>
    </li>
</ul>
範例 3 直向頁籤
補充
  1. 若使用 tab 可以依序瀏覽所有頁籤的內容,亦可通過檢測
編號 4 橫向頁籤
原碼
<div class="tabs">
    <div role="tablist">
        <button role="tab" aria-selected="true" aria-controls="panel-1" id="tab-1" tabindex="0">
            最新消息
        </button>
        <button role="tab" aria-selected="false" aria-controls="panel-2" id="tab-2" tabindex="-1">
            最新公告
        </button>
        <button role="tab" aria-selected="false" aria-controls="panel-3" id="tab-3" tabindex="-1">
            最新刊物
        </button>
    </div>
    <div id="panel-1" role="tabpanel" tabindex="0" aria-labelledby="tab-1">
        <p><a href="#">消息1</a></p>
        <p><a href="#">消息2</a></p>
        <p><a href="#">消息3</a></p>
    </div>
    <div id="panel-2" role="tabpanel" tabindex="0" aria-labelledby="tab-2" hidden>
        <p><a href="#">公告1</a></p>
        <p><a href="#">公告2</a></p>
        <p><a href="#">公告3</a></p>
    </div>
    <div id="panel-3" role="tabpanel" tabindex="0" aria-labelledby="tab-3" hidden>
        <p><a href="#">刊物1</a></p>
        <p><a href="#">刊物2</a></p>
        <p><a href="#">刊物3</a></p>
    </div>
</div>
範例 4 橫向頁籤
補充
  1. 本範例提供 NVDA 在焦點模式下使用左或右方向鍵來切換頁籤為良好之設計,提供與其他使用者相近之操作模式

規範

  1. GN1240300E 按照內容的序列及關連性來安排互動元件的放置順序

實測

  1. 新北市鶯歌區衛生所 中央區塊頁籤
  2. 內政部警政署保安警察第三總隊 中央區塊頁籤
  3. 衛生福利部草屯療養院 中央區塊頁籤
  4. 關於中原 - 大事記要 中央區塊頁籤

表單

說明

表單是由多種元素所組成,大部分是網頁想要與使用者互動時所產生的。透過這些元素的特性,依據目的可以組合成多樣性的表單。例如報名課程、填寫意見、捐款、註冊登入、問卷調查等。

在之前的講義中,我們已經學習到各種表單元素的無障礙,如下拉式方塊、選擇鈕、編輯區、核取方塊、按鈕、連結等元件。

現在,我們利用實測練習來檢視各元素,也就是整個表單的無障礙。

操作

態樣

  1. 依照各元素之態樣

原碼範例

編號 5 表單
原碼
<form action="wai.php" method="post"> 
    <div>
        <label for="myid">姓名</label> 
        <input type="text" id="myid" name="myid"> 
    </div>
    <div>
        <label for="k">喜歡吃的水果</label> 
        <select id="k" name="k"> 
            <option value="">請選擇</option> 
            <option value="芭樂">芭樂</option> 
            <option value="香蕉">香蕉</option> 
            <option value="草莓">草莓</option> 
        </select> 
    </div>
    <div>
        <button type="button">送出</button>
    </div>
</form>
範例 5 表單
補充
  1. 單鍵瀏覽 f 是一次跳一個表單欄位,若同一個頁面有多個表單,使用上可能會跳到下一個表單中而未查覺,這個狀況與清單項目的 i 有點類似。

規範

  1. HM1130111E 將表單控制元件及表單內的選項予以適當地分群並提供相關的描述
  2. HM1130112E 使用標籤組件將文字標籤與表單控制元件建立關連
  3. HM1130113E 無法使用標籤組件的情況下,用標題屬性來指明表單控制元件
  4. GN1140102E 對有顏色的表單控制標題,提供文字線索提示
  5. GN1330201E 提供文字描述以指明需填寫的必填欄位
  6. GN1220100E 在多頁表單的第一頁提供一個核選框,讓使用者可以要求較寬鬆的階段時間限制,或者完全不要有階段時間限制
  7. GN1220101E 提供能讓使用者將時間限制設為預設時間限制十倍,或完全關閉時間限制的方法
  8. GN1330100E 提供文字描述以指明未完成的必填欄位
  9. GN1330102E 資料成功送出後,提供成功的回饋
  10. GN1330200E 在使用者送出資料前,先描述會發生什麼事
  11. GN2330300E 提供文字描述以指明未完成的必填欄位,並建立可以讓使用者跳到出錯之處的機制
  12. GN1320201E 使用按鈕來做出行動並啟動脈絡變更
  13. GN3220300E 讓使用者可以在沒有任何時間限制的情況下完成活動
  14. GN3220400E 提供可以延遲任何內容更新的機制
  15. GN1240301E 在鏈結、表單控制元件、物件間建立合乎邏輯的跳位順序
  16. GN1320200E 表單控制元件之行為將使網頁跳轉或變更,則在脈絡變更前需先明確描述將發生的事情
  17. GN2330400E 在法律、財務、個人資料方面,均提供取回已刪除資訊的能力
  18. GN2330401E 在法律、財務、個人資料方面,均提供表單遞交後何時可由使用者更新或取消的時段說明
  19. GN2330402E 在法律、財務、個人資料方面,均提供使用者在送出答覆前加以檢查及更正的能力
  20. GN2330403E 在法律、財務、個人資料方面,均要求確認後才繼續所選的行動
  21. GN3330600E 在所有情況中,均提供取回已刪除資訊的能力
  22. GN3330601E 在所有情況中,均提供表單遞交後何時可由使用者更新或取消的時段說明
  23. GN3330602E 在所有情況中,均提供使用者在送出答覆前加以檢查及更正的能力
  24. GN3330603E 在所有情況中,均要求確認後才繼續所選的行動

實測

  1. PChome Online 註冊
  2. 樂天市場 說明會
  3. 總統府 檔案閱覽申請
  4. 台中市政府 進度查詢
  5. 台大掛號 基本資料填寫