無障礙

如果這個網站把你擋在外面,那是一個有期限的缺陷。

我們在全站和兩支應用程式上以 WCAG 2.2 AA 等級為目標,購買關鍵文字則以 AAA 等級為目標。動態字級可放大到 200 %,尊重減少動態效果的偏好設定,阿拉伯文、希伯來文、波斯文和烏爾都文都是完整鏡像處理。離線也被當成無障礙功能,因為對旅客而言它就是。

這是一份聲明,說明我們做了什麼、每一項宣稱是怎麼被驗證的,以及該怎麼回報一個障礙。下面每一個目標都有一項會擋下合併或擋下發版的檢查,而那項檢查就印在它所對應的目標旁邊。

在地鐵月台上,一隻手拿著顯示交通路線圖的手機
光線昏暗、只有一隻手、列車正在行進、而且沒有訊號。我們最難的使用情境,就是最平常的那一個。

我們給自己設的標準

領域目標怎麼檢查
整體網站與應用程式WCAG 2.2 AA 等級每個 pull request 自動掃描,並擋下合併
購買關鍵文字對比與閱讀難度達 WCAG 2.2 AAA 等級對比 7 比 1,每次文案變更都檢查閱讀難度
文字縮放200 % 下不截斷、不重疊在三種視窗寬度下做 100、150、200 % 的版面測試
鍵盤每項功能都到得了,焦點永遠看得見每次發版都人工走完每一條購買與安裝流程
螢幕閱讀器在 VoiceOver、TalkBack 和 NVDA 上跑完整流程每年一次與輔助科技使用者一起做的稽核,不是只靠工具
動態效果尊重減少動態效果,沒有東西動超過五秒自動化測試中包含偏好設定查詢的測試
右到左阿拉伯文、希伯來文、波斯文與烏爾都文採鏡像版面每次動到版面的發版都由母語者審閱
離線沒有連線也能看設定檔、餘額、方案細節與安裝步驟每次應用程式發版前用飛航模式跑一遍

自動化的檢查會擋下合併,人工的檢查會擋下發版。兩者都不是建議性質。

文字、對比與顏色

內文的對比度至少達到 4.5 比 1,購買關鍵文字則達到 7 比 1。

顏色從不單獨承載意義。覆蓋等級除了顏色還有文字標籤。錯誤除了紅框還有文字。用完的方案會用文字說出來,而不是只變灰。這條規則在錢易手的頁面上最重要。

動態字級可放大到 200 %。站上沒有任何地方是用固定高度排版而在放大時被裁掉,表格會在自己的容器內水平捲動,而不是把整頁往旁邊推。

購買按鈕上的合理使用門檻在任何字級下都看得清楚。如果你把瀏覽器或系統字級調得比預設大,網站會尊重它,而不是覆蓋掉。

鍵盤、焦點與螢幕閱讀器

每一項功能都有鍵盤路徑。下面這份清單是我們每次發版都會實測的標準,不是我們的意願說明。

  • 每一頁的 Tab 順序第一項,都是跳至主要內容的連結
  • 焦點指示在我們用到的每一種背景上都看得見,並符合 WCAG 2.2 的焦點外觀規定
  • 對話框開啟時鎖住焦點,關閉時把焦點交還給觸發元件,並可用 Esc 鍵關閉
  • 表單錯誤會被朗讀、與對應欄位關聯,而且說明怎麼修正,不是只說哪裡錯
  • 每一張帶有意義的圖片都有替代文字,裝飾性圖片則對輔助科技隱藏
  • 示意圖是帶有角色與標籤的內嵌向量圖,所以會描述其中的機制,而不是只被念成一張圖
  • 標題是真正的階層,所以用標題導覽可以在幾秒內走完一個國家頁

動態效果

減少動態效果的偏好設定在全站和兩支應用程式上都會被尊重。

品牌圖案是用樣式表 keyframes 畫出來的向量,而不是透過動畫執行環境送出。它會完全停住,不會停在動一半的狀態,而且成本是幾百位元組,不是四分之一 MB 的程式碼。

沒有任何東西會自動播放聲音,沒有任何東西每秒閃爍超過三次,也沒有任何東西在沒有停止控制的情況下動超過五秒。

右到左,認真做

阿拉伯文、希伯來文、波斯文和烏爾都文是由右至左書寫的語言,我們把它當成排版問題,不是翻譯問題。

