前端設計

ui-ux-pro-max

以可及性、觸控、效能、響應式、字體與色彩等優先規則規劃介面,能把固定產品條件整理成設計系統與可檢查的交付規格。

查看來源 ↗
作者/來源nextlevelbuilder★ 126,358 GitHub Stars
測試版本4aad0584d921更新日期:2026-09-06T11:29:23Z
支援平台OpenAI · Claude本次實測平台
安裝方式npx skills add nextlevelbuilder/ui-ux-pro-max-skill --skill ui-ux-pro-max
公平比較方式

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

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

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

規劃行動版預約表單

測試問題

請為手機優先的診所預約頁建立精簡 UI 規格。欄位只有日期、時段、姓名、電話;主要按鈕是『確認預約』;使用者包含高齡者。請輸出資訊階層、尺寸與間距、色彩/字體 token、錯誤與 loading 狀態、鍵盤與螢幕閱讀器檢查。不得使用 emoji 或虛構品牌資產。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill1887 tokens · 38730 ms
# 手機優先診所預約頁 UI 規格 ## 1. 資訊階層 1. 頁面標題:「預約看診」 2. 必要說明:「請填寫以下資料,所有欄位皆為必填。」 3. 預約表單: - 日期 - 時段 - 姓名 - 電話 4. 主要按鈕:「確認預約」 5. 送出後的成功訊息與預約摘要: - 日期 - 時段 - 姓名 - 電話末三碼 6. 錯誤摘要:送出失敗時置於標題說明與第一個欄位之間 使用單欄排列,不使用多步驟流程、浮動按鈕或僅靠圖示表意的控制項。 ## 2. 尺寸與間距 - 內容寬度:`100%`,最大 `480px` - 頁面左右留白:`20px` - 頂部與底部留白:`24px` - 標題下方間距:`12px` - 說明至表單:`24px` - 欄位群組間距:`20px` - 標籤至輸入框:`8px` - 輸入框高度:至少 `52px` - 輸入框內距:上下 `12px`、左右 `16px` - 按鈕高度:至少 `56px` - 按鈕與最後欄位間距:`28px` - 可點擊區域:至少 `44 × 44px` - 圓角:輸入框 `8px`、按鈕 `10px` - 邊框:一般 `1px`、焦點 `3px` - 頁面允許縮放至 `200%`,不得鎖定縮放或產生水平捲動 ## 3. 色彩與字體 Token ### 色彩 ```text --color-bg: #FFFFFF --color-surface: #F7F8FA --color-text-primary: #1A1A1A --color-text-secondary: #4B5563 --color-border: #68717D --color-primary: #075EA8 --color-primary-hover: #064D89 --color-primary-active: #043C6B --color-on-primary: #FFFFFF --color-focus: #FFBF47 --color-error: #B42318 --color-error-bg: #FFF1F0 --color-disabled-bg: #D9DEE5 --color-disabled-text: #535B66 ``` - 一般文字對背景對比至少 `4.5:1` - 大字與介面邊界至少 `3:1` - 狀態不可只以顏色區分,須搭配文字與邊框 ### 字體 ```text --font-family: system-ui, -apple-system, "Segoe UI", sans-serif --font-size-title: 28px --font-size-body: 18px --font-size-label: 18px --font-size-input: 18px --font-size-help: 16px --font-size-error: 16px --font-weight-regular: 400 --font-weight-medium: 600 --font-weight-bold: 700 --line-height-title: 1.3 --line-height-body: 1.5 ``` 文字須可放大至 `200%`;不使用小於 `16px` 的文字或全大寫長句。 ## 4. 欄位規格 - 所有欄位均提供固定可見的 `<label>`,不可只用 placeholder。 - 必填狀態以「必填」文字標示,不只使用星號。 - 日期:優先使用原生日期選擇器,並顯示可接受格式,例如「年/月/日」。 - 時段:使用原生單選按鈕或 `<select>`;已額滿時段顯示「已額滿」並停用。 - 姓名:`autocomplete="name"`。 - 電話:`type="tel"`、`inputmode="tel"`、`autocomplete="tel"`;允許常見空格與連字號,驗證時再正規化。 - 不在輸入期間過早顯示錯誤;離開欄位或送出後再驗證。 ## 5. 錯誤與 Loading 狀態 ### 欄位錯誤 - 錯誤欄位使用錯誤色邊框,並在欄位下方顯示具體文字。 - 範例: - 「請選擇日期。」 - 「請選擇時段。」 - 「請輸入姓名。」 - 「請輸入可聯絡的電話號碼。」 - 錯誤文字與欄位以 `aria-describedby` 關聯。 - 欄位設定 `aria-invalid="true"`。 - 送出失敗後: - 頁首顯示錯誤摘要。 - 焦點移至錯誤摘要。 - 摘要內提供可跳至各錯誤欄位的連結。 - 保留使用者已輸入的內容。 ### 系統錯誤 顯示:「目前無法完成預約,請稍後再試。」不得將技術錯誤碼作為唯一說明;若可能重複建立預約,重新送出前應先確認結果。 ### Loading - 按下「確認預約」後,按鈕文字改為「預約處理中」。 - 防止重複送出,但不可清除表單內容。 - 透過 `aria-busy="true"` 表示處理中。 - 使用 `role="status"`、`aria-live="polite"` 宣告「正在處理預約,請稍候。」 - 不使用只靠旋轉圖示表達的 loading。 - 成功後以 `role="status"` 宣告結果,並將焦點移至成功標題。 ## 6. 鍵盤檢查 - 僅使用鍵盤即可完成所有欄位、日期選擇、時段選擇及送出。 - Tab 順序符合視覺順序:日期、時段、姓名、電話、確認預約。 - 不使用正值 `tabindex`。 - 所有互動元件皆有清楚且持續可見的焦點框。 - Enter 可送出表單;不得因按 Enter 意外清除內容。 - 原生日期與選單控制項可使用方向鍵操作。 - 不產生鍵盤陷阱。 - 錯誤後焦點可到達摘要,並可返回錯誤欄位。 - 螢幕鍵盤開啟時,當前欄位及按鈕不得被固定元素遮擋。 ## 7. 螢幕閱讀器檢查 - 頁面僅有一個語意明確的 `<h1>`。 - 表單使用 `<form>`;欄位使用原生輸入、選單、單選按鈕與按鈕元素。 - 每個欄位皆有程式化關聯的名稱,朗讀內容包含欄位名稱及必填狀態。 - 相關時段以 `<fieldset>` 與 `<legend>` 分組。 - placeholder 不作為唯一標籤或格式說明。 - 錯誤、loading 與成功訊息可被宣告,但不重複播報。 - 停用時段可被辨識為不可選,且名稱包含「已額滿」。 - 按鈕名稱在一般狀態為「確認預約」,處理中狀態能被正確宣告。 - 成功摘要依日期、時段、姓名、電話末三碼的順序朗讀。 - 以 VoiceOver 與 TalkBack 各完成一次完整流程,包括正常送出、欄位錯誤與系統錯誤。
已載入 Skill +2983 tokens · 62715 ms
# 手機優先診所預約頁 UI 規格 ## 資訊階層 1. 頁面標題:「預約看診」 2. 簡短說明:「請填寫以下資料完成預約」 3. 表單,依序排列: - 日期 - 時段 - 姓名 - 電話 4. 表單錯誤摘要;僅送出失敗時顯示 5. 主要按鈕:「確認預約」 6. 預約結果訊息 所有欄位使用常駐可見的文字標籤,不以 placeholder 取代。單欄垂直排列,不加入行銷內容、裝飾圖像或虛構品牌資產。 ## 尺寸與間距 - 最小支援寬度:320px;主要檢查 375px - 內容最大寬度:480px,較寬裝置置中 - 頁面左右內距:16px;寬度 ≥ 480px 時為 24px - 頂部與底部:至少 24px,並納入裝置 safe area - 標題至說明:8px - 說明至表單:24px - 欄位群組間距:20px - 標籤至控制項:8px - 控制項至提示/錯誤文字:6px - 最後欄位至按鈕:32px - 輸入框與日期控制項:寬 100%、高至少 56px、內距 16px - 時段選項:高至少 48px;選項間距 8px;可換行排列 - 按鈕:寬 100%、高 56px - 圓角:輸入框 8px、按鈕 10px - 鍵盤開啟時,聚焦欄位與錯誤訊息不得被固定按鈕遮住 - 支援文字放大至 200%,不得截字、重疊或產生水平捲動 ## 色彩/字體 Token ```text color.background #F8FAFC color.surface #FFFFFF color.text.primary #172033 color.text.secondary #475569 color.border #64748B color.primary #0369A1 color.on-primary #FFFFFF color.primary-soft #E0F2FE color.error #B91C1C color.on-error #FFFFFF color.error-soft #FEF2F2 color.focus #0C4A6E color.disabled-bg #CBD5E1 color.disabled-text #475569 ``` - 一般文字與背景對比至少 4.5:1。 - 控制項邊界、焦點框及狀態圖形對比至少 3:1。 - 錯誤、選取與 disabled 狀態不得只靠顏色表示。 ```text font.family system-ui, -apple-system, "Noto Sans TC", sans-serif font.weight.regular 400 font.weight.medium 500 font.weight.bold 700 font.page-title 28px / 1.35 / 700 font.body 18px / 1.55 / 400 font.label 18px / 1.45 / 500 font.input 18px / 1.45 / 400 font.button 18px / 1.2 / 700 font.helper 16px / 1.5 / 400 ``` 不鎖定使用者縮放,不使用低對比淡灰字或全大寫按鈕文字。 ## 錯誤與 Loading 狀態 ### 驗證時機 - 離開欄位後驗證;送出時再次完整驗證。 - 使用者輸入期間不反覆跳出錯誤。 - 錯誤訊息放在對應欄位正下方,保留使用者已輸入的內容。 - 多個錯誤時,在表單上方顯示可聚焦的錯誤摘要,並提供跳至各欄位的連結。 ### 錯誤文案 - 日期:「請選擇預約日期」 - 過去日期:「預約日期不能早於今天」 - 時段:「請選擇預約時段」 - 時段失效:「此時段已無法預約,請重新選擇」 - 姓名:「請輸入姓名」 - 電話空白:「請輸入電話號碼」 - 電話格式:「請確認電話號碼格式」 電話格式應依診所實際服務地區決定;未確認地區前,不限制特定國碼或位數,並允許空格、連字號與括號。 ### 顯示方式 - 錯誤欄位使用錯誤色邊框、文字訊息及文字標記,不只改變顏色。 - 無效欄位設定 `aria-invalid="true"`。 - 錯誤文字以 `aria-describedby` 關聯欄位。 - 系統或網路失敗時顯示:「預約未完成,請檢查連線後再試一次」;保留所有資料並提供「重新嘗試」。 ### Loading - 點擊「確認預約」後立即進入 loading。 - 按鈕文字改為「預約處理中」,顯示非 emoji 的進度指示。 - 按鈕保持原尺寸,設為 disabled,避免重複送出。 - 使用 `aria-busy="true"`;狀態文字透過禮貌型 live region 宣告。 - 若處理超過約 10 秒,補充顯示:「處理時間較長,請稍候」。 - 成功後宣告「預約已完成」,並將焦點移至結果標題。 - 動畫須支援 `prefers-reduced-motion`;關閉動態時改用靜態狀態變化。 ## 鍵盤檢查 - Tab 順序符合視覺順序:日期 → 時段 → 姓名 → 電話 → 確認預約。 - 時段若為單選群組,方向鍵切換選項,Tab 僅進出群組一次。 - Enter 或 Space 可操作時段與按鈕。 - 所有互動元件都有至少 3px、清楚且不被裁切的焦點框。 - 不移除瀏覽器預設焦點而未提供替代樣式。 - 鍵盤開啟、頁面縮放及直向/橫向模式下,焦點不被遮住。 - 驗證失敗後,焦點移至錯誤摘要;摘要連結可直接聚焦對應欄位。 - 日期選擇器須可不用觸控手勢完成操作。 - 不設置鍵盤陷阱。 ## 螢幕閱讀器檢查 - 使用語意化 `<form>`、`<label>`、`<input>`、`<fieldset>`、`<legend>` 與 `<button>`。 - 頁面只有一個清楚的主要標題。 - 每個欄位都有程式化關聯的可見標籤。 - 日期欄位的名稱、格式提示及目前值可被完整朗讀。 - 時段群組朗讀群組名稱、選項名稱、選取狀態及不可用狀態。 - 姓名使用 `autocomplete="name"`。 - 電話使用 `type="tel"`、`inputmode="tel"`、`autocomplete="tel"`。 - 必填狀態由原生 `required` 或等效語意表達,不只顯示星號。 - 錯誤訊息在出現時會被朗讀,但不因每次按鍵重複打斷使用者。 - Loading、成功與系統錯誤透過 live region 宣告。 - disabled 按鈕及無法預約的時段會正確朗讀其不可用狀態。 - 裝飾性進度圖形從無障礙樹隱藏;不得使用 emoji 傳達狀態。 - 使用 VoiceOver 與 TalkBack 各完成一次完整預約流程測試。
02
實務題

