mybid
拍賣知識 · 11 分鐘閱讀 · 12 次閱讀

拍賣網站的無障礙設計:讓所有人都能參與競標

拍賣網站的無障礙設計不只是法規要求,更是擴大用戶群的商業策略

快速解答: 拍賣網站的無障礙設計核心在三件事——鍵盤可以完成整個出價流程、螢幕閱讀器能正確播報即時價格變動、倒數計時器有適當的 ARIA Live Region 通知。做到 WCAG 2.1 AA 等級,你的潛在用戶群馬上多出 15%。

拍賣網站的無障礙設計:讓所有人都能參與競標

先講一個真實數字:全球有 13 億人(約總人口 16%)有某種形式的障礙,其中超過 2.8 億人有視覺障礙。在台灣,根據衛福部統計,持有身心障礙手冊的人數超過 120 萬。這些人裡面有很多對拍賣有興趣、有消費力,但你的網站如果連基本的鍵盤操作都做不到,他們根本無法參與。

我之前接觸過一個案例:一家做藝術品拍賣的平台,在修正無障礙問題後三個月,註冊轉換率提升了 11%。不只是障礙用戶變多了,而是無障礙設計連帶改善了表單易用性、錯誤提示清晰度,所有用戶都受益。

拍賣網站的無障礙設計是什麼?

拍賣網站的無障礙設計是指讓視覺、聽覺、肢體或認知障礙的用戶,都能順利瀏覽拍品、出價競標、完成交易的一套技術實踐。 它遵循的國際標準是 WCAG(Web Content Accessibility Guidelines),目前主流要求是 2.1 版本的 AA 等級。

但拍賣網站的無障礙比一般網站更難做,原因是拍賣有三個特殊挑戰:

  1. 即時性 — 價格在不斷變動,螢幕閱讀器要怎麼播報才不會煩死用戶又不漏掉關鍵資訊?
  2. 時間壓力 — 倒數計時器對看不到畫面的人來說根本不存在,你怎麼讓他們感知到「快結標了」?
  3. 競爭互動 — 出價是一個需要快速反應的操作,鍵盤操作能不能做到跟滑鼠一樣快?

這三個問題有解,而且解法其實沒有你想的那麼複雜。

鍵盤操作要怎麼設計才能順暢出價?

整個出價流程必須能純用鍵盤完成,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 事件處理。

拍品頁面通常很長(圖片、描述、賣家資訊),鍵盤用戶如果要從頁首 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")。這會打斷用戶正在聽的內容,但對出價結果來說這是合理的——你需要馬上知道出價有沒有成功。

ARIA Live Region 在拍賣場景的應用

色彩對比度為什麼在拍賣網站特別重要?

拍賣頁面的關鍵資訊——倒數時間、當前價格、出價按鈕——如果對比度不夠,用戶在緊張的競標壓力下更容易看錯。 WCAG 2.1 AA 要求普通文字對比度至少 4.5:1,大字(18px 以上粗體或 24px 以上)至少 3:1

拍賣網站最常犯的對比度問題:

  1. 倒數計時用淺灰色 — 很多設計師覺得倒數器是輔助資訊用淺色就好,但對拍賣來說倒數時間是核心資訊,對比度至少要 7:1。

  2. 狀態標籤看不清 — 「即將結標」用黃底黃字、「已結標」用灰底灰字,這些組合對比度通常不到 2:1。解法是文字顏色要跟底色拉開差距,黃底配深棕色(#92400E)就能達到 7.5:1。

  3. 出價按鈕沒有 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)實際聽一次。第三步最花時間但也最有價值,因為自動工具抓不到「這段播報聽起來到底有沒有道理」這種問題。

相關文章

拍賣類型大比較:英式、荷蘭式、密封式一次搞懂

拍賣不只有「價高者得」這一種玩法。這篇帶你搞懂英式、荷蘭式、密封式三大拍賣類型的差異,以及什麼商品適合哪種拍法。

· 9 分鐘 · 8 次閱讀
閱讀 →

拍賣付款方式全攻略:哪種最安全最划算

匯錯帳號、被詐騙私下轉帳、刷卡被收高額手續費——付款方式選錯,得標的喜悅馬上變成噩夢。五種常見付款方式的安全性和手續費,一次講清楚。

· 8 分鐘 · 10 次閱讀
閱讀 →

拍賣保證金是什麼:為什麼要付、怎麼退、注意事項

很多拍賣平台要求繳納保證金才能出價,搞懂保證金的用途、退還規則和注意事項,避免白白損失。

· 7 分鐘 · 10 次閱讀
閱讀 →