css ime-mode property 지원하기

WebKit|2010. 10. 5. 13:16
현재 WebKit에서 구현 중에 있는 css ime-mode property를 잠깐 소개하겠습니다. 이 property를 사용하면 텍스트를 입력할 때, IME를 강제로 동작하지 않게 할 수 있습니다. 예를 들어, 전화 번호 입력할 때, 한글이 입력되지 않도록 브라우저에서 IME사용을 조정할 수 있습니다. 아직은 표준이 아니지만, 이미 IE와 Firefox에서 구현하여 지원하고 있습니다. WebKit만 지원하면, Opera를 제외한 대부분의 브라우저가 지원하게 됩니다. 

<html>
  <head>
    <title>IME Mode test</title>
  </head>
  <body>
    <form>
      <ul>
        <li>ime-mode:active : <input type="text" size="20" style="ime-mode:active;">
        <li>ime-mode:auto : <input type="text" size="20" style="ime-mode:auto;">
        <li>no style : <input type="text" size="20">
        <li>ime-mode:disabled : <input type="text" size="20"
        style="ime-mode:disabled;">
      </ul>
    </form>
  </body>
</html>
직접 위 코드를 Firefox에서 열어보면 마지막 <input> 엘리먼트에서 한글 입력이 안되는 것을 확인할 수 있습니다. 

처음에 이와 관련한 issue를 WebKit Bugzilla에서 찾았을 때, 올레를 외치며 제가 구현할 수 있는 검토를 했었지요. 물론 쉽지 않아보였습니다. 그러다가 잠시 caret color 표시에 문제가 있음을 알고 이쪽 patch를 먼저 작성하고 있는데, 그 사이에 관련 patch가 올라왔습니다. 

아직은 논쟁이 있나 봅니다. 꼭 필요한 기능이냐 부터 브라우저가 구지 IME를 제어해야 하는 등등.. 영어권 사용자에는 그 필요성에 무감각할 수 있으나, 우리 같이 IME로 고생하는 사람에게는 유용한 기능이죠. 이번 patch는 Mac만 지원하므로 Trunk에 잘 적용되면, WebKitGtk Port 쪽에도 구현 issue가 있을 것 같습니다. 

참고

댓글()

브라우저의 서로 다른 caret color처리 방식

WebKit|2010. 9. 1. 11:27

HTML5에 추가된  contentEditable 기능이 있습니다. 웹페이지 전체 또는 특정 노드를 편집할 수 있도록 하는데, caret color처리하는 부분이 브라우저 마다 다르고, WebKit 계열 브라우저는 검은색 배경에서는 caret이 보이지 않는 문제가 있습니다.

이런 사소한 부분에 관심을 갖는 분이 얼마나 있을 지 모르겠지만,

caret이 보이나요??

 

 caret이 보이나요??

 

Safar, Chrome을 쓰는 분은 caret이 보지 않을 것입니다. 무조건 검은 색이기 때문입니다. Firefox를 쓰는 분은 보입니다. caret이 text color를 따르기 때문이죠. Opera와 IE를 쓰시는 분도 caret이 흰색으로만 보입니다. Opera의 경우, 흰 배경에서는 다시 caret이 검은색으로 바뀝니다. (이 페이지에서는 동작안하네요)

이 부분에 관한 버그를 리포트하였고, Firefox방식으로 수정했는데, Opera 방식을 선호하는 분도 있네요.

'WebKit' 카테고리의 다른 글

WebKit Contributors meeting 2011  (0) 2011.05.15
브라우저에서 그래픽 가속하기  (4) 2010.10.14
css ime-mode property 지원하기  (4) 2010.10.05
Rendering in WebKit  (3) 2010.01.19
Safari 브라우저의 엔진, Webkit의 시작과 발전  (2) 2007.11.20

댓글()