審查儀表板可及性

測試問題

某桌面儀表板使用 11px 灰字、只有 hover 才出現操作、紅綠色區分告警、固定 1280px 寬、所有按鈕都只有圖示且移除了 focus outline。請依嚴重度列出問題、具體修正值與驗收方式,並補充 390px 手機版應如何重排。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill1838 tokens · 37668 ms
| 嚴重度 | 問題 | 具體修正值 | 驗收方式 | |---|---|---|---| | 阻斷 | 移除 focus outline,鍵盤使用者無法辨識目前位置 | 所有互動元件使用 `:focus-visible`;至少 `2px` 實線焦點框、`2px` offset,焦點框與相鄰顏色對比至少 `3:1`。焦點不可被容器裁切或遮住 | 僅用 `Tab`、`Shift+Tab`、Enter、Space、方向鍵完成所有流程;每一步都有清楚焦點,順序符合視覺與閱讀順序 | | 阻斷 | 操作只有 hover 才出現,觸控與鍵盤可能無法發現或使用 | 主要操作永久顯示;次要操作至少在 `hover`、`focus-within` 時顯示,並提供可見的「更多操作」按鈕。不可用 hover 作為唯一入口 | 關閉滑鼠,以鍵盤和 390px 觸控模擬器完成每項操作;聚焦列項時操作立即出現;不需長按或猜測手勢 | | 阻斷 | 僅以紅/綠區分告警,色覺差異或灰階環境下無法辨識 | 同時加入圖示、文字及狀態標籤,例如「嚴重告警」「正常」;不要只寫「紅色項目」。告警色與背景對比:文字至少 `4.5:1`,圖示及狀態邊界至少 `3:1` | 使用灰階與紅綠色盲模擬檢查;遮住顏色後仍能從文字或圖示判斷狀態;螢幕閱讀器能讀出狀態名稱 | | 高 | 固定 `1280px` 寬造成小視窗水平捲動、內容截斷 | 改為流動式容器:`width: 100%`、`max-width: 1280px`、置中;桌面左右 padding `24–32px`,平板 `20px`,手機 `16px`。版面以 Grid/Flex 自動換行,避免頁面級水平捲動 | 在 1280、1024、768、390、320px 測試;頁面不產生水平捲軸,內容與操作不被裁切;放大至 400% 後仍可使用 | | 高 | 所有按鈕只有圖示,語意與用途不明 | 常用或高風險操作顯示「圖示+文字」;純圖示按鈕必須有可存取名稱,如 `aria-label="刪除報表"`,並提供 tooltip。可點區桌面至少 `32×32px`,觸控至少 `44×44px`,相鄰觸控目標保留至少 `8px` 間距 | 逐一用螢幕閱讀器確認按鈕讀出具體動作;200% 縮放後不重疊;390px 實機可單手準確點擊。危險操作另須二次確認或可復原 | | 高 | `11px` 灰字閱讀困難,且可能對比不足 | 一般正文與表格內容至少 `14px`,優先 `16px`;輔助資訊不得低於 `12px`,行高 `1.4–1.6`。一般文字對比至少 `4.5:1`;大字才可使用 `3:1` | 用對比檢測工具逐一量測;瀏覽器放大 200% 後文字不截斷、重疊或消失;使用者不需靠 hover 才能看完整內容 | | 中 | 密集儀表板可能缺少清楚層級與狀態回饋 | 標題、區塊、表格欄名使用一致階層;載入、成功、錯誤與空狀態須有文字說明。動態告警可用適當的 live region 宣告,但避免重複播報 | 檢查標題階層與閱讀順序;新增或更新告警時,螢幕閱讀器能得知變化;空資料與載入失敗不呈現成空白區域 | ### 390px 手機版重排 1. 採單欄版面,內容寬度為 `100%`,左右 padding `16px`;移除固定高度與固定欄寬。 2. 頂部依序排列:頁面標題 → 關鍵狀態摘要 → 篩選/日期 → 主要操作 → 圖表與明細。主要操作保留文字標籤。 3. 多張 KPI 卡改為單欄,或兩欄等寬排列;卡片間距 `12px`。重要告警置頂,不依桌面座標維持位置。 4. 側邊導覽收合為可存取的導覽按鈕與抽屜;開啟後焦點移入,Tab 不得跑到背景,關閉後焦點回到觸發按鈕。 5. 篩選條改為「篩選」按鈕開啟底部面板;按鈕顯示已套用數量,例如「篩選(3)」。 6. 桌面表格優先轉為逐筆卡片:名稱/主狀態置頂,其餘欄位使用「欄名:值」垂直排列。若資料必須維持表格,僅表格容器可水平捲動,首欄固定並提供捲動提示。 7. 圖表使用 `width: 100%`,高度約 `220–280px`;減少非必要刻度,圖例換行。每張圖表須另有文字摘要或可存取資料表。 8. 列項操作不可依賴 hover;保留明確的 `44×44px`「更多操作」按鈕。常用動作可直接顯示,破壞性動作放入選單末端。 9. 長文字允許換行,數值與單位不可被拆散;不得用省略號隱藏關鍵告警。必要截斷時提供展開按鈕。 10. 在 390px、文字放大 200%、橫向模式及螢幕閱讀器下驗收:無頁面級水平捲動、無重疊或裁切、焦點順序一致,且所有資訊與操作均可透過鍵盤及觸控完成。
已載入 Skill +3054 tokens · 70271 ms
## 問題、修正值與驗收方式 | 嚴重度 | 問題 | 具體修正 | 驗收方式 | |---|---|---|---| | P0 嚴重 | 操作只在 hover 出現,鍵盤與觸控使用者可能完全無法發現或執行 | 主要操作永久顯示;次要操作收進常駐的「更多」按鈕。所有操作使用原生 `<button>`,支援 Enter/Space;不得只依賴 `mouseover`。按鈕至少 `44×44px`,相鄰觸控區間距至少 `8px` | 不使用滑鼠,以 Tab、Shift+Tab、Enter、Space 完成全部流程;觸控裝置不觸發 hover 也能找到所有操作;操作不會因指標移出而消失 | | P0 嚴重 | 移除 focus outline,使用者不知道目前焦點位置 | 恢復 `:focus-visible`;建議 `2px` 實線焦點環、`2px` offset,焦點環與相鄰顏色對比至少 `3:1`。例如深藍焦點環,不能只以輕微陰影表示 | 鍵盤巡覽每個互動元件時焦點皆清楚可見、不被 sticky header/彈窗遮住;焦點順序符合畫面順序;無鍵盤陷阱 | | P0/P1 | 全部按鈕只有圖示,語意可能不明;若沒有 accessible name,螢幕閱讀器只會讀成「button」 | 刪除、匯出、分享等非通用或高風險操作加可見文字;空間受限時至少提供精確 `aria-label`,例如「匯出報表」,並在 hover 與 keyboard focus 顯示 tooltip。切換按鈕補 `aria-pressed`,展開按鈕補 `aria-expanded` | 用瀏覽器無障礙樹或螢幕閱讀器確認每個按鈕都有唯一名稱、角色及狀態;隱藏圖示時仍可判斷操作用途;tooltip 可由滑鼠及鍵盤觸發 | | P1 高 | 告警只靠紅/綠區分,色覺障礙與灰階環境下無法辨識 | 同時加入文字與形狀:`● 嚴重`、`▲ 警告`、`✓ 正常`;不要只有彩色圓點。文字對背景至少 `4.5:1`,圖示/狀態邊界至少 `3:1`。動態重大告警可用節制的 `role="status"` 或 `aria-live` 宣告 | 使用灰階與紅綠色盲模擬器後仍能分辨所有狀態;隱藏 CSS 色彩後仍保留完整語意;以對比檢測工具逐一量測 | | P1 高 | 11px 灰字過小且可能低對比;11px 本身不必然構成 WCAG 失敗,但會明顯降低桌面儀表板可讀性 | 一般內容改為 `16px/24px`;密集表格與次要標籤最低 `14px/20px`;只有非關鍵註記可用 `12px/18px`。一般文字對比至少 `4.5:1`;大字才可採 `3:1`。白底可先用 `#4B5563` 或更深,再實測 | 以實際背景色量測全部文字;瀏覽器放大至 `200%` 後內容不重疊、截斷或遺失;在一般辦公螢幕上不需縮放即可閱讀表格與告警 | | P1 高 | 固定 1280px 寬會在較窄視窗產生整頁水平捲動 | 改為 `width:100%; max-width:1280px; margin-inline:auto; box-sizing:border-box`;桌面外距 `24–32px`,內容區允許 grid/flex 子項縮小,文字子項設定 `min-width:0` | 分別在 1280、1024、768、390、320 CSS px 測試;頁面本身不得出現水平捲軸,內容不可被裁切;400% zoom 下仍可重排閱讀 | | P2 中 | 密集操作缺少清楚狀態與回饋 | hover、pressed、disabled、loading、success、error 狀態均須可辨識;狀態變化不可只改顏色。一般狀態轉場約 `150–200ms`,並尊重 `prefers-reduced-motion` | 執行儲存、刪除、重新整理等操作時立即看到進度及結果;快速連點不會重複提交;減少動態效果模式下不依賴動畫傳達結果 | ## 390px 手機版重排 - 頁面使用 `width:100%`,左右 padding `16px`;可用內容寬度為 `358px`。加入正確 viewport 設定,且不得禁止縮放。 - 桌面側欄改為抽屜式導覽;若使用底部導覽,僅保留最多 5 個最高頻入口,並加入安全區 `padding-bottom: env(safe-area-inset-bottom)`。 - 頂部列分兩行:第一行為頁面標題與主要操作,第二行放搜尋/篩選。搜尋與主要篩選採全寬,次要條件放入「篩選」面板。 - KPI 卡片優先採兩欄:`grid-template-columns: repeat(2, minmax(0,1fr))`、gap `12px`,每張約 `173px`;文字或數值放不下時改成單欄,不縮小至 11px。 - 圖表、告警摘要與主要內容改為單欄,圖表寬度 `100%`;圖例移至圖表下方並允許換行。 - 資料表優先轉為卡片/定義列表,每筆先呈現名稱、狀態、關鍵數值與主要操作;次要欄位展開後顯示。無法轉換的寬表只能在表格容器內水平捲動,不得讓整頁捲動,並固定首欄或提供欄位選擇。 - 列操作永久顯示一個主要按鈕及一個 `44×44px`「更多」按鈕;不可等待 hover。 - 底部固定操作列若存在,必須保留內容下方空間,確保最後一列與鍵盤焦點不被遮住。 - 以 390×844、390×667、320px 寬及橫向模式實機或模擬驗收:無整頁水平捲動、無文字覆疊、所有操作可觸達、觸控目標至少 `44×44px`,且螢幕閱讀器朗讀順序與視覺順序一致。
03
壓力題

