Focus Management
焦點管理
焦點管理會在畫面改變後,把鍵盤的操作位置移到合理的地方。暫時畫面關閉時,也會把焦點送回原處。
trigger -> place focus -> finish or close -> restore to a sensible target#edit-profile#display-nameEntertrigger -> place focus -> finish or close -> restore to a sensible targetA11Y另一個例子
使用者開啟「編輯個人資料」後,焦點會進入對話框。儲存並關閉後,焦點會回到原本的按鈕。
主要部分
- 01觸發控制項
- 02畫面或 DOM 改變
- 03第一個焦點位置
- 04目前焦點追蹤
- 05關閉或完成事件
- 06返回或替代位置
什麼時候用
開啟或關閉對話框、刪除項目或切換頁面時,需要管理焦點。先決定使用者接下來最需要的位置。
什麼時候不要用
不要在每次小更新時移動焦點。突然跳動會讓鍵盤和螢幕閱讀器使用者找不到原本的位置。
程式裡的名稱
trigger -> place focus -> finish or close -> restore to a sensible target 上線前要檢查
讓輔助工具知道控制項的名稱(無障礙名稱)、用途(角色)、值與狀態。檢查鍵盤操作、清楚可見的焦點、點按範圍、停用與忙碌狀態、回饋及復原。
預期成果:使用 焦點管理 (Focus Management) 解決這項需求,同時保留使用者目前的操作脈絡。 使用者情境:使用者開啟「編輯個人資料」後,焦點會進入對話框。儲存並關閉後,焦點會回到原本的按鈕。 建議介面模式:焦點管理 (Focus Management)。 適用理由:開啟或關閉對話框、刪除項目或切換頁面時,需要管理焦點。先決定使用者接下來最需要的位置。 不應使用的情況:不要在每次小更新時移動焦點。突然跳動會讓鍵盤和螢幕閱讀器使用者找不到原本的位置。 產品要求:定義預設、載入、沒有內容、錯誤、成功與復原狀態。保留使用者已輸入的內容,每個操作後都提供清楚回饋。 無障礙與韌性:使用結構正確的 HTML(語意化 HTML)和完整鍵盤操作。焦點要清楚可見,版面縮放後仍要好用。也要提供減少動態效果。遵守專案現有規則。除非專案已採用,否則不要新增介面元件庫。 驗收條件:主要任務可只用鍵盤完成,在 320px 寬度也能正常使用。焦點與狀態變化可被輔助工具讀出。載入、失敗、重試、取消與減少動態效果都已驗證。 證據與限制(證據邊界):它只代表該來源的官方說法。其他平台或團隊可能有不同用法。 待確認:產品文字、資料來源、分析事件、支援裝置與語系,以及平台特有限制。
檢查這份需求
請 AI 程式助手檢查目前如何使用 焦點管理 (Focus Management)。 定義:焦點管理會在畫面改變後,把鍵盤的操作位置移到合理的地方。暫時畫面關閉時,也會把焦點送回原處。 正式環境檢查:讓輔助工具知道控制項的名稱(無障礙名稱)、用途(角色)、值與狀態。檢查鍵盤操作、清楚可見的焦點、點按範圍、停用與忙碌狀態、回饋及復原。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。