導覽、進度指示、方向性圖示、表格閱讀順序、表單流程和安裝步驟的方向全部鏡像。數字、拉丁字母的產品名稱和速度數值會正確落在句子裡,因為文字是以雙向文字處理,而不是把字串反過來。

這件事在商業上和倫理上一樣重要。限速數字、退款規則和合理使用門檻,是最容易被讀錯的句子,而一個壞掉的右到左排版,正是一個人開始不信任這一頁的地方。

今天有十二種語言上線,每一種都把相同的數字放在相同的位置。

離線是一種使用需求

一個沒有訊號的旅客,等於暫時被擋在一個網站能提供的一切之外。 所以你的設定檔、餘額、方案細節和安裝說明在沒有連線時都能用。客戶每月都有免費救援流量,涵蓋我們販售的每個目的地,讓流量用完永遠不等於買不到流量。這個迴圈是這個產品類別裡最常見的排除,而幾乎沒有人把它當成排除來處理。

每次發版前都會測

這四項是在真正的輔助科技上跑,而不是只靠掃描工具。每一項在程式庫裡都有具名的負責人,只要沒過就擋下發版。

  • VoiceOver、TalkBack 和 NVDA 會走完整個購買與安裝流程,每年還有一次由每天使用它們的人執行的稽核
  • 離線畫面在每次應用程式發版前都會用飛航模式檢查,因為它們本來就是為那個狀態而做的
  • 付款與退款的文字在上線前,會在窄螢幕上以 200 % 字級讀過一遍,因為那裡牽涉到錢
  • 波斯文和烏爾都文完整涵蓋說明與法律內容,而且每一次動到版面的發版都由母語者複核

回報一個障礙

請寫信到 accessibility at orbislo.com。告訴我們是哪一頁、哪一台裝置、哪一種輔助科技,以及發生了什麼事。

兩個工作天內會有真人回覆,附上嚴重程度與目標日期。任何擋住購買、安裝或退款的問題,都當成正式環境事故處理,而不是待辦清單上的一項。

你不是在提供意見。你是在回報一個錯誤,我們也會這樣對待它。

大家真正會問的問題

你們對齊的是哪一個標準?
全站與兩支應用程式對齊 WCAG 2.2 AA 等級,購買路徑上的內容則在對比與閱讀難度上對齊 AAA 等級。購買路徑是一個錯誤會讓人賠錢的地方,所以套用比較高的標準。
字級放到 200 % 網站還能用嗎?
可以。動態字級放大到 200 % 不會截斷、重疊或出現水平捲動,包括購買按鈕上的合理使用數字。我們會測,是因為 200 % 的版面正是固定像素高度最先失敗的地方。
我可以只用鍵盤操作整個網站嗎?
可以。每項功能都有鍵盤路徑,並有符合 WCAG 2.2 焦點外觀準則的可見焦點指示。沒有鍵盤陷阱,而且每一頁的 Tab 順序第一項都是跳過連結。
你們怎麼處理動態效果?
減少動態效果的偏好設定在任何地方都會被尊重。品牌圖案是用樣式表 keyframes 畫的向量,不是程式驅動的動畫,所以會直接停住,不會降級成半吊子狀態。站上沒有東西會動超過五秒,也沒有東西會自動播放聲音。
阿拉伯文是真的鏡像,還是只有翻譯?
是完整鏡像。阿拉伯文、希伯來文、波斯文與烏爾都文是以右到左版面出貨,導覽、進度、圖示與表單流程都鏡像,數字與拉丁字母片段用真正的雙向文字處理,而不是把字串反過來。把截圖左右翻轉,不等於一個右到左的介面。
為什麼你們把離線稱為無障礙功能?
因為對旅客來說它就是。一個剛落地、沒有訊號的人,暫時碰不到這個網站能提供的任何東西。你的設定檔、餘額、方案細節和安裝說明在沒有連線時都能用,而客戶每月可獲得一次免費救援流量,在餘額用完時直接加到正在使用的線路上,就是為了讓沒有人被鎖在買不到重新上網的方法之外。
我回報問題之後會怎樣?
我們當成有期限的缺陷處理,不是當成意見。你會在兩個工作天內收到真人回覆,附上嚴重程度與目標日期。任何擋住購買或安裝的問題都當作正式環境事故,以天為單位修好,而不是以季為單位。