Thanks for the feedback. I should have been more clear with the terminology.
Seems navigator.handwriting.{create, query}Recognizer is preferred.
Other APIs also use this pattern (e.g. navigator.usb, navigator.bluetooth, navigator.geolocation).
> Web IDL namespaces
Thanks for Yuki's explanation. Our API can change states (e.g. it needs to create a recognizer in the browser), so Web IDL namespace isn't a good fit.
> Double nesting
I'm a bit hesitant about adding a new global / window scoped object, as it could interfere with existing code (e.g. when JS defines a global handwriting variable by itself). Putting it behind the navigator object is more robust.
Also, handwriting recognition capability is provided (and varies) by the browser, so it would make sense to put it on the navigator object.