CHAPTER 05 / EXPERIENCE

UI/UX 與
無障礙設計

寫得出網站不夠,要寫出「使用者爽用」的網站。同樣功能,有的網站用了想罵髒話,有的用了不知不覺就買了東西。 這章教你 UI/UX 思維、互動細節、無障礙設計。這就是接案能多收 50% 的差別

  • 知道 UI 跟 UX 差在哪、怎麼一起做好
  • 做出讓使用者「順手」的互動細節
  • 會用色彩、字級、間距打造視覺層次
  • 會寫無障礙網站,過 WCAG AA
  • 能說服客戶「這個按鈕不能這樣放」
LESSON 5.1

UI ≠ UX

UIUX
意思使用者介面使用者體驗
問的問題長什麼樣子?用起來感覺如何?
關注顏色、字、按鈕、版面流程、動線、情緒
例子按鈕是圓的還是方的使用者要點幾下才買到東西

UI 是餐廳的裝潢,UX 是從進門到離開的整個流程。裝潢漂亮但服務超慢,沒人想再來。裝潢普通但動線順、上菜快,會變熟客。

LESSON 5.2

UX 七大原則

  1. 能見性(Visibility):重要功能要看得到。把「結帳」藏三層選單裡的就不要做電商。
  2. 回饋(Feedback):每個操作都要有反應。按了按鈕跳變色、loading 轉圈圈、成功彈出綠色提示。
  3. 一致性(Consistency):同樣的東西長一樣。所有「主要按鈕」都綠色,所有「危險按鈕」都紅色。
  4. 容錯(Error Tolerance):使用者一定會點錯。提供「取消」、「上一步」、「確認你要刪除嗎」。
  5. 減少記憶負擔:不要叫使用者背東西。表單留下他剛輸入的、最近搜尋顯示出來。
  6. 效率:常用功能要快。鍵盤快捷鍵、自動完成、最近用過的選項排前面。
  7. 美觀:好看的網站使用者會原諒它的小問題。這是真的。
LESSON 5.3

視覺層次:眼睛要往哪看

使用者打開網頁第一秒看到什麼?這是你決定的,不是運氣。

層次三大武器

F 型 vs Z 型閱讀

使用者眼球在文字多的頁面是 F 型(橫掃左到右、再掃下一行短一點),在視覺豐富的頁面是 Z 型(左上 → 右上 → 左下 → 右下)。

60-30-10 配色法則

新手常犯:整個網站五顏六色。挑兩三個顏色就好。Tailwind 有 11 個色階是給你用的,不是叫你全用。

LESSON 5.4

互動細節:讓網站「順手」

1. 載入狀態

{loading ? <Spinner /> : <ProductList />}

API 通常 200~800ms。沒有 loading 使用者會以為當機。骨架屏(skeleton)比轉圈好看。

2. 空狀態

沒資料的時候畫面不能空白。畫個圖、寫一句「還沒有訂單,去逛逛」+ 按鈕。

3. 錯誤狀態

網路爆了不要只丟「錯誤」兩字。「網路有點問題,點這裡重試」。

4. 成功提示

送出表單後綠色 toast:「已寄出!我們會在 24 小時內回覆」。

5. 微互動(micro-interaction)

這些動畫都該(150~300ms),(不誇張),有意義(不是耍帥)。Apple 的網站是教科書。

LESSON 5.5

表單體驗

表單是賺錢的地方。表單體驗差客戶就跑。

10 條表單聖經

  1. 欄位越少越好,能不問就不問
  2. label 在欄位上方(不要左邊、不要 placeholder 假裝)
  3. 必填星號要清楚,選填用「(選填)」標明
  4. 錯誤訊息放在欄位下方,紅色但不刺眼
  5. 即時驗證但不要太早(離開欄位才驗,不是邊打邊驗)
  6. 密碼有「眼睛圖示」可切換顯示
  7. 長表單分步驟,顯示進度(1/3 → 2/3 → 3/3)
  8. 用對 input type,手機才會跳對的鍵盤
  9. autocomplete 屬性寫好(瀏覽器會幫使用者填)
  10. 送出按鈕送出後立刻 disabled,避免重複送
