前端設計

redesign-existing-projects

先掃描既有技術與視覺模式,再依影響排序診斷模板感、排版、色彩、版面及缺失狀態,以局部升級保留原有功能與內容。

查看來源 ↗
作者/來源Leonxlnx★ 85,711 GitHub Stars
測試版本ccbc15639c97更新日期:2026-08-24T15:23:56Z
支援平台OpenAI · Claude本次實測平台
安裝方式npx skills add leonxlnx/taste-skill --skill redesign-existing-projects
公平比較方式

三個問題,分別測載入前與載入後。

每次回答都在全新環境中產生。兩邊使用相同模型與設定,唯一差別是右側載入了這個 Skill。

模型版本gpt-5.6-sol帳號方案ChatGPT Plus思考強度medium執行工具codex-cli-native-skill
真實測試使用本機已登入的 ChatGPT Plus 實際執行,完成於 2026年8月31日。所有檢查通過後才公開,回答未經人工改寫。
三階段測試3 個問題全部完成版本核對3/3 通過環境清理9/9 通過測試隔離每回合全新環境
01
基礎題

診斷通用 SaaS 首頁

測試問題

既有首頁是 React + Tailwind:Inter、紫藍 45 度漸層 hero、置中標題『Elevate your workflow』、三張等寬 feature 卡、所有元素 rounded-xl shadow-lg。產品是台灣小型工廠的設備保養排程。請先做 audit,再提出依影響排序的局部改版方案;保留 React/Tailwind 與現有功能,不要重寫整站。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill2400 tokens · 51021 ms
## 首頁 Audit 範圍說明:目前工作區未提供可檢視的專案檔案,以下依題述的既有首頁進行介面與產品定位 audit,不推定未描述的功能或內容。 1. **核心價值不夠具體** - 「Elevate your workflow」屬通用 SaaS 文案,無法讓台灣小型工廠快速判斷產品用途。 - 未直接回答三個關鍵問題:管理什麼、避免什麼損失、適合誰。 2. **首屏缺少產品證據** - 置中標題搭配抽象漸層,品牌感強於工具感。 - 沒有排程表、待保養設備或逾期提醒等真實介面,使用者難以理解操作方式。 3. **資訊層級過度平均** - 三張等寬 feature 卡給予所有功能相同權重,沒有突出「近期保養/逾期風險」等主要任務。 - `rounded-xl shadow-lg` 套用到所有元素,會讓按鈕、卡片與展示容器互相競爭。 4. **視覺語言與使用情境有落差** - 紫藍 45 度漸層偏向泛科技產品,較難傳達設備、維修與可靠度。 - 過多圓角和厚陰影降低資訊密度,不利於管理型產品建立穩定、可掃讀的印象。 5. **中文字體可能不一致** - Inter 不包含完整繁中字形;瀏覽器會混用系統 fallback,中文與數字的字重、基線可能不一致。 - 設備編號、日期與狀態數字仍可保留 Inter,但中文應明確指定字體堆疊。 6. **可能存在可用性風險** - 漸層上的文字對比、陰影邊界及狀態只靠顏色辨識,需實際檢查。 - 若卡片 hover 或按鈕沒有明確 focus 樣式,鍵盤操作辨識度不足。 ## 依影響排序的局部改版方案 ### P0 — 改寫 Hero 訊息,不改結構與導流 將通用標題替換為具體、在地化的產品承諾: - Eyebrow:`給台灣小型工廠的設備保養排程` - H1:`保養準時完成,設備少停一次` - 說明:`集中管理設備、週期與負責人;到期前自動提醒,快速掌握逾期項目。` - 主按鈕沿用現有主要動作,例如:`開始安排保養` - 次按鈕:`查看操作方式` 保留原有 click handler、路由及 analytics,只更換文案與排列。桌面版可由完全置中改為左側文案、右側產品預覽;手機版維持單欄。 **影響:最高。** 首屏即可說清楚使用者、任務與成果。 ### P0 — 在 Hero 加入既有產品畫面或輕量資料預覽 右側使用既有 UI 組件或靜態展示資料,呈現: - 本週待保養數量 - 一項即將到期設備 - 一項逾期設備 - 負責人與預定日期 避免製作另一套展示專用功能;優先重用現有卡片、badge、列表元件。若目前沒有可重用元件,先以純展示區塊呈現,不新增互動邏輯。 **影響:最高。** 比抽象插圖更能降低理解與信任成本。 ### P1 — 重排三張 feature 卡的優先級 保留三個既有功能與資料來源,但改成「一主兩次」: - 主卡:保養排程與到期狀態 - 次卡:提醒與責任分派 - 次卡:設備紀錄/維修歷程 桌面版主卡可占兩欄或增加內容密度;平板與手機回到單欄。每張卡採「任務結果+一句說明」,避免只列功能名稱。 **影響:高。** 建立符合實際工作流程的閱讀順序,不需改功能。 ### P1 — 收斂視覺層級 建議局部替換 Tailwind 樣式: - 頁面背景:`bg-slate-50` - 內容卡片:`rounded-lg border border-slate-200 bg-white shadow-sm` - Hero 展示容器:保留 `rounded-xl`,陰影降為 `shadow-md` - 主要按鈕:可保留 `rounded-lg`,不與卡片共用 `shadow-lg` - 一般資訊區塊:以 border 或背景色分層,不再全部加陰影 紫藍漸層縮小為 Hero 的局部光暈或細窄背景層,不再主導整個首屏。主色可收斂至深藍/靛藍,橘色僅用於到期警示。 **影響:高。** 提升專業度與掃讀效率,同時保留既有品牌辨識。 ### P2 — 建立設備狀態語意 統一狀態呈現,且不要只依賴顏色: - 正常:勾選圖示+`正常` - 即將到期:時鐘圖示+`3 天後到期` - 已逾期:警示圖示+`逾期 2 天` - 已完成:完成圖示+`已完成` Badge 使用淡色背景、深色文字並保留文字標籤;紅色只用於真正需要處理的逾期項目。 **影響:中高。** 能直接映射工廠管理者的判斷與處理流程。 ### P2 — 修正繁中字體與數字可讀性 在 Tailwind `fontFamily.sans` 或全域 CSS 中明確設定: ```js sans: [ 'Inter', '"Noto Sans TC"', '"PingFang TC"', '"Microsoft JhengHei"', 'sans-serif', ] ``` 日期、週期、設備編號可使用 `tabular-nums`;避免以過細字重顯示關鍵狀態。若專案目前未載入 Noto Sans TC,可先使用系統中文字體,避免增加首屏字型下載成本。 **影響:中。** 改善繁中排版一致性,修改範圍很小。 ### P3 — 補齊響應式與無障礙細節 - 主標題控制在 `max-w-2xl`,手機使用約 `text-4xl`,桌面再提升。 - CTA 在小螢幕改為滿寬或上下排列。 - 所有互動元素加入可見的 `focus-visible` ring。 - 檢查漸層、badge、次要文字的 WCAG 對比。 - 動畫尊重 `motion-reduce`。 - Icon 搭配文字;裝飾圖示使用 `aria-hidden="true"`。 **影響:中低,但應列入上線驗收。** ## 建議改版邊界 - 保留 React、Tailwind、現有路由、事件處理、資料流與三項既有功能。 - 僅調整首頁文案、Hero 排列、卡片權重及 Tailwind class。 - 不新增後端、不重做設計系統、不建立另一套展示元件庫。 - 第一輪先完成 P0、P1;以首屏 CTA 點擊率、功能區互動率及手機跳出率驗證成效,再決定是否擴大修改。
已載入 Skill +2957 tokens · 62582 ms
## Audit 範圍 目前工作區只有設計技能文件,沒有 React 原始碼、`package.json`、Tailwind 設定或可執行頁面。因此以下 audit 以你提供的首頁描述為依據;實際元件結構、Tailwind 版本、互動狀態與無障礙實作尚無法驗證。 ## 現況 Audit | 面向 | 問題 | 影響 | |---|---|---| | 品牌辨識 | 紫藍 45° 漸層、置中標題、三張等寬卡片是常見 SaaS 模板語彙 | 看不出台灣工廠、設備或保養排程的產品定位 | | 訊息內容 | 「Elevate your workflow」抽象且沒有說明替誰解決什麼問題 | 使用者進站後無法快速判斷產品價值 | | Hero 結構 | 所有內容置中,缺少產品畫面、排程資訊或操作脈絡 | 視覺焦點強,但產品可信度與轉換力弱 | | Feature 版型 | 三張等寬卡片讓所有功能看起來同等重要 | 無法呈現「建立設備 → 安排保養 → 到期提醒」的工作流程 | | 字體 | Inter 對英文安全,但繁中會回退至系統字體 | 中英文質感與字重可能不一致 | | 色彩 | 紫藍漸層偏向通用科技/AI 產品 | 與機台、工務、保養狀態的語意連結薄弱 | | 表面樣式 | 全部使用 `rounded-xl shadow-lg`,缺少層級差異 | 所有元素都像浮動卡片,資訊層級模糊 | | 內容可信度 | 未見設備名稱、保養週期、負責人、逾期狀態等領域資訊 | 難以讓工廠管理者產生「這是做給我用的」感受 | | 互動與無障礙 | 未提供原始碼,無法確認 hover、focus、pressed、鍵盤操作及 reduced motion | 需要在實作前補做檢查 | | 響應式 | 未提供實際版面,無法確認繁中斷行、卡片堆疊及手機 CTA | 小螢幕可用性存在未知風險 | ## 依影響排序的局部改版方案 ### 1. 重寫 Hero 訊息與構圖 保留 Hero 與既有 CTA 行為,只調整內容和排列。 - 改為左文右圖的 `lg:grid-cols-12` 版型,文字約 5 欄、產品預覽約 7 欄。 - 主標題建議:**「設備保養不漏排,停機時間更好掌握」** - 說明文字建議: 「集中管理機台保養週期、負責人與到期提醒,讓小型工廠提早安排人力與停機時段。」 - CTA 沿用現有目的地與事件處理,不新增流程;按鈕文字改成具體動作,例如「查看排程方式」或「開始安排保養」。 - 右側放現有產品介面的裁切畫面;若尚無截圖,可先以靜態 Tailwind 元件呈現「今日保養、7 日內到期、已逾期」三種狀態。 這項改動能最快改善定位、可信度與轉換,不需要碰核心功能。 ### 2. 移除紫藍 AI 漸層,建立工業語境色盤 - 頁面底色改為帶冷灰的淺色,例如 `slate-50`/`stone-50`。 - 主品牌色集中使用低飽和深青色,例如 `teal-700` 或自訂 machine teal。 - Hero 使用偏左上或右後方的柔和 radial glow,不再使用均勻 45° 漸層。 - 黃、紅僅保留給「即將到期/逾期」等狀態,不當裝飾色。 - 陰影改為較淡的青灰色系,避免通用黑色 `shadow-lg`。 不建議為了視覺效果引入新的動畫或漸層套件。 ### 3. 將三張等寬卡片改成工作流程版面 保留三項既有 feature 與內容來源,只更換呈現結構: - 第一列使用 7/5 非對稱 grid:主功能「保養排程」占大區塊,次要功能置於側欄。 - 第二列將第三項功能改成橫向流程或全寬資訊帶。 - 內容順序改為使用者任務: **建立設備資料 → 設定週期與負責人 → 接收到期提醒** - 在區塊中加入小型領域資料,例如「CNC-03」、「每 500 小時」、「王師傅」、「逾期 2 天」。 - 不增加新的功能承諾;所有文案必須對應目前已存在的能力。 這能打破模板感,同時讓三個功能形成可理解的操作故事。 ### 4. 建立明確的圓角與陰影層級 停止所有元素統一 `rounded-xl shadow-lg`: - 大型 Hero 預覽容器:`rounded-2xl` - 功能區塊:`rounded-xl` - 按鈕與輸入元件:`rounded-md` 或 `rounded-lg` - 狀態標籤:`rounded-sm` - 一般內容區塊以背景或細邊框分層,不一定加陰影。 - 僅 Hero 產品預覽保留明顯 elevation;功能區使用 `shadow-sm` 或無陰影。 這是低風險的全頁一致性改善,可透過共用 class 或既有元件 variant 完成。 ### 5. 調整繁中文字體與資訊層級 - 繁中主體改用 `"Noto Sans TC", system-ui, sans-serif`;若不希望增加字型請求,使用完整台灣系統字體 stack。 - 英數資料可保留 Inter,但應啟用 `tabular-nums`,讓日期、工時與數量對齊。 - Hero 標題使用 `font-semibold`、緊縮行高與字距,避免過粗。 - 內文限制在約 `max-w-[60ch]`,使用 `leading-7`。 - 標題加入 `text-balance`,內文使用 `text-pretty`,減少繁中不自然斷行。 - 避免全大寫英文小標,統一使用繁中 sentence case。 ### 6. 補齊互動與無障礙狀態 不改變任何事件或路由,只補視覺回饋: - 按鈕加入 200–250ms 的 hover、pressed 與 disabled 狀態。 - 所有可操作元素加入清楚的 `focus-visible` ring。 - 圖示按鈕提供可讀名稱;產品截圖加入有意義的 `alt`。 - 動畫僅使用 `transform` 與 `opacity`,並尊重 `prefers-reduced-motion`。 - 檢查文字、按鈕及狀態色的對比。 - 手機版 CTA 保持容易點擊,觸控高度至少約 44px。 ### 7. 最後補做內容與中繼資料校正 - 將「Elevate」「seamless」「smart」等抽象詞改成排程、到期、停機、負責人等具體語言。 - 頁面標題可採「設備保養排程|為台灣小型工廠掌握保養與停機」。 - 補齊 description、Open Graph 圖片與 favicon。 - Footer 保持精簡,至少包含聯絡方式、隱私權與服務條款;是否需要 cookie consent 應依實際追蹤工具判定。 ## 建議改版邊界 本輪只需修改 Hero、色彩 token、feature 排列、共用圓角/陰影及互動 class。保留現有 React 元件、資料來源、CTA handler、路由與 Tailwind;不更換框架、不導入大型 UI 或動畫套件,也不重寫其他頁面。實作前需先取得原始碼,以確認 Tailwind 版本、現有元件 API,以及三項 feature 對應的真實功能。
02
實務題