建立 SaaS 設計系統

測試問題

為『夜班交接』醫院輪班 SaaS 建立一頁式設計系統規格。要求深色模式、資訊密度高但不可像遊戲介面、支援平板觸控、圖表不可只靠顏色。請給 style direction、tokens、排版、核心元件、互動與動態規則、三個 breakpoint,以及交付前 checklist。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill2528 tokens · 50052 ms
# 「夜班交接」一頁式設計系統規格 ## Style Direction **關鍵詞:** 臨床、沉穩、高密度、可掃讀、低干擾、可信賴。 - 深色中性底搭配低彩度語意色;避免霓虹、高光、金屬漸層及遊戲化 HUD。 - 以「病人狀態 → 待辦 → 風險 → 責任人」建立固定資訊層級。 - 高密度透過緊湊間距、對齊與漸進揭露達成,不縮小關鍵文字或觸控區。 - 一般資料使用平面表面;僅彈窗、拖曳及緊急提示使用陰影或較高層級。 - 臨床風險資訊不得只以顏色呈現,必須同時包含文字、圖示或形狀。 ## Design Tokens ### 色彩 | Token | 建議值 | 用途 | |---|---:|---| | `bg-canvas` | `#0E1116` | 全域背景 | | `bg-surface-1` | `#151A21` | 卡片、表格 | | `bg-surface-2` | `#1C232C` | 展開區、輸入欄 | | `bg-selected` | `#253348` | 選取狀態 | | `border-subtle` | `#2A333E` | 區隔線 | | `border-strong` | `#465363` | 焦點外框、重要分隔 | | `text-primary` | `#F1F4F7` | 主要內容 | | `text-secondary` | `#B4BEC9` | 次要資訊 | | `text-muted` | `#84909D` | 輔助資訊 | | `accent` | `#77AEEF` | 主要操作、連結 | | `success` | `#65B88A` | 穩定、完成 | | `warning` | `#E7B75D` | 注意、即將逾期 | | `danger` | `#E87979` | 危急、逾期 | | `info` | `#7BBBC4` | 一般通知 | - 一般文字與背景對比至少 **4.5:1**;大字與圖形至少 **3:1**。 - 危急狀態採「八角警示圖示+危急文字+左側實線」;警告採三角圖示;完成採勾選圖示。 - 圖表系列色需通過深色背景辨識測試,並搭配線型、點型、紋理或直接標籤。 ### 尺寸與外觀 ```text Spacing:4 / 8 / 12 / 16 / 24 / 32 px Radius:4(欄位)/ 6(卡片)/ 8(彈窗) Border:1 px;焦點環 2 px accent + 2 px offset Elevation:0 / 4 / 12;避免發光效果 Icon:16 / 20 / 24 px,2 px 線寬 Touch target:最低 44×44 px,主要操作建議 48×48 px Content max-width:1600 px ``` ## 排版 字體採 `Inter, Noto Sans TC, system-ui, sans-serif`;數值欄使用等寬數字 `font-variant-numeric: tabular-nums`。 | 樣式 | 字級/行高 | 字重 | 用途 | |---|---|---:|---| | Display | 24/32 | 700 | 班次或病房標題 | | H1 | 20/28 | 700 | 頁面標題 | | H2 | 16/24 | 600 | 區段標題 | | Body | 14/20 | 400 | 主要資訊 | | Body Strong | 14/20 | 600 | 病人、責任人、關鍵值 | | Compact | 13/18 | 400 | 表格與密集清單 | | Caption | 12/16 | 500 | 時間、單位、輔助標籤 | - 禁止以全大寫呈現長文字;縮寫需提供完整名稱或提示。 - 病人姓名、床號、風險與未完成事項保持單行可見;非關鍵內容最多兩行後截斷。 - 數值右對齊、文字左對齊、狀態置中;日期統一為 `YYYY/MM/DD HH:mm`。 ## 核心元件 1. **App Header**:院區/病房、目前班別、網路與同步狀態、使用者選單。同步異常須顯示文字與圖示。 2. **Shift Summary**:在院人數、待交接、危急、逾期、未讀更新;可點擊篩選,但不可呈現積分或排行榜感。 3. **Patient Handoff Row**:床號、姓名/識別資訊、診斷摘要、風險、最新生命徵象、待辦、責任人、最後更新時間。 4. **Status Badge**:圖示+文字;固定使用「穩定/注意/危急/待確認/已完成」,不可只有色點。 5. **Task Checklist**:44 px 勾選區、負責人、期限、完成者與時間;危急任務完成需二次確認。 6. **Vitals Trend**:折線、點型、直接數值、正常範圍帶;支援表格檢視,禁止只靠顏色區分曲線。 7. **Timeline**:醫囑、用藥、處置、觀察依時間排列;事件類型使用圖示、文字與線型共同編碼。 8. **Filter Bar**:搜尋、風險、責任人、完成狀態;使用可移除的篩選籤並顯示結果數。 9. **Detail Drawer**:由右側開啟,保留清單脈絡;含摘要、SBAR、任務、紀錄與稽核軌跡。 10. **Clinical Alert**:明確標題、影響對象、發生時間、建議行動;危急警示不可自動消失。 11. **Input/Select**:標籤永久可見;錯誤訊息靠近欄位,包含修正方式。 12. **Empty/Loading/Error**:骨架屏保持版面穩定;錯誤需提供重試及最近同步時間。 ## 互動與動態規則 - 單擊/輕觸選取;禁止把滑過狀態作為唯一入口。 - 清單列可展開,但列內主要操作須有獨立按鈕,避免誤觸。 - 點擊後於 **100 ms** 內提供視覺回饋;本機更新失敗時保留輸入並清楚說明。 - 自動儲存顯示「儲存中/已儲存/同步失敗」與時間;不得只顯示旋轉圖示。 - 鍵盤焦點順序遵循閱讀順序;支援 `Esc` 關閉抽屜、方向鍵移動表格、`Enter/Space` 操作。 - 動畫僅用於解釋狀態變化:淡入 **120 ms**、抽屜 **180 ms**、版面位移 **200 ms**;使用 ease-out。 - 禁止彈跳、粒子、閃爍與循環動畫。危急狀態以靜態高對比標示;新事件最多柔和閃現一次。 - 支援 `prefers-reduced-motion`,停用非必要位移與淡入。 - 破壞性操作需確認;可逆操作優先提供 **5 秒復原**。 - Session timeout 前須預警,未送出的交接內容不得無提示遺失。 ## Breakpoints | Breakpoint | 版面規則 | |---|---| | **Compact:768–1023 px** | 平板直向;單欄清單,詳情以全高抽屜覆蓋約 92% 寬度;次要欄位收進展開區;底部固定主要操作列。 | | **Standard:1024–1439 px** | 平板橫向/小型桌面;清單與詳情採 40/60 分欄;篩選列可橫向捲動;表格固定床號與狀態欄。 | | **Wide:≥1440 px** | 桌面;摘要、清單、詳情三區呈現,建議 240/520/其餘;內容最大寬 1600 px,避免資訊過度拉散。 | 共同規則:不支援低於 768 px 作為主要臨床工作介面;若開啟,提供唯讀或簡化緊急檢視。所有尺寸均需支援 200% 文字縮放與觸控操作。 ## 交付前 Checklist - [ ] 所有狀態均有文字或圖示,不依賴顏色辨識。 - [ ] 圖表具直接標籤、線型/點型差異及等價資料表。 - [ ] 文字、邊框、焦點與圖表對比符合 WCAG AA。 - [ ] 所有可操作區至少 44×44 px,間距足以避免誤觸。 - [ ] 三個 breakpoint 無資訊遮蔽、水平頁面捲動或操作遺失。 - [ ] 鍵盤、觸控、螢幕閱讀器與 200% 縮放皆完成測試。 - [ ] 危急、逾期、同步失敗及未儲存狀態清楚可見。 - [ ] Loading、空資料、部分失敗、離線及權限不足狀態完整。 - [ ] 時間、單位、病人識別及責任人格式一致。 - [ ] 敏感資訊在鎖定、背景切換與通知預覽中適當遮蔽。 - [ ] 交接、修改、確認及完成操作均留下可追溯稽核資訊。 - [ ] 動畫符合減少動態偏好,且沒有閃爍或遊戲化效果。 - [ ] 以戴手套、低光環境與夜班疲勞情境完成實機平板測試。
已載入 Skill +4030 tokens · 85829 ms
# 「夜班交接」一頁式設計系統規格 ## Style direction **Clinical Operations Dark**:冷靜、可信、低干擾的醫療作業介面。採瑞士式網格、清楚分隔與緊湊資料列;避免霓虹、高光、玻璃擬態、巨大 KPI、發光描邊及遊戲式儀表板。 - 深色為預設,但不使用純黑;以表面層級與邊框建立資訊階層。 - 高密度不犧牲操作尺寸:內容可緊湊,觸控熱區仍須 ≥ 48×48px、相鄰熱區間隔 ≥ 8px。 - 臨床優先順序依「位置、文字、圖示、形狀」共同表達,顏色僅作輔助。 - 一屏聚焦:目前班別、待交接病人、未完成事項、異常與簽核狀態。 ## Tokens ### 色彩 | Token | 值 | 用途 | |---|---:|---| | `bg/base` | `#0B1118` | 頁面背景 | | `bg/surface` | `#111923` | 卡片、表格 | | `bg/elevated` | `#18222E` | Drawer、Popover | | `border/default` | `#334155` | 分隔與邊界 | | `text/primary` | `#F1F5F9` | 主文字 | | `text/secondary` | `#B7C2CF` | 次要資訊 | | `text/muted` | `#8D9AAA` | 輔助資訊,不承載關鍵內容 | | `action/primary` | `#2563EB` | 主要操作 | | `focus/ring` | `#7DD3FC` | 3px 鍵盤焦點環 | | `status/info` | `#60A5FA` | 一般通知 | | `status/success` | `#34D399` | 已完成、同步成功 | | `status/warning` | `#FBBF24` | 待確認、即將逾時 | | `status/danger` | `#F87171` | 異常、逾時 | | `action/destructive` | `#B91C1C` | 破壞性操作 | 一般文字對比至少 4.5:1;焦點、圖示及控制邊界至少 3:1。狀態必須搭配圖示與文字,例如「▲ 高風險」「! 待確認」「✓ 已完成」。 ### 尺度 - Spacing:`4 / 8 / 12 / 16 / 24 / 32px` - Radius:`4px` 輸入與資料列、`8px` 卡片、`12px` Dialog;不使用膠囊形大容器 - Border:`1px` 一般、`2px` 強調、`3px` focus ring - Elevation:最多三層;以邊框優先,陰影僅用於浮層 - Icon:`16 / 20 / 24px`,統一 1.75px outline SVG - Touch target:網頁平板統一採 `48×48px`;小圖示以透明 padding 擴大熱區 ## 排版 字體使用 `Inter, "Noto Sans TC", system-ui, sans-serif`;數值、床號與時間啟用 `tabular-nums`。 | Style | Size / Line height | Weight | 用途 | |---|---|---:|---| | Display | 24 / 32px | 700 | 班別與頁面標題 | | H1 | 20 / 28px | 700 | 區段標題 | | H2 | 16 / 24px | 600 | 卡片標題 | | Body | 14 / 21px | 400 | 一般內容 | | Dense | 13 / 18px | 400–500 | 表格、交接摘要 | | Label | 12 / 16px | 600 | 欄名、時間、標籤 | 最多使用三種字重。病人姓名、床號、風險與待辦不得只以字重差異表示。 ## 核心元件 - **App Header**:院區/病房、班別時間、同步狀態、目前使用者;平板固定頂部。 - **Shift Summary Bar**:病人數、未讀交接、逾時任務、待簽核;使用數字+文字+圖示,不使用大型遊戲式 KPI。 - **Patient Handoff Row**:48–56px 高;床號、姓名、主要問題、風險、未完成項目、最後更新者。選取態使用左側 3px indicator、表面變化與 `aria-selected`。 - **SBAR Panel**:Situation/Background/Assessment/Recommendation 固定順序;支援展開、逐段編輯、版本與作者時間戳。 - **Status Badge**:圖示+短標籤+邊框;禁止純色圓點。單行、不換行。 - **Task Checklist**:48px 操作列;顯示負責人、期限、狀態與來源病人。完成高風險事項需明確確認。 - **Clinical Timeline**:時間、事件圖示、事件類型文字與來源;不可僅用彩色節點分類。 - **Filter/Search Bar**:可搜尋床號/姓名/事項;篩選條件以可取消 chip 呈現,chip 使用原生 button 語意與 `aria-pressed`。 - **Chart Card**:優先採水平 bar、bullet chart 或 line chart;直接標示數值、目標線與系列名稱,並提供可排序資料表。 - **Drawer / Dialog**:Drawer 用於詳情與編輯;Dialog 僅用於簽核、取消未存變更與不可逆操作。 - **Sync Banner / Toast**:顯示離線、同步中、衝突及失敗;錯誤不可只靠暫時消失的 toast。 ## 互動與動態 - 點擊、觸控與鍵盤具相同行為;不得把關鍵操作藏在 hover 或 swipe。 - 按壓回饋於 100ms 內出現;pressed state 不改變元件尺寸或造成位移。 - 時序:pressed `80–120ms`、狀態切換 `160ms`、Drawer/Dialog `200–240ms`。 - 動畫僅使用 opacity 與 transform;不動畫化 width、height 或大面積模糊。 - `prefers-reduced-motion: reduce` 時移除位移、縮放與自動捲動,只保留即時狀態切換。 - 編輯內容自動保存為草稿;正式交接與簽核必須明確提交,提交期間鎖定按鈕並顯示進度。 - 高風險操作不得以 optimistic success 呈現;伺服器確認後才顯示完成。 - 即時更新不得移動目前焦點;以完整句子宣布,例如「病房 8A 尚有 3 項待交接」。 - Sticky header、底部操作列與虛擬鍵盤不得遮住焦點或最後一列內容。 - 50 筆以上清單採虛擬化,但須維持正確焦點、讀屏順序與捲動位置。 ## Breakpoints | Breakpoint | 版面規則 | |---|---| | **Compact `<768px`** | 單欄;摘要橫向捲動;病人列轉為雙行;詳情使用全螢幕 Drawer;底部只保留一個主要操作。 | | **Tablet `768–1199px`** | 12 欄網格、24px gutter;病人清單 5 欄+詳情 7 欄;直向可折疊詳情,橫向固定 split view;所有列與控制維持 48px 熱區。 | | **Desktop `≥1200px`** | 12 欄、最大內容寬 1600px;左側篩選 2 欄、清單 4 欄、詳情 6 欄;避免把額外空間用於放大 KPI,優先增加可見欄位與比較資訊。 | ## 交付前 checklist - [ ] 深色背景下的一般文字對比 ≥ 4.5:1,控制邊界與焦點狀態 ≥ 3:1 - [ ] 所有警示、圖表與狀態均有文字、圖示、形狀或線型輔助,未只依賴顏色 - [ ] 圖表具直接標籤、圖例、鍵盤 tooltip 等價資訊及可讀資料表 - [ ] 所有觸控目標 ≥ 48×48px,彼此間距 ≥ 8px - [ ] 可用鍵盤完成搜尋、篩選、編輯、簽核與關閉浮層;焦點順序符合視覺順序 - [ ] Focus ring 清晰,且不被 sticky header、Drawer、鍵盤或底部列遮蔽 - [ ] Icon-only 控制具 accessible name;裝飾圖示從 accessibility tree 隱藏 - [ ] 表單具永久 label、欄位旁錯誤訊息;多重錯誤提交後聚焦錯誤摘要 - [ ] 已驗證 768px 平板直向、1024px 平板橫向及 ≥1200px 桌面版 - [ ] 最大文字尺寸下無截斷、重疊或不可操作元件 - [ ] `prefers-reduced-motion` 下內容完整,無必要資訊依賴動畫 - [ ] 離線、同步中、同步失敗及版本衝突皆有持續且可恢復的狀態 - [ ] 破壞性操作、正式交接與簽核具明確確認及稽核紀錄 - [ ] 50 筆以上清單已驗證捲動效能、焦點保存與讀屏順序 - [ ] 未使用 emoji 作結構圖示、霓虹光效、玻璃擬態、遊戲式徽章或裝飾性儀表盤
測試紀錄

這次測試記錄了什麼?

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

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

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