![](/img/trans.png)
[英]HTML5 File Input customization on label giveing Keyboard accessibility issue
[英]accessibility: adding label to custom input element in html
我們有一些可用於用戶輸入的自定義組件( CustomSelect
、 SegmentedControl
、 CustomCheckbox
等)。
在某些情況下,它們在內部使用語義 html 標記,如radiogroup
或select
,但在某些情況下,標記完全使用div
和span
元素編寫,並且使用 aria 屬性提供可訪問性。 對於這樣的實現,有沒有辦法將label
元素與它們相關聯,使它們表現得像原生表單輸入 wrt 標簽行為,或者更好,有沒有辦法讓它們像原生表單輸入一樣對待?
想到的事情:
是否有任何現有的模式?
你需要做三件事:
aria-labelledby
以編程方式將標簽與元素相關聯。 請注意,您可以使用真正的<label>
元素,但它主要用於更易讀的代碼,因此很容易發現與元素關聯的標簽。 您很可能 (*)不能使用<label>
元素的for
屬性,因為指定的 ID 必須是“可標記元素”,其定義為:
(*) 如果您有一個與form-associated
的屬性為true的自定義元素,則可以使用for
屬性。 <label>
可用於“ 與表單相關的自定義元素”
請參閱https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example 。
我之前沒有創建自定義表單元素,但文檔聽起來像真正的<label for="ID">
可以與它一起使用,在這種情況下您不需要aria-labelledby
或 javascript。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.