LESSON 5.6

無障礙設計(a11y)

a11y = accessibility(中間 11 個字母)。不只是「給身障者用」,視力下降的長輩、單手抱小孩的媽、手機在太陽下的所有人,都需要無障礙設計。

台灣 2017 起政府網站強制 WCAG 2.0 AA。私人網站雖然沒法律強制,但接政府案、學校案、大企業案都會檢查。

WCAG 四大原則 (POUR)

實作清單

// 1. 圖片 alt
<img src="cat.jpg" alt="我的橘貓在窗邊曬太陽">

// 純裝飾用空 alt
<img src="pattern.png" alt="" role="presentation">

// 2. icon 按鈕加 aria-label
<button aria-label="關閉視窗">×</button>

// 3. 表單 label 配對
<label for="email">Email</label>
<input id="email" type="email">

// 4. 錯誤訊息給 aria 提示
<input aria-invalid="true" aria-describedby="err-1">
<p id="err-1">Email 格式錯誤</p>

// 5. 跳過導覽連結(給螢幕閱讀器用)
<a href="#main" class="skip-link">跳到主內容</a>

顏色對比

不要只用顏色傳達訊息。「紅色 = 錯誤」對色盲使用者沒意義。要加圖示或文字(❌ 錯誤、✓ 成功)。

鍵盤可操作

把滑鼠拔掉,看你的網站還能用嗎?

檢測工具

  1. Chrome DevTools → Lighthouse → Accessibility
  2. axe DevTools 擴充套件
  3. 用 NVDA(Windows)或 VoiceOver(Mac)真的試聽
LESSON 5.7

順暢感:性能就是 UX

網站慢 = 體驗差。Google 研究:載入時間從 1 秒變 3 秒,跳出率多 32%。

三大指標(Core Web Vitals)

優化清單

  1. 圖片用 WebP / AVIF,比 JPG 小 30~50%
  2. loading="lazy" 讓圖片捲到再載
  3. 圖片標 width/height 防止版面跳動(CLS)
  4. 字型用 font-display: swap
  5. JS 用 code splitting 別一次全載
  6. 用 CDN(第 11 章)
  7. 用 Brotli 壓縮

客戶常說「我們網站很慢」。先跑 PageSpeed Insights → 80% 問題是「圖片沒壓」、「字型載太多」、「沒設快取」。修這三個就能從 60 分變 95 分。

練習:審查你的個人網站

把第 2 章的個人品牌頁拿出來:

  1. 跑 Lighthouse,記錄 Performance、Accessibility、SEO 三個分數
  2. 找出對比度不夠的文字,改色
  3. 所有 icon 按鈕加 aria-label
  4. 用 Tab 鍵走一遍,看 focus 是否清楚
  5. 加 skeleton 在資料載入時
  6. 表單欄位錯誤時加震動動畫
  7. 再跑一次 Lighthouse,目標 90 分以上

常見卡關 FAQ

// UX 學員最常問的問題
客戶堅持要我把按鈕做成紫色但對比不夠怎麼辦?
給數據:「這顏色對比 2.8:1,無障礙標準要 4.5:1,年長客戶會看不清。建議深紫 + 白字(5.2:1)」。客戶要的是效果,不是顏色。
所有人都說 Tailwind 好,但我覺得 className 又臭又長?
兩個解法:(1) 用 @apply 把常用組合抽出來;(2) 用 clsx + 元件抽象(React/Vue),讓 className 只出現一次。Tailwind 強在團隊一致,不在好看。
怎麼知道我的設計好不好?
不認識的人看 5 秒就關掉,問他「你看到什麼?這網站賣什麼?」。如果他答不出來就重做。家人朋友太客氣不要找。
無障礙真的有人在意嗎?
台灣身障人口約 5%,加上年長者超過 20%。再加上短期受傷、搭車單手用手機等情境,每個人都會用到無障礙。商業面:政府案、上市公司必檢。
Material / Apple HIG 哪個比較好?
沒有比較好。Web 看你的客群:年輕族群偏 iOS 風(簡潔),中年偏 Material(清楚分層)。不要混搭,挑一個徹底執行。
← 上一章
05 JSON