補齊表格互動狀態

測試問題

既有訂單表格有搜尋、分頁與『匯出』按鈕,但沒有 loading、empty、error、disabled、keyboard focus 或 mobile overflow 狀態。視覺是淺灰底、深綠單一 accent。請輸出保守改版規格與完整狀態矩陣,不可改變欄位、功能或品牌主色。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill3941 tokens · 75467 ms
# 訂單表格保守改版規格 ## 1. 改版原則 - 保留既有欄位、欄位順序、搜尋、分頁與「匯出」功能。 - 不新增篩選、排序、批次操作或其他業務功能。 - 品牌深綠主色維持不變;若現有色碼未提供,直接沿用既有設計 token,不另行推定。 - 延續淺灰頁面背景,以白色表格容器、灰階邊框與深綠互動狀態建立層級。 - 新增 loading、empty、error、disabled、keyboard focus 與 mobile overflow 狀態。 - 狀態提示不得造成表頭、搜尋區、分頁或容器寬度跳動。 ## 2. 桌面版結構 由上至下排列: 1. 工具列:搜尋欄置左,「匯出」按鈕置右。 2. 狀態訊息區:僅在錯誤或必要提示時顯示。 3. 表格:維持既有欄位與內容格式。 4. 分頁列:維持既有頁碼與操作方式。 建議規格: | 項目 | 規格 | |---|---| | 頁面背景 | 沿用既有淺灰色 | | 表格容器 | 白底、1px 淺灰邊框、既有或小幅圓角 | | 工具列間距 | 16px;窄桌面可縮至 12px | | 容器內距 | 工具列與分頁 16px;表格區不額外縮排 | | 表頭 | 淺灰底或白底、較正文略高字重,不使用新 accent 色 | | 儲存格 | 維持既有對齊與欄位格式;垂直置中 | | 列分隔 | 1px 淺灰線 | | 列 hover | 中性淺灰,不以深綠大面積填色 | | 主要按鈕 | 沿用品牌深綠與既有文字色 | | 次要控制 | 白底、灰框;互動時使用品牌深綠邊框或文字 | | 動效 | 120–200ms;尊重 `prefers-reduced-motion` | ## 3. 搜尋 - 保持既有搜尋邏輯、搜尋範圍、觸發方式及 placeholder;未知內容不改寫。 - 搜尋欄需有可見標籤,或以 `aria-label` 提供等價名稱。 - 若既有為即時搜尋,保留即時搜尋;建議輸入停止 300–500ms 後送出,避免重複請求。 - 若既有以 Enter 或搜尋按鈕觸發,維持原行為。 - 載入搜尋結果期間保留輸入內容。 - 搜尋無結果應顯示「找不到符合搜尋條件的訂單」,並提供「清除搜尋」;此操作只清除搜尋條件,不新增功能。 - Escape 是否清除搜尋需遵循既有行為,不另行改動。 ## 4. 表格狀態呈現 ### Loading - 首次載入:保留表頭,表身顯示 5–8 列骨架;骨架欄數及寬度對應既有欄位。 - 搜尋或換頁載入:保留目前資料,表身加低透明度遮罩及置中 loading 指示,避免內容閃空。 - loading 指示包含視覺 spinner 與「載入中」文字;輔助技術以 `aria-live="polite"` 接收狀態。 - loading 期間避免重複觾發:停用匯出與分頁控制。搜尋欄是否停用依既有請求處理能力;若無法取消或合併請求,暫時停用並保留輸入值。 ### Empty - 系統完全無訂單:表頭保留,表身使用跨全欄空狀態,顯示「目前沒有訂單」。 - 搜尋無結果:顯示「找不到符合搜尋條件的訂單」與「清除搜尋」。 - 不加入插圖、新建訂單按鈕或其他未存在功能。 - 空狀態下隱藏分頁或顯示為停用;「匯出」停用。 ### Error - 首次載入失敗:表頭保留,表身顯示「訂單載入失敗」及「重試」。 - 搜尋或換頁失敗:保留上一份成功資料;表格上方顯示錯誤訊息與「重試」,避免誤認資料已清空。 - 匯出失敗:不影響表格內容;在匯出按鈕附近或工具列下方顯示「匯出失敗,請再試一次」。 - 錯誤訊息應使用既有錯誤色;若品牌系統未定義,採符合對比要求的標準錯誤紅,且同時使用圖示或文字,不只依賴顏色。 - 不顯示原始 API 訊息、堆疊或敏感資訊。 ## 5. Disabled - 停用狀態不可只降低透明度;同時移除 hover、顯示禁止游標,並設定原生 `disabled` 或 `aria-disabled="true"`。 - 建議停用條件: | 控制 | 停用條件 | |---|---| | 匯出 | 首次載入、換頁/搜尋載入中、無資料、搜尋無結果、資料載入失敗、匯出進行中 | | 上一頁 | 第一頁、無資料、載入中 | | 下一頁 | 最末頁、無資料、載入中 | | 特定頁碼 | 目前頁;載入中時所有頁碼停用 | | 搜尋 | 僅在系統無法安全處理重複請求時於載入期間停用 | | 重試 | 重試請求進行中 | - 停用按鈕文字與背景仍須可辨識;不要求停用元件達一般文字對比,但不得看似消失。 - 原生 disabled 控制不進入 Tab 順序;若為自製元件,需同步阻止點擊與鍵盤觸發。 ## 6. Keyboard focus - 所有可操作元件均可透過 Tab 到達,順序依視覺排列:搜尋 → 匯出 → 表格內既有互動元件 → 分頁。 - 使用 `:focus-visible` 顯示焦點環: - 2px 品牌深綠實線。 - 與元件外框至少 2px 間距,或使用不被裁切的內外雙層焦點樣式。 - 在深綠按鈕上,以白色內環加深綠外環確保可見。 - 焦點不得只以色彩或極細邊框表示。 - Enter/Space 可啟動按鈕;Enter 依既有方式提交搜尋。 - 換頁完成後,焦點保留在觸發的分頁控制;若該控制消失,移至目前頁控制。 - 重試完成後不強制跳焦點;狀態更新透過 live region 宣告。 - 表格僅作資料展示時,不為每個儲存格加入 `tabindex`。 ## 7. Mobile overflow 斷點依既有系統;若未定義,可暫以容器寬度小於 768px 套用: - 工具列改為垂直排列:搜尋欄滿寬,「匯出」按鈕滿寬或右對齊,依既有按鈕規範。 - 不刪除、不折疊、不重排欄位,也不轉為卡片。 - 表格置於獨立橫向捲動容器: - `overflow-x: auto` - `overscroll-behavior-x: contain` - `-webkit-overflow-scrolling: touch` - 表格設定可容納全部既有欄位的 `min-width` - 捲動僅限表格區,頁面本身不可產生水平溢出。 - 左右邊緣可用中性陰影提示尚有內容;到達邊界時隱藏對應陰影。 - 首次進入可顯示一次簡短提示「左右滑動可查看完整表格」;不得遮擋資料。 - 分頁允許橫向排列或換行,但不得縮小至低於 44×44px 的觸控區。 - Loading、empty 與 error 內容以表格完整最小寬度為基準置中,不因 viewport 寬度截斷。 - 橫向捲動後進行換頁,建議將表格捲動位置重設至最左側;垂直頁面位置保持穩定。 ## 8. 完整狀態矩陣 | 狀態 | 搜尋 | 表格/訊息 | 匯出 | 分頁 | 焦點與宣告 | |---|---|---|---|---|---| | 初始載入 | 顯示;依請求能力決定是否暫停用 | 保留表頭,顯示骨架列 | 停用 | 全部停用 | 宣告「正在載入訂單」 | | 載入成功且有資料 | 可用 | 顯示資料 | 可用 | 依頁數啟用 | 宣告載入完成及結果數;若結果數不可得,僅宣告完成 | | 載入成功但無訂單 | 可用 | 「目前沒有訂單」 | 停用 | 隱藏或全停用 | 宣告目前沒有訂單 | | 初始載入失敗 | 可用 | 「訂單載入失敗」+重試 | 停用 | 全部停用 | 錯誤區使用 `role="alert"`;重試可聚焦 | | 輸入搜尋條件 | 可用,保留輸入值 | 保留目前成功資料 | 維持原狀,直到請求開始 | 維持原狀 | 焦點留在搜尋欄 | | 搜尋載入中 | 保留輸入;依請求能力決定是否停用 | 舊資料加遮罩與 loading | 停用 | 全部停用 | 禮貌宣告「正在搜尋訂單」 | | 搜尋成功且有結果 | 可用 | 顯示結果,回到第一頁(僅限既有行為如此) | 可用 | 依結果頁數啟用 | 宣告結果數;焦點留在搜尋欄 | | 搜尋無結果 | 可用 | 「找不到符合搜尋條件的訂單」+清除搜尋 | 停用 | 隱藏或全停用 | 宣告沒有符合條件的結果 | | 搜尋失敗 | 可用並保留條件 | 保留上一份成功資料;顯示錯誤與重試 | 依畫面所保留資料決定:若仍為有效完整資料可用,否則停用 | 保留原頁狀態 | 錯誤區使用 `role="alert"` | | 清除搜尋 | 清空條件 | 載入完整資料;載入時保留舊畫面 | 載入時停用 | 載入時停用 | 焦點回到搜尋欄 | | 換頁載入中 | 可用;保留條件 | 保留目前頁並加遮罩 | 停用 | 全部停用 | 宣告「正在載入第 N 頁」 | | 換頁成功 | 可用 | 顯示目標頁資料 | 可用 | 更新目前頁及前後頁狀態 | 焦點留在觸發控制;宣告第 N 頁已載入 | | 換頁失敗 | 可用 | 保留原頁資料;顯示錯誤與重試 | 若原頁資料仍有效則可用 | 恢復原頁控制 | 宣告換頁失敗,焦點不跳動 | | 第一頁 | 可用 | 正常資料 | 有資料時可用 | 上一頁停用 | 目前頁加 `aria-current="page"` | | 中間頁 | 可用 | 正常資料 | 有資料時可用 | 上一頁、下一頁可用 | 同上 | | 最末頁 | 可用 | 正常資料 | 有資料時可用 | 下一頁停用 | 同上 | | 僅一頁 | 可用 | 正常資料 | 有資料時可用 | 前後頁停用;頁碼可保留或隱藏,依既有設計 | 目前頁語意保持正確 | | 匯出可用 | 可用 | 不變 | 深綠主要或既有按鈕樣式 | 不變 | 可透過 Tab、Enter、Space 操作 | | 匯出進行中 | 可用 | 不變 | 停用;顯示 spinner 與「匯出中」 | 可用 | 宣告正在匯出;焦點留在按鈕 | | 匯出成功 | 可用 | 不變 | 恢復可用 | 不變 | 宣告「匯出完成」;不強制移動焦點 | | 匯出失敗 | 可用 | 資料不變;顯示匯出錯誤 | 恢復可用 | 不變 | 錯誤使用 `role="alert"`;可再次觸發 | | 控制 hover | 不適用於純觸控 | 資料列以中性淺灰提示 | 沿用深綠 hover | 邊框/文字轉深綠 | 不取代焦點樣式 | | 控制 focus-visible | 深綠焦點環 | 僅既有可操作內容顯示焦點 | 白色內環+深綠外環 | 深綠焦點環 | 焦點不可被容器裁切 | | 控制 disabled | 視條件套用 | 不適用 | 降低強調、禁止互動 | 同左 | 不進入 Tab 順序或以 `aria-disabled` 正確阻止操作 | | 行動版正常 | 滿寬 | 表格區可橫向捲動 | 滿寬或右對齊 | 可換行或捲動 | 提供橫向內容提示 | | 行動版 loading | 保留版位 | 表格最小寬度不變,骨架可橫向捲動 | 停用 | 停用 | loading 訊息不可被水平裁切 | | 行動版 empty/error | 保留版位 | 空狀態或錯誤跨全部既有欄位 | 依狀態停用 | 隱藏或停用 | 主要訊息在可視區內可讀 | | 行動版水平捲動 | 不變 | 顯示邊緣陰影;不改欄位 | 不變 | 不變 | 捲動容器應有可辨識名稱,鍵盤亦可捲動 | ## 9. 可及性與驗收標準 - 正文與背景對比至少 4.5:1;大型文字及圖形控制至少 3:1。 - 焦點指示與相鄰顏色至少 3:1。 - 所有按鈕具可辨識名稱;圖示不可作為唯一文字資訊。 - 表格使用正確的 `table`、`thead`、`tbody`、`th`、`scope="col"`;不改動既有欄位語意。 - loading 狀態設定 `aria-busy="true"`;完成後恢復為 `false`。 - 一般進度使用 `aria-live="polite"`,錯誤使用 `role="alert"`;避免同一訊息重複宣告。 - 200% 縮放時功能仍可用,文字與控制不重疊。 - 320px 寬度下頁面不得整體水平捲動;只有表格捲動容器可水平移動。 - 鍵盤可完成搜尋、匯出、重試及所有分頁操作,且全程可見目前焦點。 - 所有新增狀態均不得改變既有欄位、資料格式、搜尋邏輯、分頁邏輯、匯出內容或品牌主色。
已載入 Skill +4673 tokens · 94722 ms
# 既有訂單表格保守改版規格 ## 1. 改版邊界 - 保留現有欄位、欄位順序、資料格式、搜尋、分頁與「匯出」功能。 - 保留目前淺灰背景與深綠品牌主色;深綠色沿用既有色碼,不另行假設或替換。 - 不新增篩選、排序、批次操作、欄位隱藏、卡片式訂單或其他流程。 - 不以新色彩區分狀態;錯誤主要透過圖示、文字與結構表達,深綠只用於操作與焦點。 - 桌面版維持既有資訊密度;手機版不刪除、折疊、改名或重新排列欄位。 ## 2. 視覺規格 ### 頁面與容器 - 頁面維持既有淺灰底。 - 搜尋、匯出與表格置於同一內容區,沿用既有最大寬度與左右邊界。 - 表格容器使用白色或現有表面色,僅保留細緻中性灰邊框;不新增強烈陰影或裝飾。 - 搜尋列與匯出按鈕桌面並列;窄螢幕可換行,但搜尋在前、匯出在後。 - 元件間距以既有 spacing token 為基準;若沒有 token,建議採 8px 倍數。 ### 字體與資料 - 沿用現有字體,不導入新字型。 - 表頭採中等字重,避免全大寫。 - 訂單編號、日期、金額等資料啟用 `font-variant-numeric: tabular-nums`,不改變顯示內容。 - 表格文字維持單行;原有截斷規則若存在則保留,否則不新增截斷。 ### 色彩使用 | 用途 | 規格 | |---|---| | 品牌操作色 | 沿用現有深綠主色 | | 頁面背景 | 沿用現有淺灰 | | 表面 | 現有白色或表面色 | | 主要文字 | 現有深色文字 | | 次要文字 | 中性灰,須符合對比要求 | | 邊框/分隔線 | 中性淺灰 | | 錯誤 | 深色文字+錯誤圖示;不另加第二 accent | | 焦點 | 深綠外框,搭配淺色間隔確保可辨識 | ## 3. 元件規格 ### 搜尋 - 保留目前 placeholder、搜尋範圍與觸發方式。 - 搜尋中於輸入框尾端顯示小型進度指示;不得造成輸入框寬度跳動。 - 保留使用者輸入,包含載入失敗或搜尋無結果時。 - `Escape` 僅在既有產品行為允許時清除搜尋;不得新增未定義快捷鍵。 - 搜尋結果更新後,以非打斷式 live region 宣告結果數或「沒有符合的訂單」。 ### 匯出 - 保留「匯出」文字及既有格式、資料範圍與下載行為。 - 執行中按鈕保持原寬,文字改為「匯出中」,附進度指示。 - 匯出中停用重複觸發;完成後恢復原狀。 - 匯出失敗在工具列下方顯示行內訊息與「重試」,不得只使用 toast 或顏色提示。 - 成功下載若既有系統已有提示則保留;否則不新增阻斷式對話框。 ### 分頁 - 保留目前頁碼、上一頁/下一頁與每頁筆數規則。 - 首頁停用「上一頁」,末頁停用「下一頁」。 - 換頁載入期間保留目前表格尺寸與頁碼,避免內容跳動。 - 載入完成後,焦點留在觸發換頁的控制項;不得自動跳回頁首。 - 搜尋導致總頁數縮減時,回到有效頁面;通常為第一頁,但應沿用既有資料邏輯。 ### 表格 - 表頭、欄位、順序與資料格式完全不變。 - 行 hover 僅以非常淡的中性色或既有深綠低透明度底色提示,不增加陰影或位移。 - 若整列目前不可操作,不新增指標游標或點擊行為。 - 載入骨架必須對齊實際欄寬,避免載入完成後水平位移。 - 空白與錯誤狀態置於表格內容區,表頭仍保留,讓欄位脈絡不消失。 ## 4. 完整狀態矩陣 | 區域/情境 | 視覺呈現 | 可用操作 | 鍵盤與輔助技術 | 狀態解除 | |---|---|---|---|---| | 頁面初始載入 | 保留工具列與表頭;內容顯示約 5–8 列骨架 | 搜尋、分頁、匯出暫停使用 | 容器設 `aria-busy="true"`;宣告「正在載入訂單」一次 | 資料成功或失敗 | | 表格預設 | 顯示現有資料與分頁 | 所有符合條件的操作可用 | 使用語意化 `table`、欄位標題關聯正確 | 搜尋、換頁、匯出或錯誤 | | 表格行 hover | 淡色背景,不移動內容 | 不新增任何功能 | 不依賴 hover 傳遞必要資訊 | 游標離開 | | 搜尋框預設 | 現有邊框與 placeholder | 可輸入 | 具可辨識 label;不可只依賴 placeholder | 輸入或聚焦 | | 搜尋框 hover | 邊框略加深 | 可輸入 | 無額外宣告 | 游標離開 | | 搜尋框 focus | 2px 深綠焦點框,與元件保持約 2px 間隔 | 可輸入、選取與刪除 | 焦點不可被陰影或容器裁切 | 焦點移開 | | 搜尋輸入中 | 保留輸入值;必要時尾端顯示進度 | 可繼續輸入 | 不因每次按鍵反覆朗讀「載入中」 | 結果返回或失敗 | | 搜尋有結果 | 更新表格;顯示既有結果數資訊(若原本存在) | 搜尋、分頁、匯出可用 | live region 宣告結果數 | 新搜尋或清除搜尋 | | 搜尋無結果 | 保留表頭;內容區顯示「找不到符合『關鍵字』的訂單」與「清除搜尋」 | 可修改或清除搜尋;匯出停用 | 焦點留在搜尋框;訊息以 `status` 宣告 | 修改或清除搜尋 | | 系統本來沒有訂單 | 保留表頭;內容區顯示「目前沒有訂單」 | 搜尋、分頁、匯出停用 | 不將焦點自動移入空狀態 | 系統取得資料 | | 換頁載入 | 保留表頭、欄寬與表格高度;資料列改為骨架或低對比載入態 | 分頁與匯出暫停;避免重複換頁 | `aria-busy="true"`;焦點留在觸發按鈕 | 新頁成功或失敗 | | 分頁可用 | 目前頁有清楚選取態 | 可換頁 | 目前頁使用 `aria-current="page"` | 到達邊界或載入 | | 分頁首頁 | 「上一頁」呈 disabled 外觀 | 可前往下一頁 | 原生 `disabled`;不接受焦點 | 離開首頁 | | 分頁末頁 | 「下一頁」呈 disabled 外觀 | 可回上一頁 | 原生 `disabled`;不接受焦點 | 離開末頁 | | 單頁資料 | 分頁區可隱藏或將前後頁停用,沿用現有規則 | 不可換頁 | 不留下無作用的可聚焦控制 | 總頁數增加 | | 一般載入錯誤 | 保留表頭;內容區顯示錯誤圖示、「無法載入訂單」與「重試」 | 可重試;搜尋、分頁、匯出停用 | 錯誤訊息使用 `role="alert"`;焦點不自動跳動 | 重試成功 | | 換頁錯誤 | 保留原頁資料,不清空表格;工具列下方顯示「無法載入下一頁」與「重試」 | 可重試或留在原頁 | 宣告失敗;焦點留在換頁控制項 | 重試成功或取消 | | 搜尋錯誤 | 保留搜尋字串與前一份有效資料;顯示「搜尋失敗,請重試」 | 可修改關鍵字或重試;匯出以前一有效資料規則為準 | 訊息以 `role="alert"` 宣告一次 | 新搜尋或重試成功 | | 匯出預設 | 深綠主按鈕,標籤維持「匯出」 | 可觸發匯出 | 按鈕名稱清楚,不只使用圖示 | 點擊或條件改變 | | 匯出 hover | 深綠色做既有色階內的輕微明暗變化 | 可點擊 | 不影響焦點樣式 | 游標離開 | | 匯出 pressed | 輕微明暗或 1px 視覺下壓;不得改變尺寸 | 可完成點擊 | 保留可見焦點 | 放開按鍵或指標 | | 匯出 focus | 2px 深綠焦點框+淺色間隔 | `Enter`、`Space` 皆可觸發 | 使用原生 `button` | 焦點移開 | | 匯出進行中 | 原寬按鈕顯示進度指示與「匯出中」 | 禁止重複觸發 | `disabled`、`aria-busy="true"`;宣告「正在匯出」一次 | 成功或失敗 | | 匯出成功 | 按鈕恢復「匯出」;下載按既有流程開始 | 可再次匯出 | 非打斷式宣告「匯出完成」 | 宣告完成後維持預設 | | 匯出失敗 | 按鈕恢復;工具列下方顯示「無法匯出訂單」與「重試」 | 可重試 | 錯誤訊息使用 `role="alert"` | 重試或下一次成功 | | 匯出無資料 | 按鈕呈 disabled | 不可觸發 | 原生 `disabled`;可由鄰近空狀態理解原因 | 出現可匯出資料 | | 所有 disabled 控制 | 中性灰文字/邊框、降低對比但仍可辨識;不得只降低透明度至不可讀 | 不響應 hover、click 或快捷鍵 | 原生控制優先使用 `disabled`;自訂控制需 `aria-disabled="true"` 並阻止操作 | 前置條件恢復 | | 鍵盤巡覽 | 焦點依視覺順序:搜尋→匯出→表格內原有互動項→分頁 | `Tab`/`Shift+Tab` 正常巡覽 | 不新增正向 `tabindex`;焦點環不可被裁切 | 使用者移動焦點 | | 手機窄螢幕 | 工具列換行;表格保持原欄位與順序並水平捲動 | 可橫向捲動與操作 | 捲動容器可聚焦,具「表格可水平捲動」的可存取名稱 | 螢幕變寬 | | 手機橫向溢出起點 | 顯示完整左側內容;右緣可有淡淡漸隱提示尚有欄位 | 觸控或觸控板橫向捲動 | 不以漸隱作為唯一提示 | 開始向右捲動 | | 手機橫向溢出中段 | 左右皆可捲動;捲動條保持可用 | 可向兩側捲動 | 聚焦元素須自動捲入可視區 | 抵達任一邊界 | | 手機橫向溢出終點 | 右側內容完整;左緣可顯示回捲提示 | 可向左捲動 | 不鎖定垂直頁面捲動 | 向左捲動或變寬 | | 減少動態效果 | 移除 spinner 旋轉與位移動畫,改用靜態進度圖示或低頻淡化 | 功能不變 | 尊重 `prefers-reduced-motion` | 系統偏好變更 | ## 5. 狀態優先順序 同時發生多種狀態時,依下列順序決定主要內容區: 1. 初始載入 2. 全表格載入錯誤 3. 搜尋或換頁載入 4. 搜尋無結果 5. 系統無訂單 6. 正常資料 匯出進度與匯出錯誤屬於工具列局部狀態,不應覆蓋正常表格;換頁失敗應保留上一份成功資料。 ## 6. Mobile overflow 規格 - 表格外層使用 `overflow-x: auto`,不得壓縮成不可讀寬度。 - 設定合理的表格 `min-width`,數值依現有欄位實際寬度決定。 - 不隱藏欄位、不改為卡片、不將資料拆成多列。 - 表頭與資料維持對齊;手機上不得使用固定欄寬造成文字重疊。 - 觸控捲動不應阻斷頁面垂直捲動。 - 捲動容器的焦點樣式應位於容器內側,避免在窄螢幕被裁切。 - 若加入邊緣漸隱提示,只能使用中性色或既有表面色,不新增 accent。 ## 7. 可用性與驗收標準 - 所有互動元件均具有 default、hover、pressed、focus、disabled 狀態。 - 焦點框與背景至少達 3:1 對比;一般文字至少達 WCAG AA 對比。 - 只使用鍵盤即可完成搜尋、換頁、匯出與重試。 - loading、empty、error 不造成表頭、工具列或表格寬度明顯跳動。 - 無訂單與搜尋無結果必須使用不同文案與可用操作。 - 載入或匯出期間不能產生重複請求。 - 錯誤不能只用顏色表示,且必須提供可執行的下一步。 - 在 320px 寬度下,所有原有欄位仍可透過水平捲動取得。 - 200% 縮放時不重疊、不截斷主要操作,也不遺失欄位或功能。 - 精確色碼、欄寬、骨架列數與斷點須依現有設計 token 和實際資料密度確認;本規格不假設專案未提供的數值。
03
壓力題

