Web Editing WG Meeting, June 9th 2022

09 June 2022


, BoCupp, comandeer, johanneswilm, Megan, Travis, Wenson

Meeting minutes

Zakim: comandeer is Tomasz Jakut

johanneswilm: time to start!
… I removed the Agenda label from items we discussed last month. If there's anything I did in error, let me know.
… One item on Virtual Keyboard issue 17.

Locale Support

github: https://github.com/w3c/virtual-keyboard/issues/17

BoCupp: question: is there an attempt to change the keyboard language using attributes in the webpage?
… feedback from those who are multi-language?

johanneswilm: I'm multi-language.
… super frustrating when keyboard doesn't change...

BoCupp: There context there...it depends on where you're providing input?

johanneswilm: yes, that's also true.

BoCupp: Should we ask for clarifications?

johanneswilm: you can imagine textbox where you need to imput sweedish...
… annoying if you have to manually switch.
… would be nice if the text input with different langs would switch the keyboard automatically.

whsieh: I could see it being used as a hint to present the keyboard appropriate for the specified `lang` value, if the user has added it as an input method. But I can also see how it would be confusing

johanneswilm: could there be a fingerprinting issue? If the site requests a language, and the keyboard has to change size to accommodate?

BoCupp: We do have some existing fingerprinting issues through (keyboard map?) where the key maps an input to an output...
… currently requires permission (prompt?)
… that's the current mitigation.
… keyboard event also has it...
… so I'm not worried too much about it.

whsieh: the fingerprinting vector is primarily the reason WebKit hasn't implemented the keybaord map.

BoCupp: we got educated by the Office team on how keyboard shortcuts works...
… eg., ctrl+a, where 'a' is in a different place on the keyboard.
… can change depending on keyboard map.
… on different keyboards you might get a scan code for 'q' from a key on upper-left corner.
… but that physical key location always has the same scan code (may have a different key label).
… so the OS has to interpret the scan-code to determine the map of where the actual character is.
… so, for Ctrl+A the key depends.

whsieh: I ack that the use case is useful, but the JS is not the only place for a solution.

johanneswilm: even though textfield needs german... 'z' and 'y' are switched. Often users mix these out. Some users have a preference for which they like.
… if the keyboard auto-switches, that might be frustrating for these people.
… we can't reliably tell which keyboard layout should be applied.

BoCupp: propose we seek more info around.
… I'll note a few points in the issue.
… Separately, I might ask the person who educated me (from Office) to come and speak to us? If it might be of help to the group?

<johanneswilm> johannes: even if website communicates language, there are multiple correspondign keyboard layouts

BoCupp: from their perspective (from a web author) "what should I do to see if the user has invoked one of my shortcuts"

whsieh: I suppose we could consider it.
… last discussion was with garyk. That was a while ago.
… I'd be OK to hearing from word/ a productivity app.

Zakim: Wenson is whsieh

johanneswilm: Note, in some languages keyboard shortcuts are different depending on language.
… in Spanish, Ctrl+N (for Ctrl+B)--bold.
… but is different otherwise.
… in other languages.
… Ctrl+N has an interesting history.

Interop 2022

johanneswilm: They are meeting monthly (a week after this meeting).
… mainly for browser developers...
… the rest are not excluded (we can work on tests)
… but are interested in having folks like Apple there.
… Want to know "where are the difficulties"
… (meetings for Interop2022 are 3rd Thursday of the month)
… particularly no one from Apple was there, and their presence was requested :)
… 😃

Two announcements

BoCupp: on the clipboard.
… there's a PR for the Web Clipboard
… as discussed previously.
… sent out on blink-dev and got the 3 LGTMs...
… tests are updated.
… we updated the model in the spec
… went over the details of how to read the clipboard... making progress and we want to land it soon.

<BoCupp> https://github.com/w3c/clipboard-apis/pull/175

BoCupp: second announcement: update to highlight API.
… plan to ship very soon.
… in that case, I think webkit already has a behind-a-flag impl.
… whsieh, when will the flag come off?

megan: it's a combination of the spec getting fixed + having time to do the wokr.

whsieh: Also I want to see the events for highlights...

BoCupp: Oh, that part was split out (to v2)

whsieh: Super. Yes, the flag is there and can be enabled.

BoCupp: there was a plan to limit to same-origin... was there other changes?
… e.g., will you throw typeError if an unknown format is requested?
… other things to add.

whsieh: one missing piece is support for custom formats (in general).
… (support in WebKit)
… yes, we currently throw if unknown format.
… then we need to add support for the web-prefix.

BoCupp: Beyond png, etc. what's the change?

whsieh: If the website (same website) writes "foo" type and reads it back "foo", then it should be allowed (same site)

BoCupp: we were thinking that case would still go into the pickle jar with web-prefix. Would you like to support w/out the web-prefix?
… if so why?
… I thought we settled on just telling the author which source you're trying to read from? If pickled source, then use the web-prefix to read from the web custom format container.

whsieh: then my two items are just one: read from the web-prefix

BoCupp: when can I see it?

whsieh: you know the line--can't comment on future plans.

More clipboard stuff

BoCupp: Some areas MS is likely to focus on next in the clipboard space.
… 1) difficulty of discovering support for the web-prefix (feature detection for web custom formats)
… 2) New capabilities are tied to async clipboard, but that doesn't describe how to transfer files through copy/paste.
… currently accessible through dataTransfer (kind 'file').
… we noted in Safari that one scenario where multiple clipboard items are produced is when files are coming in from the Shell.

whsieh: correct.

whsieh: that's how the system pasteboard works... has compatibility hacks though.

BoCupp: we'd like to get an interp pattern specified (e.g., on MacOS)
… would love to explore how this could work.
… (explains thoughts on how it might work?)

whsieh: preferred-presentation flag is there to help clarify the intent.

BoCupp: This is an area we want to specify.
… 3) intern starting work on "delayed rendering of the clipboard"
… current clipboard supports promises...
… but the dev still needs to wait to write to the clipboard (until the promises are resolved)
… if author is waiting on network, etc.
… But w/delayed write, you can say that the data is going to be available upon request.
… you can do this right away.
… then if the user switches tabs (or similar) and is ready to paste, the app can show a "waiting" and get the data at that point.
… another scenario where the paste requires a round-trip to the server, costs can be deferred (or omitted) if no paste occurs.
… these are motives for looking into that.

4) History/roaming of controls--specifcially around opting-out of roaming the clipboard contents
… (in Windows, Win+C/Win+V has multiple clipboard items that can get roamed).
… some things (like passwords) probably shouldn't be put on the shared clipboard?

whsieh: No platform equiv for clipboard history in Coco. There are extensions for it though.
… Apple "continuity" allows copy on one device, paste on another. We have similar scenarios around wanting to omit some data.
… so we could look into that.

whsieh: Summarize: need to work on web-prefix, Supports, and delayed rendering in that order.

johanneswilm: Any other topics?

RRSAgent publish the minutes

<BoCupp> https://github.com/web-platform-tests/interop-2022-editing/issues/1

<Travis> s/tilgovi, //g

Minutes manually created (not a transcript), formatted by scribe.perl version 185 (Thu Dec 2 18:51:55 2021 UTC).


Succeeded: s/wenson/whsieh

Succeeded 2 times: s/wenson/whsieh/g

Succeeded 2 times: s/Zakim:/\Zakim:/g

Succeeded 1 times: s/bo:/BoCupp:/g

Succeeded 2 times: s/(Apple)//g

Succeeded 2 times: s/Hsieh//g

Failed: s/tilgovi, //g

Succeeded 2 times: s/tilgovi/Travis/g

Maybe present: whsieh