- From: Kang-Hao (Kenny) Lu <kennyluck@w3.org>
- Date: Wed, 15 Feb 2012 12:26:33 +0800
- To: W3C HTML5 中文興趣小組 <public-html-ig-zh@w3.org>
- CC: Timothy Chien <timdream@gmail.com>
我在看 CSS3 UI 的時候,發現到 ime-mode 這個屬性目前現有的敘述[1]... 非常 的含糊,應該說基本都是抄 MDN [2]的吧。這裡問幾個問題,看有沒有人對 ime-mode 有比較多的認識,或是幫個忙做個實驗(目前只有 IE 跟 FF 支援)。 這些實驗結果都該寫進規範裡面才不會造成下一個人的困擾... 1. 適用範圍 規範裡的表格中,提到: # 適用於: 文字欄位 這是真的嗎?在一般元素在有 @contenteditable 的情況下這個屬性難道不能用 嗎?另外,文字欄位包不包括密碼欄位? 如果這個屬性目前的實作不適用於所有元素,那是不是還是適用於所有元素比較 好?還是因為這是一個爛功能,而且理論上並不應該屬於 CSS 所以為了要減少損 害擴散,只限制用在文字欄位? 我微博搜還搜到不少提 ime-mode 的,所以我想這個屬性要丟棄不太可能,畢竟向 後兼容還是很重要。 2. auto 跟 normal 的差異 現在的描述是 # auto # 不更改現在輸入法的狀態。預設值。 # normal # 輸入法狀態應該為正常 ― 此值可以在使用者樣式表裡面使用,以覆蓋頁面設定。 到底什麼是「正常」?我看了 MDN 裡的解釋(竟然還會發生 MDN 裡的資訊比規範 還多的情形,真可悲)後面那個 input[type=password] { ime-mode: auto !important; } 的例子,好像是說 auto 的話就是在密碼欄位不能用輸入法,在其 他地方可以?所以 normal 指的是在哪裡都可以正常的用輸入法的意思嗎?有沒有 人可以證實一下? 在看 MDN 這個解釋之前,我一直以為 auto 才是在哪裡都可以正常的用輸入法。 MDN 說 IE 不支援 normal 而且不支援在密碼欄設置這個屬性,所以我猜它是用這 個解釋,再配上 UA 樣式 input[type=password] { ime-mode: disabled !important; } (類似 FF 的 noscript: display:none; !important),這樣應 該就不需要 normal 這個值。我個人覺得少一個沒用的屬性質也是少一個好... 總之我不知道 normal 這個值到底跟 auto 有什麼不同.... 3. 動態調整 假如說我現在的焦距在一個文字欄未上,輸入法未開。這時候假如有一個腳本設置 了 ime-mode: active,這時候輸入法會打開嗎?隨便打點東西之後(但是不把焦 距移到別的地方),輸入法會打開嗎?(這可以用 setTimeout 測) 這個屬性現在只有 IE 跟 FF 實作而已(據說),有興趣的人幫忙測測看這幾個問 題,當作 CSS3 UI 的回饋。 當然,最後比較不細節的高層次問題就是 — 如果可能的話,是不是廢棄這個屬性 必較好,等待類似[3]的 HTML 解比較好?或是有沒有什麼好方法可以讓這個屬性 變得更可以用? [1] http://www.w3.org/html/ig/zh/wiki/Css3-ui#input-method-editor [2] https://developer.mozilla.org/zh_tw/CSS/ime-mode [3] https://www.w3.org/Bugs/Public/show_bug.cgi?id=12885 此致 Kenny
Received on Wednesday, 15 February 2012 04:27:00 UTC