Modal Dialog
強制回應對話框
強制回應對話框是一個聚焦的小視窗,在關閉或完成前,會擋住目前畫面的其他操作。
生活中的例子
確認刪除帳戶時,鍵盤焦點會留在對話框內;取消後,焦點會回到原本的按鈕。
主要部分
- 01觸發物
- 02錨定或模態表面
- 03焦點邊界
- 04關閉方式
什麼時候用
簡短決定或小任務需要完整注意力時,就使用強制回應對話框。
什麼時候不要用
不要在對話框上再疊另一個對話框,也不要拿它顯示一般低風險資訊。
程式裡的名稱
<dialog> / role="dialog" aria-modal="true" 上線前要檢查
只在遮住整個頁面的對話框中限制焦點,其他情況不要困住焦點。支援 Esc 鍵與清楚可見的關閉按鈕;關閉後,把焦點還給原本的按鈕。保留已輸入資料,並檢查小螢幕、載入與失敗狀態。
預期成果:使用 強制回應對話框 (Modal Dialog) 解決這項需求,同時保留使用者目前的操作脈絡。 使用者情境:確認刪除帳戶時,鍵盤焦點會留在對話框內;取消後,焦點會回到原本的按鈕。 建議介面模式:強制回應對話框 (Modal Dialog)。 適用理由:簡短決定或小任務需要完整注意力時,就使用強制回應對話框。 不應使用的情況:不要在對話框上再疊另一個對話框,也不要拿它顯示一般低風險資訊。 產品要求:定義預設、載入、沒有內容、錯誤、成功與復原狀態。保留使用者已輸入的內容,每個操作後都提供清楚回饋。 無障礙與韌性:使用結構正確的 HTML(語意化 HTML)和完整鍵盤操作。焦點要清楚可見,版面縮放後仍要好用。也要提供減少動態效果。遵守專案現有規則。除非專案已採用,否則不要新增介面元件庫。 驗收條件:主要任務可只用鍵盤完成,在 320px 寬度也能正常使用。焦點與狀態變化可被輔助工具讀出。載入、失敗、重試、取消與減少動態效果都已驗證。 證據與限制(證據邊界):標準只涵蓋列出的範圍,不會替你決定外觀、產品做法或 Vibulary 的教學範例。 待確認:產品文字、資料來源、分析事件、支援裝置與語系,以及平台特有限制。
檢查這份需求
請 AI 程式助手檢查目前如何使用 強制回應對話框 (Modal Dialog)。 定義:強制回應對話框是一個聚焦的小視窗,在關閉或完成前,會擋住目前畫面的其他操作。 正式環境檢查:只在遮住整個頁面的對話框中限制焦點,其他情況不要困住焦點。支援 Esc 鍵與清楚可見的關閉按鈕;關閉後,把焦點還給原本的按鈕。保留已輸入資料,並檢查小螢幕、載入與失敗狀態。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。