본문 바로가기
WebKit

css ime-mode property 지원하기

by joone 2010. 10. 5.
현재 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가 있을 것 같습니다. 

참고

태그

, , , , ,

댓글4

  • 2010.10.05 13:59

    비밀댓글입니다
    답글

  • 신현석 2010.10.05 16:42

    오용이 많이되고 있는 속성이어서 좀 걱정이 되네요. 가장 대표적인 오용사례가 네이버 검색창이죠.
    답글

    • joone 2010.10.06 00:05 신고

      네이버에서 이미 적용했는지 잘 몰랐네요. 윈도에서만 동작하고 다른 플랫폼에서는 그렇게 동작안하니, 문제가 있을 수도 있겠고, 자동으로 IME가 켜지는 것도 오히려 혼란을 줄 수 있다는 생각이 듭니다.