快速解答: 拍賣網站的無障礙設計核心在三件事——鍵盤可以完成整個出價流程、螢幕閱讀器能正確播報即時價格變動、倒數計時器有適當的 ARIA Live Region 通知。做到 WCAG 2.1 AA 等級,你的潛在用戶群馬上多出 15%。
先講一個真實數字:全球有 13 億人(約總人口 16%)有某種形式的障礙,其中超過 2.8 億人有視覺障礙。在台灣,根據衛福部統計,持有身心障礙手冊的人數超過 120 萬。這些人裡面有很多對拍賣有興趣、有消費力,但你的網站如果連基本的鍵盤操作都做不到,他們根本無法參與。
我之前接觸過一個案例:一家做藝術品拍賣的平台,在修正無障礙問題後三個月,註冊轉換率提升了 11%。不只是障礙用戶變多了,而是無障礙設計連帶改善了表單易用性、錯誤提示清晰度,所有用戶都受益。
拍賣網站的無障礙設計是什麼?
拍賣網站的無障礙設計是指讓視覺、聽覺、肢體或認知障礙的用戶,都能順利瀏覽拍品、出價競標、完成交易的一套技術實踐。 它遵循的國際標準是 WCAG(Web Content Accessibility Guidelines),目前主流要求是 2.1 版本的 AA 等級。
但拍賣網站的無障礙比一般網站更難做,原因是拍賣有三個特殊挑戰:
- 即時性 — 價格在不斷變動,螢幕閱讀器要怎麼播報才不會煩死用戶又不漏掉關鍵資訊?
- 時間壓力 — 倒數計時器對看不到畫面的人來說根本不存在,你怎麼讓他們感知到「快結標了」?
- 競爭互動 — 出價是一個需要快速反應的操作,鍵盤操作能不能做到跟滑鼠一樣快?
這三個問題有解,而且解法其實沒有你想的那麼複雜。
鍵盤操作要怎麼設計才能順暢出價?
整個出價流程必須能純用鍵盤完成,Tab 鍵走一遍就能出價成功。 這是 WCAG 2.1.1(鍵盤)的基本要求,也是影響最多障礙用戶的單一改善項目。
實作重點有四個:
Tab 順序要合理
出價區域的 Tab 順序應該是:拍品資訊 → 當前最高價 → 出價金額輸入框 → 出價按鈕 → 出價結果回饋。用 tabindex 控制順序,但盡量用自然的 DOM 順序就好,少用正數 tabindex(用了就是在挖坑給自己)。
焦點狀態要明顯
每個可互動元素在獲得焦點時,必須有清晰可見的外框(focus ring)。瀏覽器預設的 outline 很多人會用 outline: none 砍掉,拜託不要這樣做。你可以自訂樣式,但不能完全拿掉。
/* 不要這樣 */
*:focus { outline: none; }
/* 要這樣 */
.bid-button:focus-visible {
outline: 3px solid #0891B2;
outline-offset: 2px;
}
Enter 跟 Space 都要能觸發
按鈕用原生的 <button> 標籤就天然支援 Enter 和 Space 觸發。但如果你用 <div> 或 <a> 做按鈕(很多 UI 框架會這樣),就必須手動加 role="button" 和 onkeydown 事件處理。
Skip Link 讓用戶直接跳到出價區
拍品頁面通常很長(圖片、描述、賣家資訊),鍵盤用戶如果要從頁首 Tab 到出價區可能要按 20 幾次。加一個 Skip Link 讓他們一鍵跳到出價區:
<a href="#bid-section" class="sr-only focus:not-sr-only">
跳到出價區域
</a>
螢幕閱讀器要怎麼處理即時價格變動?
ARIA Live Region 是拍賣無障礙的靈魂,用對了螢幕閱讀器會主動播報價格更新,用錯了會吵到用戶想關掉。
拍賣頁面上有好幾種「會自動變動的內容」,每一種需要不同的處理方式:
當前最高價:用 aria-live="polite"
最高價變動時,用 polite 等級播報。這表示螢幕閱讀器會等用戶目前的操作結束後才唸,不會打斷正在做的事。
<div aria-live="polite" aria-atomic="true">
目前最高價:NT$5,200,共 12 次出價
</div>
aria-atomic="true" 很關鍵,它告訴螢幕閱讀器要把整個區塊重新唸一遍,而不是只唸改變的部分。不然用戶只會聽到「5,200」,不知道那是什麼數字。
倒數計時器:不要用 aria-live
你沒看錯。倒數計時器如果每秒都觸發 aria-live,螢幕閱讀器會每秒唸一次「剩餘 2 小時 35 分 17 秒」「剩餘 2 小時 35 分 16 秒」......這絕對會把用戶逼瘋。
正確做法是用 role="timer" 加 aria-live="off",然後在關鍵時間點(例如剩餘 30 分鐘、5 分鐘、1 分鐘)用一個獨立的 aria-live="assertive" 區域發出提醒。想了解倒數計時器的更多心理學設計,可以看倒數計時器的心理學效應。
出價結果與錯誤提示:用 role="alert"
出價成功或失敗的回饋必須立刻被播報,用 role="alert"(等同於 aria-live="assertive")。這會打斷用戶正在聽的內容,但對出價結果來說這是合理的——你需要馬上知道出價有沒有成功。
色彩對比度為什麼在拍賣網站特別重要?
拍賣頁面的關鍵資訊——倒數時間、當前價格、出價按鈕——如果對比度不夠,用戶在緊張的競標壓力下更容易看錯。 WCAG 2.1 AA 要求普通文字對比度至少 4.5:1,大字(18px 以上粗體或 24px 以上)至少 3:1。
拍賣網站最常犯的對比度問題:
-
倒數計時用淺灰色 — 很多設計師覺得倒數器是輔助資訊用淺色就好,但對拍賣來說倒數時間是核心資訊,對比度至少要 7:1。
-
狀態標籤看不清 — 「即將結標」用黃底黃字、「已結標」用灰底灰字,這些組合對比度通常不到 2:1。解法是文字顏色要跟底色拉開差距,黃底配深棕色(
#92400E)就能達到 7.5:1。 -
出價按鈕沒有 hover/active 的視覺區分 — 不只是對比度問題,這也影響認知障礙用戶判斷按鈕狀態。
推薦工具:用 Chrome DevTools 的 Lighthouse 或 axe DevTools 外掛跑一遍,它會自動標出所有對比度不及格的元素。手動檢查可以用 WebAIM 的 Contrast Checker。
表單標籤跟錯誤提示怎麼做才符合標準?
每一個輸入欄位都必須有對應的 <label>,這句話聽起來廢話但至少 40% 的拍賣網站做不到。 尤其是出價金額輸入框,很多設計用 placeholder 當 label,這在無障礙上是不及格的。
正確的出價表單應該長這樣:
<form aria-label="出價表單">
<label for="bid-amount">
出價金額(最低 NT$1,500)
</label>
<input
id="bid-amount"
type="number"
min="1500"
step="500"
aria-describedby="bid-help bid-error"
required
/>
<span id="bid-help">
目前最高價 NT$1,000,每次至少加價 NT$500
</span>
<span id="bid-error" role="alert" aria-live="assertive">
<!-- 動態插入錯誤訊息 -->
</span>
<button type="submit">立即出價</button>
</form>
幾個重點:
aria-describedby可以連結多個說明元素,螢幕閱讀器會按順序唸出來- 錯誤訊息要用
role="alert"讓螢幕閱讀器立刻播報 step="500"讓用戶用鍵盤上下鍵時自動按加價幅度調整- 按鈕文字要明確,「立即出價」比「送出」好太多
關於整體出價介面的 UX 設計原則,也可以參考拍賣網站的響應式設計這篇。
法規面到底管多嚴?
不做無障礙可能不只是少了一些用戶,還可能被告。 這不是危言聳聽。
目前全球主要的無障礙法規:
| 法規 | 適用範圍 | 要求 | 罰則 |
|---|---|---|---|
| 美國 ADA Title III | 所有對公眾開放的網站 | WCAG 2.1 AA | 民事訴訟,2025 年相關訴訟超過 4,000 件 |
| 歐盟 EAA | 2025 年 6 月起所有電商 | EN 301 549(≈ WCAG 2.1 AA) | 各國自訂,最高營收 4% |
| 台灣 SGAD | 政府機關網站 | WCAG 2.0 AA | 行政處分 |
台灣目前對民間企業的網站無障礙沒有強制規範,但如果你有歐美用戶(拍賣平台很常有海外買家),就需要注意 ADA 和 EAA。而且趨勢很明確——各國都在收緊,先做好比被迫做好划算得多。
美國的 ADA 訴訟數量從 2018 年的 2,258 件暴增到 2025 年超過 4,000 件,而且拍賣類平台因為涉及「交易」,被告的機率比純內容網站更高。
實際改善的優先順序
如果你現在的拍賣網站無障礙程度接近零,不用慌,按這個順序改就好:
第一優先(1-2 天):
- 所有圖片加
alt文字 - 表單欄位加
<label> - 確保可以純鍵盤操作出價流程
- 檢查色彩對比度,修正不及格的
第二優先(3-5 天):
- 出價結果加
role="alert" - 最高價更新加
aria-live="polite" - 倒數計時器用
role="timer"+ 定時播報 - 加 Skip Link
第三優先(1-2 週):
- 完整的 ARIA 標籤體系
- 多語系的無障礙文字
- 自動化測試(axe-core 整合到 CI/CD)
- 邀請實際障礙用戶做使用測試
如果你正在規劃新的拍賣網站,在設計階段就把無障礙考慮進去,成本比事後修改低 5-10 倍。可以參考拍賣網站設計如何提升轉換率,裡面也有提到無障礙對轉換率的正面影響。
FAQ
Q:做無障礙設計會影響網站效能嗎?
完全不會。ARIA 屬性只是 HTML 標籤上的額外屬性,不會增加任何渲染負擔。反而因為做無障礙時通常會順便優化 DOM 結構,效能可能還會變好。如果你也在關注效能議題,可以看看 Core Web Vitals 優化指南。
Q:用了 UI 框架(如 Tailwind、Bootstrap)還需要手動處理無障礙嗎?
需要。UI 框架處理的是視覺層面,ARIA 標籤和鍵盤互動邏輯還是要自己加。有些元件庫(如 Headless UI、Radix UI)有內建無障礙支援,選用這些會省不少工。
Q:怎麼測試無障礙做得好不好?
三個層次:第一,用 Lighthouse 跑自動掃描(能抓到約 30% 的問題);第二,自己用鍵盤把整個出價流程操作一遍;第三,開螢幕閱讀器(macOS 用 VoiceOver,Windows 用 NVDA)實際聽一次。第三步最花時間但也最有價值,因為自動工具抓不到「這段播報聽起來到底有沒有道理」這種問題。