- From: 河内 隆仁 <kochi@google.com>
- Date: Fri, 18 Oct 2013 17:53:17 +0900
- To: Travis Leithead <travis.leithead@microsoft.com>
- Cc: "garykac@google.com" <garykac@google.com>, "masayuki@d-toybox.com" <masayuki@d-toybox.com>, "www-dom@w3.org" <www-dom@w3.org>, Jianfeng Lin <jianflin@microsoft.com>
- Message-ID: <CADP2=hpytsF2645iivG1=wDV2uLjhZPjXE3KrDVqAbLyPanxvQ@mail.gmail.com>
Hi Travis, I couldn't join the last telcon, due to a conflicting schedule. Replies inlined. On Thu, Oct 17, 2013 at 2:44 AM, Travis Leithead < travis.leithead@microsoft.com> wrote: > Kochi,**** > > ** ** > > On the DOM 3 Events call yesterday, we were reviewing all the issues in > the spec. At this point, were driving toward a publication in time for > TPAC, which only gives us about 1.5 weeks! Many of the issues are just > naming questions about certain key names, but one of the bigger open issues > is about the under-specified locale property.**** > > ** ** > > As a refresher, locale is specified in two places in the current DOM L3 > Spec: KeyboardEvent.locale, and CompositionEvent.locale.**** > > ** ** > > Heres the requirement for KeyboardEvent.locale:**** > > ** ** > > The locale DOMString attribute contains a BCP-47 tag [BCP-47<https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#ref-BCP-47>] > indicating the locale for which the keyboard originating the event is > configured, e.g. "en-US". The locale *MAY* be the empty string<https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#glossary-empty-string>when inapplicable or unknown, e.g. when this information is not exposed by > the underlying platform.**** > > Note**** > > *Note:* locale does not necessarily indicate the locale of the data or > the context in which it is being entered. For example, a French user often > might not switch to an English keyboard setting when typing English, in > which case the locale will still indicate French. Nor can it be used to > definitively calculate the physical or virtual key associated with the > event, or the character printed on that key.**** > > ** ** > > The text for CompositionEvent.locale:**** > > The locale DOMString attribute contains a BCP-47 tag [BCP-47<https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#ref-BCP-47>] > indicating the locale for which the IME originating the event is > configured, e.g. "ja", "zh-Hans", "ko". *MAY* be the empty string<https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#glossary-empty-string>when inapplicable or unknown, e.g. when this information is not exposed by > the underlying platform or application.**** > > Note**** > > *Note:* locale does not necessarily indicate the locale of the data or > the context in which it is being entered. For example, a French user often > might not switch to an English keyboard setting when typing English, in > which case the locale will still indicate French, even though the data is > actually English. Similarly, an IME application could fail to distinguish > between the locale of Chinese and Kanji characters.**** > > The current UI Events spec ( > https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#widl-KeyboardEvent-queryLocale-DOMString) > defines a static KeyboardEvent.queryLocale() which will report the locale > of the configured keyboard. This seems to wholly subsume the use-case for > including KeyboardEvent.locale as a property of the event object. > Furthermore, it can be queried at any time, even when a keyboard event is > not being dispatched. I can imagine some other useful additions we could > make to UI Events in the future, such as events that fire when the keyboard > locale changes. Also, perhaps KeyboardEvent is not the right interface to > put this data. Anyway, all of these questions can be further debated as we > turn our attention to the UI Events spec upon completion of DOM L3 Events. > **** > > ** > Sounds okay to me. As far as I heard, the reasoning of attaching locale attribute to every key event, which may sound a weird place - is a privacy concern; if such information can be obtained without any user's typing (like queryLocale()), it can leak private information of its OS/hardware configuration just by accessing such a page or ads. IMO it's very conservative and I personally don't care much as it's almost the same feeling as leaking screen size and so on, which is already available today, and that typing a key is equivalent to consent that "this browser lets the page know your keyboard locale!" would be hard to understand for everyone, but let's be sure to be warned ;) Probably such concerns, if any, should be addressed by putting it in per-page/site permissions like "allow geolocation on ths page". ** > > Given the above, I dont see any problem with dropping > KeyboardEvent.locale from DOM L3 Events.**** > > ** ** > > The question is what to do about CompositionEvent.locale. Right now, the > active work happening in the W3C related to IMEs and composition, is > happening in the IME API spec ( > https://dvcs.w3.org/hg/ime-api/raw-file/default/Overview.html). There are > already a few interfaces in the IME spec that are good candidates for > merging onto the CompositionEvent interface (see note related to the > interface Composition). I think for the purposes of providing a more > complete description of locale and locating the definition of the > property closer to the scenarios in which it will be used (and also in the > interest of reducing the active issues in DOM L3 Events spec), I propose > that the IME API spec adopt the locale property, and that we remove it > from DOM L3 Events.**** > > ** ** > > For the IME API, this would be as simple as adding a new section that > extends DOM L3 Events CompositionEvent in the form of:**** > > partial interface CompositionEvent {**** > > readonly attribute DOMString locale;**** > > };**** > > ** ** > > The particulars of what this string returns will then need to be more > carefully thought out, since BCP-47 is very wide-open in terms of scope, > and we want to be able to have interoperable implementations of this > property.**** > > ** ** > > How does this proposal sound to you?**** > It sounds reasonable to me, and even adding "keyboard locale changed" event you mentioned above could belong to the IME API. I will work on updating / incorporating it in the IME API spec. Thanks, -- Takayoshi Kochi
Received on Friday, 18 October 2013 08:54:04 UTC