google / blockly

The web-based visual programming editor.
https://developers.google.com/blockly/
Apache License 2.0
12.51k stars 3.72k forks source link

fix: Fix bug that caused text to be selected when long-pressing in the workspace on a touch device. #8670

Open gonfunko opened 9 hours ago

gonfunko commented 9 hours ago

The basics

The details

Resolves

Proposed Changes

This PR sets user-select: none; on the entire injection div, which prevents users from selecting text. We had already had this in place on block text, menus, and toolbox categories, but since e.g. the workspace and blocks themselves did not, long-pressing those items on mobile would also select text (often outside of Blockly) in addition to presenting the context menu. I repro'd this and confirmed the fix on an iPad, but I strongly suspect the two linked issues are the same thing; if folks with an Android and/or ChromeOS touchscreen device could confirm this also resolves the issue there, that would be great, but I'm nearly certain this resolves the problem there as well.

Note that this does not prevent selecting text in text fields, either in blocks or comments. I verified this across Chrome, Safari and Firefox.