網頁功能:
:autofill
使用 CSS :autofill 醒目顯示已 (或未) 自動填入的欄位,引導使用者順利填寫表單。
導入方式
如要醒目顯示瀏覽器自動填入 (且使用者未編輯) 的表單欄位,請使用 :autofill 類別在 CSS 中新增選取器。這項屬性可用於 <input>、<select> 或 <textarea> 元素。
設定自動填入狀態的樣式時,請務必遵循無障礙功能最佳做法:
- 多種狀態指標:請勿僅依賴邊框顏色來表示自動填入狀態。使用多個指標 (例如邊框粗細和自訂背景陰影),確保使用者能感知狀態。
- 保留焦點指標:請勿移除焦點外框 (
outline: none),除非能為鍵盤使用者提供清晰、高對比的替代方案。
以下範例使用 :autofill 設定自訂邊框和背景,以及明確的焦點樣式:
input:autofill,
input:-webkit-autofill {
/* Multiple indicators: use both a distinct border and background color via box-shadow to avoid color-only state */
border: 2px solid #2e7d32;
box-shadow: 0 0 0 100vmax #e8f5e9 inset;
}
/* MANDATORY: Always provide an explicit focus indicator when styling autofilled states */
input:autofill:focus-visible,
input:-webkit-autofill:focus-visible {
outline: 3px solid #000;
outline-offset: 2px;
}
如這個範例所示,box-shadow 屬性可用來自訂背景,因為 background-color 無法直接在自動填入欄位中覆寫。
使用正確的 CSS 虛擬類別名稱
請勿使用 :auto-fill:這是錯誤做法。
MANDATORY: Use :autofill as this is the correct pseudo-class name.
備用策略
:autofill 虛擬類別是漸進增強功能。在不支援這項功能的瀏覽器中,表單仍可正常運作,但輸入內容不會顯示自訂自動填入醒目顯示。使用者仍可順利填寫表單。請勿使用其他 JavaScript 備用廣告。