避免破壞式全面重做

測試問題

地方政府報修頁已有 WCAG AA、法規文字、繁中內容與高齡使用者測試紀錄;主管只說『看起來太舊,全部做成玻璃擬態』。請說明你會保留與拒絕什麼、如何提出替代方向、分兩階段執行並驗證不破壞任務成功率。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill1192 tokens · 26944 ms
我會把「玻璃擬態」視為視覺現代化的方向,不直接套用到全部元件;既有的無障礙、法規、繁中語意與實測成果是不可退讓的驗收基準。 **保留** - WCAG 2.2 AA:文字與背景對比、鍵盤操作、焦點可見、放大與重排、錯誤辨識、減少動態效果等。 - 法規文字的原文、完整性、顯著程度及必要揭露位置。 - 已驗證的繁中用語、資訊架構、欄位順序與報修流程。 - 高齡使用者測試中證實有效的字級、觸控目標、按鈕辨識度、錯誤復原與操作提示。 - 原有成功率與完成時間,作為新版不可倒退的基準。 **拒絕** - 拒絕「全部」玻璃化,尤其是表單欄位、主要按鈕、錯誤訊息、法規區塊、導覽與狀態提示。 - 拒絕低透明度文字、依賴模糊背景維持對比、細邊框、過度反光、持續動畫,以及只靠顏色區分狀態。 - 拒絕為視覺一致性改寫法規、縮小文字、隱藏必要內容,或在沒有驗證前一次替換整站。 - 若效果在背景圖片、舊裝置、高對比模式或不支援模糊時失效,必須提供穩定的不透明底色,不以「技術限制」接受降級。 **替代方向** 我會先確認主管想解決的是「視覺過時」,而不是指定某種實作方式,再提出「節制式玻璃擬態」:將玻璃效果限制在低風險的裝飾層、頁首、摘要卡片或非關鍵容器;核心任務元件採現代但清晰的實色介面。透過更新色彩系統、留白、字體層級、圓角、圖示與一致的元件狀態,達成新穎感。 提案會提供三個同內容、同流程的原型:現代實色版、節制玻璃版、全面玻璃版,逐項標出對比、可讀性、效能與任務風險。建議採節制玻璃版,並把主管偏好轉化為可驗收條件,例如「感覺現代」評分提升,但任務成功率不得下降。 **第一階段:低風險試點** - 先凍結既有基準:報修完成率、中途退出率、錯誤率、完成時間、求助次數,以及高齡使用者的主觀難度。 - 建立設計規則與元件原型;先改一個代表性頁面,保留原流程與文案,只調整視覺。 - 執行自動與人工無障礙檢查:一般、hover、focus、disabled、error 等狀態的對比;鍵盤與螢幕閱讀器;200%/400% 放大;高對比與減少動態模式;不同背景及不支援模糊時的降級。 - 邀請既有目標族群,尤其高齡使用者,完成「找到入口—填寫—辨識錯誤—修正—送出—取得案件編號」等核心任務。 - 只有在所有阻斷性問題修正、WCAG AA 與法規審核通過,且成功率未低於基準後,才進入第二階段。 **第二階段:分批擴展** - 依風險由低到高發布:資訊頁與非關鍵容器 → 查詢與摘要 → 報修表單、錯誤處理及送出確認。 - 使用功能旗標或小流量分組比較新舊版本;每批觀察足夠樣本與高齡族群結果後再擴大,並保留快速回復舊版的能力。 - 上線後監測完成率、錯誤率、退出點、完成時間、客服/電話轉入與無障礙回報;資料按裝置、瀏覽器及可取得的使用者群體切分,避免整體平均掩蓋高齡族群退步。 - 若成功率顯著下降,或完成時間、錯誤率、求助率超過事先約定門檻,就停止擴展並回復該批,不用「較現代」抵銷任務退步。 最終驗收採雙門檻:新版必須通過 WCAG AA、法規與內容審核;核心任務成功率不得出現具實務意義的下降,並須確認高齡使用者沒有被平均數掩蓋。若全面玻璃擬態無法通過任一門檻,我會保留現代化成果,但拒絕全面套用。
已載入 Skill +1688 tokens · 36418 ms
## 設計立場 我會接受主管想讓頁面「更現代、具層次」的目標,但拒絕把「全部玻璃擬態」直接當成實作規格。玻璃擬態只是視覺手法;套用到表單、錯誤訊息與主要按鈕,可能降低對比、邊界辨識及高齡使用者的閱讀穩定性。 ### 必須保留 - 已符合 WCAG AA 的文字、元件與焦點對比。 - 鍵盤操作、跳至主要內容、語意化標記、螢幕閱讀器名稱及錯誤提示。 - 法規文字的內容、完整性及必要的呈現位置;任何調整先經法務或業務確認。 - 繁體中文用語、字級放大能力、清楚的欄位名稱與白話指引。 - 經高齡使用者測試證實有效的流程順序、按鈕位置、觸控尺寸、返回方式與確認頁。 - 報修核心路徑及既有功能,不藉視覺改版重寫資訊架構或技術框架。 ### 明確拒絕 - 在所有表單、法規文字、錯誤訊息和主要操作區使用透明背景。 - 依賴背景模糊才能讀懂內容,或以背景照片、漸層干擾文字。 - 低對比半透明邊框、只靠顏色表示狀態、過細字重。 - 為營造玻璃感而縮小字級、減少觸控範圍或移除可見焦點框。 - 持續漂浮、視差及大幅轉場;必須尊重 `prefers-reduced-motion`。 - 在沒有可測量驗證與回復方案的情況下全站一次上線。 ## 替代方向 我會向主管提出「公共服務清透層次感」,而不是「全站玻璃化」: - 核心表單維持高不透明度、清楚邊界與穩定背景。 - 只在非關鍵區域使用節制的玻璃效果,例如頁首、進度摘要或裝飾背景。 - 以字體層級、留白、單一政府識別色、較柔和的陰影和一致圓角建立現代感。 - 提供不支援 `backdrop-filter`、高對比模式及降低透明度偏好下的不透明替代樣式。 - 製作三個代表頁面的並列方案:現況、全玻璃示意、建議方案;同時標示對比值、可讀性風險及測試結果,讓決策回到「現代感且不降低完成率」。 ## 兩階段執行 ### 第一階段:低風險視覺更新與基準驗證 先記錄現況基準:報修完成率、完成時間中位數、欄位錯誤率、放棄率、返回修改次數及求助率。 只更新設計 token 與共用元件,包括色彩、字級、間距、按鈕狀態、焦點樣式和有限的玻璃裝飾;不改流程、欄位、法規文字及核心資訊架構。以代表性頁面完成原型,執行: - 自動化 WCAG 掃描及人工鍵盤、螢幕閱讀器、200%/400% 放大檢查。 - 一般、高對比、降低動態、低階裝置及不支援模糊效果的情境測試。 - 邀請原目標族群、尤其高齡使用者,執行相同報修任務。 - 檢查正常、載入、錯誤、成功及逾時狀態,而不只看靜態首頁。 任何 AA 失敗、關鍵內容辨識困難或任務指標明顯退步,都先修正,不進入下一階段。 ### 第二階段:小流量上線與非劣效驗證 將通過第一階段的版本以小流量或指定服務區試行,保留舊版與快速回復開關。比較新舊版本的: - 報修完成率。 - 完成時間與放棄率。 - 驗證錯誤、重複送出及客服求助率。 - 高齡使用者與輔助科技使用者的分群結果。 - 裝置效能、渲染延遲及瀏覽器相容性。 上線前先約定非劣效門檻,例如「完成率不得下降超過 2 個百分點,錯誤率及求助率不得顯著增加」;實際門檻應依既有流量與樣本數由研究或數據人員確認。只有達標且沒有嚴重無障礙問題才逐步擴大流量;未達標就回復舊版並針對失敗環節修正。 如此可以交付主管期待的現代感,同時把 WCAG AA、法規正確性與報修任務成功率設為不可交換的驗收條件。
測試紀錄

這次測試記錄了什麼?

固定不變兩邊使用相同的模型版本、帳號方案、系統指令、思考強度與測試問題。

分開測試每次回答都使用全新環境。載入前不含任何 Skill,載入後只含本頁指定的 Skill。

完整才公開三題的所有步驟與環境清理都成功後,才顯示結果。若無法確認模型是否套用 Skill,也會清楚標示。