選擇控制

Toggle Button|切換按鈕

在工具列中切換單一功能或格式,必須明確呈現是否已啟用。

常見俗稱:切換按鈕、Toggle Button、按下狀態按鈕、工具列按鈕

60 秒決策

先確認使用者要完成的事。

適合使用

  • 在工具列中切換一個獨立功能,例如粗體或側欄顯示。
  • 按鈕本身必須呈現目前是否啟用。

不適合使用

  • 需要多選或互斥選項的完整群組。
  • 切換是長時間、立即儲存的系統設定。

畫面要說清楚的事

不要只交代外觀,也要交代資料與輸入規則。

按下狀態要有語意

使用 aria-pressed 與明確的視覺差異,讓人知道目前是否啟用。

圖示不能自己說話

圖示按鈕需要 accessible name;初學者不必猜測 B、眼睛或月亮代表什麼。

只切換一個功能

Toggle Button 適合單一功能開關,群組選擇應使用其他適當控制項。

必要狀態與回應

每個狀態都要讓使用者知道下一步。

未按下

功能尚未啟用。

已按下

功能已啟用,aria-pressed 為 true。

Focus

鍵盤使用者可看見目前焦點並以 Space 或 Enter 切換。

停用

功能目前不可用,保留原因或說明。

操作 Demo

先知道要觀察什麼,再動手操作。

操作前先知道

  1. 單一格式切換

    先觀察:粗體按鈕如何在按下與未按下間表達同一個功能。

    操作:按粗體切換按鈕。

    預期結果:按下狀態與預覽文字同步,不需要猜目前是否啟用。

可操作 Demo

單一功能切換

這段文字目前使用一般字重。

粗體尚未啟用。

告訴 AI

把任務、規則、狀態與操作條件一次寫清楚。

建立一個「粗體」Toggle Button。按下後切換 aria-pressed 與視覺狀態,保留可理解的文字或 accessible name;它只切換單一功能,不要拿來代替多選 Checkbox 群組。

驗收清單

不要只確認欄位能不能點。

  • 是否使用 aria-pressed 表示狀態?
  • 圖示是否有可理解名稱?
  • 按下樣式是否不只改變顏色?
  • 是否只代表單一功能?
  • 鍵盤是否可切換與看見 Focus?