Hi Nicola, The textformatupdate event does not get fired in response to browser spell checking. It's only used for decorations applied by IMEs to give hints to users during composition, e.g. thin/thick underlines for "phrase mode" in Japanese IME. Spell checking for an EditContext depends on how the author builds the view of their Editor. If the author builds with "normal" DOM elements -- <div>, <span>, etc -- the platform will run the spell-checker on these like any other editable elements, drawing the underlines and allowing the user to choose corrections. EditContext will not see any of this, and will only be able to tell at the point that the user has chosen a suggestion, e.g. by listening for beforeinput with event.inputType === "insertReplacementText". So spell-checking will work much like a normal contenteditable div today. If the author uses <canvas>, the platform's native spellcheck will have no way to integrate with the EditContext. By using <canvas>, the author is taking on the responsibility for building out their editor from scratch, including spell-checking if needed by their application. -- Dan
From: Nicola Tommasi <tomma...@chromium.org> Sent: Tuesday, June 27, 2023 1:03 AM To: blink-dev <blink-dev@chromium.org> Cc: Daniel Clark <dan...@microsoft.com>; Yoav Weiss <yoavwe...@chromium.org>; Mike Taylor <miketa...@chromium.org>; blin...@chromium.org <blink-dev@chromium.org>; Joshua Bell <jsb...@chromium.org>; chri...@google.com <chris...@google.com>; Anupam Snigdha <sni...@microsoft.com>; Alex Keng <shih...@microsoft.com>; mt...@google.com <m...@google.com>; Alex Russell <slightly...@chromium.org>; Arthur Sonzogni <arthursonzo...@chromium.org> Subject: Re: [blink-dev] Intent to Experiment: EditContext API Hi, from a privacy perspective we have some concerns regarding the spellchecker section: we enforced in the past the concept that websites should not learn about the user dictionaries [1] and it seems like the spellcheking API proposal could leak those via the textformatupdate event. Was this taken into consideration?Do we have any way to prevent this? [1] https://drafts.csswg.org/css-pseudo-4/#highlight-security Thanks, Nicola On Thursday, June 15, 2023 at 11:31:59 PM UTC dan...@microsoft.com<mailto:dan...@microsoft.com> wrote: Thanks Alex! It looks like crbug.com/1263817<https://bugs.chromium.org/p/chromium/issues/detail?id=1263817> is a good tracking bug for https://github.com/w3c/uievents/issues/202 (which is already linked from there). Since EditContext differs in how these events will fire I think this issue can be resolved separately, but I’ve tagged some folks in on that issue to try to drive some progress. I’ll investigate what can be done to get the tests moved to WPT. From: Alex Russell <slightly...@chromium.org<mailto:slightly...@chromium.org>> Sent: Wednesday, June 14, 2023 8:32 AM To: blink-dev <blink-dev@chromium.org<mailto:blink-dev@chromium.org>> Cc: Yoav Weiss <yoavwe...@chromium.org<mailto:yoavwe...@chromium.org>>; Mike Taylor <miketa...@chromium.org<mailto:miketa...@chromium.org>>; blin...@chromium.org<mailto:blin...@chromium.org> <blink-dev@chromium.org<mailto:blink-dev@chromium.org>>; Joshua Bell <jsb...@chromium.org<mailto:jsb...@chromium.org>>; chri...@google.com<mailto:chri...@google.com> <chris...@google.com<mailto:chris...@google.com>>; Anupam Snigdha <sni...@microsoft.com<mailto:sni...@microsoft.com>>; Alex Keng <shih...@microsoft.com<mailto:shih...@microsoft.com>>; Daniel Clark <dan...@microsoft.com<mailto:dan...@microsoft.com>>; mt...@google.com<mailto:mt...@google.com> <m...@google.com<mailto:m...@google.com>> Subject: Re: [blink-dev] Intent to Experiment: EditContext API LGTM to experiment assuming WPT caveats are addressed. On editing event order, perhaps we can track this separately. Is there a crbug for it? On Tuesday, June 13, 2023 at 9:02:34 PM UTC-7 Yoav Weiss wrote: On Wed, Jun 14, 2023 at 12:03 AM 'Daniel Clark' via blink-dev <blink-dev@chromium.org<mailto:blink-dev@chromium.org>> wrote: > Although in the template this is phrased as a yes/no question, can you say > more about the WPT coverage and limitations? We currently do not have tests in web-platform-tests. There are tests outside the external/wpt folder: third_party/blink/web_tests/editing/input/edit-context.html<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/editing/input/edit-context.html> third_party/blink/web_tests/editing/input/edit-context-dom-mutation.html<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/editing/input/edit-context-dom-mutation.html> I’m going to migrate as much of the contents of these as I can to WPT. This won’t be possible for a lot of the subtests since they rely on primitives like eventSender and textInputController, which aren’t available in WPT. There is also test coverage that still needs to be written for scenarios involving nested editable elements, and I plan to add these as WPTs. Would it be possible to add WebDriver extensions to enable these tests to move over to WPT? +Mathias Bynens<mailto:m...@google.com> - FYI There’s been some work done<https://chromium-review.googlesource.com/c/chromium/src/+/3009937> around adding support for IME testing but my understanding is that more work is needed in order to use this in WPTs. From: Daniel Clark Sent: Tuesday, June 13, 2023 10:42 AM To: Mike Taylor <miketa...@chromium.org<mailto:miketa...@chromium.org>>; blink-dev@chromium.org<mailto:blink-dev@chromium.org> Cc: Chris Harrelson <chris...@google.com<mailto:chris...@google.com>>; Anupam Snigdha <sni...@microsoft.com<mailto:sni...@microsoft.com>>; Alex Keng <shih...@microsoft.com<mailto:shih...@microsoft.com>> Subject: RE: [blink-dev] Intent to Experiment: EditContext API Tentatively M116 - M120 for the trial. From: Mike Taylor <miketa...@chromium.org<mailto:miketa...@chromium.org>> Sent: Tuesday, June 13, 2023 9:24 AM To: Daniel Clark <dan...@microsoft.com<mailto:dan...@microsoft.com>>; blink-dev@chromium.org<mailto:blink-dev@chromium.org> Cc: Chris Harrelson <chris...@google.com<mailto:chris...@google.com>>; Anupam Snigdha <sni...@microsoft.com<mailto:sni...@microsoft.com>>; Alex Keng <shih...@microsoft.com<mailto:shih...@microsoft.com>> Subject: Re: [blink-dev] Intent to Experiment: EditContext API Do you all have a timeline in mind for experimentation? On 6/12/23 7:00 PM, 'Daniel Clark' via blink-dev wrote: Contact emails sni...@microsoft.com<mailto:sni...@microsoft.com>, shih...@microsoft.com<mailto:shih...@microsoft.com>, bemat...@microsoft.com<mailto:bemat...@microsoft.com>, dan...@microsoft.com<mailto:dan...@microsoft.com> Explainer https://github.com/w3c/edit-context/blob/gh-pages/explainer.md Specification https://w3c.github.io/edit-context Design docs https://github.com/w3c/edit-context/blob/gh-pages/dev-design.md Summary The EditContext API simplifies the process of integrating a web app with advanced text input methods such as VK shape-writing, Handwriting panels, speech recognition, IME Compositions etc., improves accessibility and performance, and unlocks new capabilities for web-based editors. Blink component Blink>Editing<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EEditing> Search tags editing<https://chromestatus.com/features#tags:editing>, contenteditable<https://chromestatus.com/features#tags:contenteditable>, input<https://chromestatus.com/features#tags:input>, rawinput<https://chromestatus.com/features#tags:rawinput>, ime<https://chromestatus.com/features#tags:ime> TAG review https://github.com/w3ctag/design-reviews/issues/416 TAG review status Pending Risks Interoperability and Compatibility There are no known interop or compat risks. Gecko: No signal WebKit: No signal It'd be good to file for positions (even if that doesn't block an OT) Web developers: Strongly positive Positive feedback from Word online, Adobe and Figma, Google Docs Other signals: Activation Developers interested in this feature will typically have their own polyfill for text input using hidden textarea or contenteditable elements. Feature detecting and using new API to avoid side effects of previous approaches is intended to be easily adoptable. Do we plan for each property that adopts this to write their own polyfill? Or to split their code paths for supporting and non supporting browsers? WebView application risks None Goals for experimentation We are looking for feedback on the developer ergonomics of using the API and for confirmation that it meets the needs of production web apps for various input modes. This is a complex API, and different developers are expected to use it in different ways. For example, some partners plan to construct the view of their editable region in the subtree of the EditContext-associated element, while other partners plan to keep the EditContext-associated element off-screen while using the EditContext APIs to set the bounds of the editable region. We want to ensure that our design enables all these scenarios and is robust given the wide field of IMEs utilized by different users, which may have subtly different behaviors and event timings. Ongoing technical constraints None Debuggability Existing DevTools functionality should suffice to debug EditContext. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes Is this feature fully tested by web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>? No Flag name --enable-blink-features=EditContext Requires code in //chrome? False Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=999184 Estimated milestones No milestones specified Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5041440373604352 Links to previous Intent discussions I2I: https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/OHqvPx9mFww/m/1za_qdEHDwAJ This intent message was generated by Chrome Platform Status<https://chromestatus.com/>. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org<mailto:blink-dev+unsubscr...@chromium.org>. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SN6PR00MB0448C960D827BFAFE2FD1F2CC554A%40SN6PR00MB0448.namprd00.prod.outlook.com<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SN6PR00MB0448C960D827BFAFE2FD1F2CC554A%40SN6PR00MB0448.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org<mailto:blink-dev+unsubscr...@chromium.org>. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR00MB04395FA5C89C3CAA7066A42CC555A%40DM5PR00MB0439.namprd00.prod.outlook.com<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR00MB04395FA5C89C3CAA7066A42CC555A%40DM5PR00MB0439.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR00MB0439A6AB269414ADB445B080C527A%40DM5PR00MB0439.namprd00.prod.outlook.com.