替 CTA 補 hover 與 focus-visible 回饋
條件:依序用滑鼠滑入、按住按鈕,再按 Tab 聚焦,觀察三種回饋。 驗收:按鈕有平順位移、按壓回饋與焦點框
CHAPTER 10 · 150 MINUTES
按鈕雖然能點,卻沒有清楚回應滑入、鍵盤焦點或處理中的狀態;動畫如果只求熱鬧,反而會干擾閱讀。
LEARNING GOALS
條件:依序用滑鼠滑入、按住按鈕,再按 Tab 聚焦,觀察三種回饋。 驗收:按鈕有平順位移、按壓回饋與焦點框
條件:重新整理後等待數秒,觀察處理中徽章是否有限度地淡入淡出。 驗收:處理中標籤以淡入淡出提示狀態
條件:在作業系統開啟「減少動態效果」後重新整理,確認轉場與動畫停止。 驗收:系統偏好減少動態時取消轉場與動畫
輸入:第 09 章產物:完成可重複套用的按鈕與卡片樣式組
本章輸出:有目的、可操作且尊重減少動態偏好的互動回饋
產物類型:mainline;後續用途:第 11 章
PROBLEM & ANALOGY
轉場像電梯門平順開合;關鍵影格像分鏡表;CTA 則像出口指示牌,動效只能幫人確認方向,不能搶走內容。
本章要解決:按鈕雖然能點,卻沒有清楚回應滑入、鍵盤焦點或處理中的狀態;動畫如果只求熱鬧,反而會干擾閱讀。
接住上一章:第 09 章完成的按鈕與卡片元件。
合回共同作品:本章成果必須回到同一份作品集檢查,不另開一個無關小作品。
SCOPE
替 CTA 補 hover 與 focus-visible 回饋;用 keyframes 表達處理中狀態;為減少動態偏好提供靜態版本。
能辨識 Animate.css、AOS、GSAP、Lottie 的用途地圖,但不安裝套件。
不教複雜時間軸、捲動偵測或 JavaScript 動畫控制。
本章術語:狀態、transition、transform、keyframes、CTA、prefers-reduced-motion。遇到英文先回到畫面責任,不要求背拼字。
CORE IDEAS
DEBUG
課堂刻意錯誤:把 transition 寫在 :hover 內,接著移開滑鼠,讓學生觀察只有進場平順、退場瞬間跳回;再移回基本狀態。
.cta-button,再查 style.css 是否載入。固定順序:先重現 → 讀 Console/Styles → 確認檔案與元素 → 一次只修一處 → 重跑原操作。
先查:先查 transition 是否誤寫在 hover。
先查:用鍵盤重現,確認沒有移除 outline,並補上 focus-visible。
先查:查 media query 是否覆蓋 transition 與 animation。
PRACTICE CONTRACT
檔案:style.css
位置:依任務文字搜尋對應元素或函式
結果:按鈕有平順位移、按壓回饋與焦點框
檔案:style.css
位置:依任務文字搜尋對應元素或函式
結果:處理中標籤以淡入淡出提示狀態
檔案:style.css
位置:依任務文字搜尋對應元素或函式
結果:系統偏好減少動態時取消轉場與動畫
EVIDENCE
CTA 的 ______ 狀態用 ______ 表達;我用 Tab 看到 ______;減少動態時 ______ 仍可完成。
不要用動畫取代資訊或操作提示;動效停止後,文字與按鈕仍必須清楚可用。
錄下滑鼠、鍵盤與 reduced-motion 三種操作,並口頭說明哪一個是 transition、哪一個是 animation。
課次交棒:本章 150 分鐘結束後,同一次課剩餘 30 分鐘直接進入第 11 章,用 DevTools 找出故意覆蓋 focus 樣式的規則。
下一章:第 11 章將用 DevTools 找出 CSS 覆蓋並整理共用規則。