Read-only Field
唯讀欄位
唯讀欄位仍能取得焦點,也能複製內容。使用者不能修改欄位值。
readonly: focus + copy + submit, no edit; disabled: no normal focus or submit- 1顯示名稱・可編輯
value="Maya" - 2帳號 ID・唯讀
readonly - 3邀請碼・停用
disabled
<input readonly>readonly: focus + copy + submit, no edit; disabled: no normal focus or submitA11Y另一個例子
帳號 ID 是唯讀欄位。使用者可以移入焦點並複製內容。支援 readonly 的原生欄位仍會送出值。
主要部分
- 01欄位標籤
- 02目前的值
- 03唯讀屬性
- 04焦點行為
- 05複製行為
- 06表單送出行為
什麼時候用
欄位值需要保持可見和可複製,但目前工作不允許修改時,可以設為唯讀。
什麼時候不要用
不要只加 aria-readonly 就以為內容已鎖住。原生 readonly 只適用於支援的文字控制項。
程式裡的名稱
readonly: focus + copy + submit, no edit; disabled: no normal focus or submit 上線前要檢查
每個欄位都要有程式能讀到的標籤。連結提示與錯誤,並保留已輸入內容。檢查自動填寫、鍵盤順序、驗證時機、送出狀態、失敗復原、縮放與多語系。
預期成果:使用 唯讀欄位 (Read-only Field) 解決這項需求,同時保留使用者目前的操作脈絡。 使用者情境:帳號 ID 是唯讀欄位。使用者可以移入焦點並複製內容。支援 readonly 的原生欄位仍會送出值。 建議介面模式:唯讀欄位 (Read-only Field)。 適用理由:欄位值需要保持可見和可複製,但目前工作不允許修改時,可以設為唯讀。 不應使用的情況:不要只加 aria-readonly 就以為內容已鎖住。原生 readonly 只適用於支援的文字控制項。 產品要求:定義預設、載入、沒有內容、錯誤、成功與復原狀態。保留使用者已輸入的內容,每個操作後都提供清楚回饋。 無障礙與韌性:使用結構正確的 HTML(語意化 HTML)和完整鍵盤操作。焦點要清楚可見,版面縮放後仍要好用。也要提供減少動態效果。遵守專案現有規則。除非專案已採用,否則不要新增介面元件庫。 驗收條件:主要任務可只用鍵盤完成,在 320px 寬度也能正常使用。焦點與狀態變化可被輔助工具讀出。載入、失敗、重試、取消與減少動態效果都已驗證。 證據與限制(證據邊界):標準只涵蓋列出的範圍,不會替你決定外觀、產品做法或 Vibulary 的教學範例。 待確認:產品文字、資料來源、分析事件、支援裝置與語系,以及平台特有限制。
檢查這份需求
請 AI 程式助手檢查目前如何使用 唯讀欄位 (Read-only Field)。 定義:唯讀欄位仍能取得焦點,也能複製內容。使用者不能修改欄位值。 正式環境檢查:每個欄位都要有程式能讀到的標籤。連結提示與錯誤,並保留已輸入內容。檢查自動填寫、鍵盤順序、驗證時機、送出狀態、失敗復原、縮放與多語系。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。